@metamask-previews/assets-controller 14.0.2-preview-3e34650c2 → 14.0.2-preview-4f4c98e
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 +5 -0
- package/dist/{AssetsController-method-action-types.d.mts → AssetsController-method-action-types.d.ts} +2 -2
- package/dist/AssetsController-method-action-types.d.ts.map +1 -0
- package/dist/{AssetsController-method-action-types.mjs → AssetsController-method-action-types.js} +1 -1
- package/dist/AssetsController-method-action-types.js.map +1 -0
- package/dist/{AssetsController.d.cts → AssetsController.d.ts} +30 -30
- package/dist/AssetsController.d.ts.map +1 -0
- package/dist/{AssetsController.mjs → AssetsController.js} +28 -29
- package/dist/AssetsController.js.map +1 -0
- package/dist/data-sources/{AbstractDataSource.d.mts → AbstractDataSource.d.ts} +2 -2
- package/dist/data-sources/AbstractDataSource.d.ts.map +1 -0
- package/dist/data-sources/{AbstractDataSource.mjs → AbstractDataSource.js} +1 -1
- package/dist/data-sources/AbstractDataSource.js.map +1 -0
- package/dist/data-sources/{AccountActivityDataSource.d.cts → AccountActivityDataSource.d.ts} +6 -6
- package/dist/data-sources/AccountActivityDataSource.d.ts.map +1 -0
- package/dist/data-sources/{AccountActivityDataSource.mjs → AccountActivityDataSource.js} +11 -11
- package/dist/data-sources/AccountActivityDataSource.js.map +1 -0
- package/dist/data-sources/{AccountsApiDataSource.d.cts → AccountsApiDataSource.d.ts} +7 -7
- package/dist/data-sources/AccountsApiDataSource.d.ts.map +1 -0
- package/dist/data-sources/{AccountsApiDataSource.mjs → AccountsApiDataSource.js} +7 -8
- package/dist/data-sources/AccountsApiDataSource.js.map +1 -0
- package/dist/data-sources/{PriceDataSource.d.cts → PriceDataSource.d.ts} +5 -5
- package/dist/data-sources/PriceDataSource.d.ts.map +1 -0
- package/dist/data-sources/{PriceDataSource.mjs → PriceDataSource.js} +7 -8
- package/dist/data-sources/PriceDataSource.js.map +1 -0
- package/dist/data-sources/{RpcDataSource.d.cts → RpcDataSource.d.ts} +10 -10
- package/dist/data-sources/RpcDataSource.d.ts.map +1 -0
- package/dist/data-sources/{RpcDataSource.mjs → RpcDataSource.js} +11 -11
- package/dist/data-sources/RpcDataSource.js.map +1 -0
- package/dist/data-sources/{SnapDataSource.d.cts → SnapDataSource.d.ts} +8 -8
- package/dist/data-sources/SnapDataSource.d.ts.map +1 -0
- package/dist/data-sources/{SnapDataSource.mjs → SnapDataSource.js} +6 -6
- package/dist/data-sources/SnapDataSource.js.map +1 -0
- package/dist/data-sources/{StakedBalanceDataSource.d.cts → StakedBalanceDataSource.d.ts} +5 -5
- package/dist/data-sources/StakedBalanceDataSource.d.ts.map +1 -0
- package/dist/data-sources/{StakedBalanceDataSource.mjs → StakedBalanceDataSource.js} +7 -7
- package/dist/data-sources/StakedBalanceDataSource.js.map +1 -0
- package/dist/data-sources/{TokenDataSource.d.cts → TokenDataSource.d.ts} +5 -5
- package/dist/data-sources/TokenDataSource.d.ts.map +1 -0
- package/dist/data-sources/{TokenDataSource.mjs → TokenDataSource.js} +7 -8
- package/dist/data-sources/TokenDataSource.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/{MulticallClient.d.cts → MulticallClient.d.ts} +3 -3
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/{MulticallClient.mjs → MulticallClient.js} +5 -5
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/{TokensApiClient.d.cts → TokensApiClient.d.ts} +2 -2
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/{TokensApiClient.mjs → TokensApiClient.js} +2 -2
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/index.d.ts +4 -0
- package/dist/data-sources/evm-rpc-services/clients/index.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/clients/index.js +3 -0
- package/dist/data-sources/evm-rpc-services/clients/index.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/{index.d.cts → index.d.ts} +5 -5
- package/dist/data-sources/evm-rpc-services/index.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/index.js +4 -0
- package/dist/data-sources/evm-rpc-services/index.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{BalanceFetcher.d.cts → BalanceFetcher.d.ts} +11 -11
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{BalanceFetcher.mjs → BalanceFetcher.js} +5 -5
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{StakedBalanceFetcher.d.mts → StakedBalanceFetcher.d.ts} +13 -14
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{StakedBalanceFetcher.mjs → StakedBalanceFetcher.js} +5 -6
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{TokenDetector.d.cts → TokenDetector.d.ts} +12 -12
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{TokenDetector.mjs → TokenDetector.js} +4 -4
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/{index.d.cts → index.d.ts} +4 -4
- package/dist/data-sources/evm-rpc-services/services/index.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/services/index.js +4 -0
- package/dist/data-sources/evm-rpc-services/services/index.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/{assets.d.cts → assets.d.ts} +3 -3
- package/dist/data-sources/evm-rpc-services/types/assets.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/assets.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/assets.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/{config.d.cts → config.d.ts} +2 -2
- package/dist/data-sources/evm-rpc-services/types/config.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/config.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/config.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/{core.d.cts → core.d.ts} +2 -2
- package/dist/data-sources/evm-rpc-services/types/core.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/core.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/core.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/index.d.ts +7 -0
- package/dist/data-sources/evm-rpc-services/types/index.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/index.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/index.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/{multicall.d.cts → multicall.d.ts} +2 -2
- package/dist/data-sources/evm-rpc-services/types/multicall.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/multicall.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/multicall.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/{services.d.cts → services.d.ts} +3 -3
- package/dist/data-sources/evm-rpc-services/types/services.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/services.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/services.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/{state.d.cts → state.d.ts} +2 -2
- package/dist/data-sources/evm-rpc-services/types/state.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/types/state.js +2 -0
- package/dist/data-sources/evm-rpc-services/types/state.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{assets.d.cts → assets.d.ts} +2 -2
- package/dist/data-sources/evm-rpc-services/utils/assets.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{assets.mjs → assets.js} +2 -2
- package/dist/data-sources/evm-rpc-services/utils/assets.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{batch.d.mts → batch.d.ts} +1 -1
- package/dist/data-sources/evm-rpc-services/utils/batch.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{batch.mjs → batch.js} +1 -1
- package/dist/data-sources/evm-rpc-services/utils/batch.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/index.d.ts +4 -0
- package/dist/data-sources/evm-rpc-services/utils/index.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/index.js +4 -0
- package/dist/data-sources/evm-rpc-services/utils/index.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{parsing.d.mts → parsing.d.ts} +3 -3
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{parsing.mjs → parsing.js} +3 -3
- package/dist/data-sources/evm-rpc-services/utils/parsing.js.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{staking-contracts.d.cts → staking-contracts.d.ts} +1 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.ts.map +1 -0
- package/dist/data-sources/evm-rpc-services/utils/{staking-contracts.mjs → staking-contracts.js} +3 -3
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.js.map +1 -0
- package/dist/data-sources/{index.d.cts → index.d.ts} +9 -9
- package/dist/data-sources/index.d.ts.map +1 -0
- package/dist/data-sources/index.js +14 -0
- package/dist/data-sources/index.js.map +1 -0
- package/dist/{defaults.d.mts → defaults.d.ts} +2 -2
- package/dist/defaults.d.ts.map +1 -0
- package/dist/{defaults.mjs → defaults.js} +1 -1
- package/dist/defaults.js.map +1 -0
- package/dist/{errors.d.mts → errors.d.ts} +1 -1
- package/dist/errors.d.ts.map +1 -0
- package/dist/{errors.mjs → errors.js} +1 -1
- package/dist/errors.js.map +1 -0
- package/dist/{index.d.mts → index.d.ts} +26 -26
- package/dist/index.d.ts.map +1 -0
- package/dist/{index.mjs → index.js} +13 -13
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +4 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +4 -0
- package/dist/logger.js.map +1 -0
- package/dist/middlewares/{CustomAssetGraduationMiddleware.d.cts → CustomAssetGraduationMiddleware.d.ts} +2 -2
- package/dist/middlewares/CustomAssetGraduationMiddleware.d.ts.map +1 -0
- package/dist/middlewares/{CustomAssetGraduationMiddleware.mjs → CustomAssetGraduationMiddleware.js} +5 -5
- package/dist/middlewares/CustomAssetGraduationMiddleware.js.map +1 -0
- package/dist/middlewares/{DetectionMiddleware.d.cts → DetectionMiddleware.d.ts} +2 -2
- package/dist/middlewares/DetectionMiddleware.d.ts.map +1 -0
- package/dist/middlewares/{DetectionMiddleware.mjs → DetectionMiddleware.js} +4 -4
- package/dist/middlewares/DetectionMiddleware.js.map +1 -0
- package/dist/middlewares/{ParallelMiddleware.d.cts → ParallelMiddleware.d.ts} +2 -2
- package/dist/middlewares/ParallelMiddleware.d.ts.map +1 -0
- package/dist/middlewares/{ParallelMiddleware.mjs → ParallelMiddleware.js} +2 -9
- package/dist/middlewares/{ParallelMiddleware.mjs.map → ParallelMiddleware.js.map} +1 -1
- package/dist/middlewares/{RpcFallbackMiddleware.d.cts → RpcFallbackMiddleware.d.ts} +2 -2
- package/dist/middlewares/RpcFallbackMiddleware.d.ts.map +1 -0
- package/dist/middlewares/{RpcFallbackMiddleware.mjs → RpcFallbackMiddleware.js} +4 -4
- package/dist/middlewares/RpcFallbackMiddleware.js.map +1 -0
- package/dist/middlewares/index.d.ts +9 -0
- package/dist/middlewares/index.d.ts.map +1 -0
- package/dist/middlewares/index.js +5 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/migrations/{healAssetsInfoMetadata.d.cts → healAssetsInfoMetadata.d.ts} +4 -4
- package/dist/migrations/healAssetsInfoMetadata.d.ts.map +1 -0
- package/dist/migrations/{healAssetsInfoMetadata.mjs → healAssetsInfoMetadata.js} +4 -5
- package/dist/migrations/healAssetsInfoMetadata.js.map +1 -0
- package/dist/selectors/{balance.d.cts → balance.d.ts} +6 -6
- package/dist/selectors/balance.d.ts.map +1 -0
- package/dist/selectors/{balance.mjs → balance.js} +5 -5
- package/dist/selectors/balance.js.map +1 -0
- package/dist/{types.d.mts → types.d.ts} +4 -4
- package/dist/types.d.ts.map +1 -0
- package/dist/{types.mjs → types.js} +1 -1
- package/dist/types.js.map +1 -0
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/{constants.mjs → constants.js} +1 -1
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/{customAssetsRpcSupplement.d.mts → customAssetsRpcSupplement.d.ts} +2 -2
- package/dist/utils/customAssetsRpcSupplement.d.ts.map +1 -0
- package/dist/utils/{customAssetsRpcSupplement.mjs → customAssetsRpcSupplement.js} +2 -2
- package/dist/utils/customAssetsRpcSupplement.js.map +1 -0
- package/dist/utils/{dedupingBatchFetcher.d.cts → dedupingBatchFetcher.d.ts} +1 -1
- package/dist/utils/dedupingBatchFetcher.d.ts.map +1 -0
- package/dist/utils/{dedupingBatchFetcher.mjs → dedupingBatchFetcher.js} +1 -1
- package/dist/utils/dedupingBatchFetcher.js.map +1 -0
- package/dist/utils/{fetchWithTimeout.d.mts → fetchWithTimeout.d.ts} +1 -1
- package/dist/utils/fetchWithTimeout.d.ts.map +1 -0
- package/dist/utils/{fetchWithTimeout.mjs → fetchWithTimeout.js} +1 -1
- package/dist/utils/fetchWithTimeout.js.map +1 -0
- package/dist/utils/{formatExchangeRatesForBridge.d.mts → formatExchangeRatesForBridge.d.ts} +3 -3
- package/dist/utils/formatExchangeRatesForBridge.d.ts.map +1 -0
- package/dist/utils/{formatExchangeRatesForBridge.mjs → formatExchangeRatesForBridge.js} +6 -7
- package/dist/utils/formatExchangeRatesForBridge.js.map +1 -0
- package/dist/utils/{formatStateForTransactionPay.d.cts → formatStateForTransactionPay.d.ts} +3 -3
- package/dist/utils/formatStateForTransactionPay.d.ts.map +1 -0
- package/dist/utils/{formatStateForTransactionPay.mjs → formatStateForTransactionPay.js} +7 -8
- package/dist/utils/formatStateForTransactionPay.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/{native-assets.d.cts → native-assets.d.ts} +2 -2
- package/dist/utils/native-assets.d.ts.map +1 -0
- package/dist/utils/{native-assets.mjs → native-assets.js} +5 -5
- package/dist/utils/native-assets.js.map +1 -0
- package/dist/utils/{normalizeAmountString.d.mts → normalizeAmountString.d.ts} +1 -1
- package/dist/utils/normalizeAmountString.d.ts.map +1 -0
- package/dist/utils/{normalizeAmountString.mjs → normalizeAmountString.js} +2 -2
- package/dist/utils/normalizeAmountString.js.map +1 -0
- package/dist/utils/{normalizeAssetId.d.cts → normalizeAssetId.d.ts} +3 -3
- package/dist/utils/normalizeAssetId.d.ts.map +1 -0
- package/dist/utils/{normalizeAssetId.mjs → normalizeAssetId.js} +4 -11
- package/dist/utils/normalizeAssetId.js.map +1 -0
- package/dist/utils/{snaps-assets-migration.d.mts → snaps-assets-migration.d.ts} +5 -5
- package/dist/utils/snaps-assets-migration.d.ts.map +1 -0
- package/dist/utils/{snaps-assets-migration.mjs → snaps-assets-migration.js} +2 -2
- package/dist/utils/snaps-assets-migration.js.map +1 -0
- package/dist/utils/{trace.d.mts → trace.d.ts} +2 -2
- package/dist/utils/trace.d.ts.map +1 -0
- package/dist/utils/{trace.mjs → trace.js} +1 -1
- package/dist/utils/trace.js.map +1 -0
- package/package.json +15 -18
- package/dist/AssetsController-method-action-types.cjs +0 -7
- package/dist/AssetsController-method-action-types.cjs.map +0 -1
- package/dist/AssetsController-method-action-types.d.cts +0 -181
- package/dist/AssetsController-method-action-types.d.cts.map +0 -1
- package/dist/AssetsController-method-action-types.d.mts.map +0 -1
- package/dist/AssetsController-method-action-types.mjs.map +0 -1
- package/dist/AssetsController.cjs +0 -2559
- package/dist/AssetsController.cjs.map +0 -1
- package/dist/AssetsController.d.cts.map +0 -1
- package/dist/AssetsController.d.mts +0 -395
- package/dist/AssetsController.d.mts.map +0 -1
- package/dist/AssetsController.mjs.map +0 -1
- package/dist/data-sources/AbstractDataSource.cjs +0 -111
- package/dist/data-sources/AbstractDataSource.cjs.map +0 -1
- package/dist/data-sources/AbstractDataSource.d.cts +0 -113
- package/dist/data-sources/AbstractDataSource.d.cts.map +0 -1
- package/dist/data-sources/AbstractDataSource.d.mts.map +0 -1
- package/dist/data-sources/AbstractDataSource.mjs.map +0 -1
- package/dist/data-sources/AccountActivityDataSource.cjs +0 -267
- package/dist/data-sources/AccountActivityDataSource.cjs.map +0 -1
- package/dist/data-sources/AccountActivityDataSource.d.cts.map +0 -1
- package/dist/data-sources/AccountActivityDataSource.d.mts +0 -80
- package/dist/data-sources/AccountActivityDataSource.d.mts.map +0 -1
- package/dist/data-sources/AccountActivityDataSource.mjs.map +0 -1
- package/dist/data-sources/AccountsApiDataSource.cjs +0 -586
- package/dist/data-sources/AccountsApiDataSource.cjs.map +0 -1
- package/dist/data-sources/AccountsApiDataSource.d.cts.map +0 -1
- package/dist/data-sources/AccountsApiDataSource.d.mts +0 -82
- package/dist/data-sources/AccountsApiDataSource.d.mts.map +0 -1
- package/dist/data-sources/AccountsApiDataSource.mjs.map +0 -1
- package/dist/data-sources/PriceDataSource.cjs +0 -466
- package/dist/data-sources/PriceDataSource.cjs.map +0 -1
- package/dist/data-sources/PriceDataSource.d.cts.map +0 -1
- package/dist/data-sources/PriceDataSource.d.mts +0 -100
- package/dist/data-sources/PriceDataSource.d.mts.map +0 -1
- package/dist/data-sources/PriceDataSource.mjs.map +0 -1
- package/dist/data-sources/RpcDataSource.cjs +0 -1021
- package/dist/data-sources/RpcDataSource.cjs.map +0 -1
- package/dist/data-sources/RpcDataSource.d.cts.map +0 -1
- package/dist/data-sources/RpcDataSource.d.mts +0 -174
- package/dist/data-sources/RpcDataSource.d.mts.map +0 -1
- package/dist/data-sources/RpcDataSource.mjs.map +0 -1
- package/dist/data-sources/SnapDataSource.cjs +0 -443
- package/dist/data-sources/SnapDataSource.cjs.map +0 -1
- package/dist/data-sources/SnapDataSource.d.cts.map +0 -1
- package/dist/data-sources/SnapDataSource.d.mts +0 -127
- package/dist/data-sources/SnapDataSource.d.mts.map +0 -1
- package/dist/data-sources/SnapDataSource.mjs.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.cjs +0 -616
- package/dist/data-sources/StakedBalanceDataSource.cjs.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.d.cts.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.d.mts +0 -72
- package/dist/data-sources/StakedBalanceDataSource.d.mts.map +0 -1
- package/dist/data-sources/StakedBalanceDataSource.mjs.map +0 -1
- package/dist/data-sources/TokenDataSource.cjs +0 -583
- package/dist/data-sources/TokenDataSource.cjs.map +0 -1
- package/dist/data-sources/TokenDataSource.d.cts.map +0 -1
- package/dist/data-sources/TokenDataSource.d.mts +0 -81
- package/dist/data-sources/TokenDataSource.d.mts.map +0 -1
- package/dist/data-sources/TokenDataSource.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs +0 -705
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts +0 -65
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.cjs +0 -312
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.mts +0 -61
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/index.cjs +0 -10
- package/dist/data-sources/evm-rpc-services/clients/index.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/index.d.cts +0 -4
- package/dist/data-sources/evm-rpc-services/clients/index.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/index.d.mts +0 -4
- package/dist/data-sources/evm-rpc-services/clients/index.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/clients/index.mjs +0 -3
- package/dist/data-sources/evm-rpc-services/clients/index.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/index.cjs +0 -17
- package/dist/data-sources/evm-rpc-services/index.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/index.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/index.d.mts +0 -5
- package/dist/data-sources/evm-rpc-services/index.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/index.mjs +0 -4
- package/dist/data-sources/evm-rpc-services/index.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs +0 -247
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts +0 -96
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.cjs +0 -132
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.cts +0 -81
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/StakedBalanceFetcher.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.cjs +0 -230
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts +0 -78
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/TokenDetector.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.cjs +0 -13
- package/dist/data-sources/evm-rpc-services/services/index.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.d.mts +0 -4
- package/dist/data-sources/evm-rpc-services/services/index.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/services/index.mjs +0 -4
- package/dist/data-sources/evm-rpc-services/services/index.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/assets.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/assets.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/assets.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/assets.d.mts +0 -53
- package/dist/data-sources/evm-rpc-services/types/assets.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/assets.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/assets.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/config.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/config.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/config.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/config.d.mts +0 -18
- package/dist/data-sources/evm-rpc-services/types/config.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/config.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/config.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/core.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/core.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/core.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/core.d.mts +0 -19
- package/dist/data-sources/evm-rpc-services/types/core.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/core.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/core.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/index.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/index.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/index.d.cts +0 -7
- package/dist/data-sources/evm-rpc-services/types/index.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/index.d.mts +0 -7
- package/dist/data-sources/evm-rpc-services/types/index.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/index.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/index.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/multicall.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/multicall.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/multicall.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/multicall.d.mts +0 -24
- package/dist/data-sources/evm-rpc-services/types/multicall.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/multicall.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/multicall.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/services.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/services.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/services.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/services.d.mts +0 -70
- package/dist/data-sources/evm-rpc-services/types/services.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/services.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/services.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/state.cjs +0 -3
- package/dist/data-sources/evm-rpc-services/types/state.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/state.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/state.d.mts +0 -58
- package/dist/data-sources/evm-rpc-services/types/state.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/types/state.mjs +0 -2
- package/dist/data-sources/evm-rpc-services/types/state.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/assets.cjs +0 -9
- package/dist/data-sources/evm-rpc-services/utils/assets.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/assets.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/assets.d.mts +0 -3
- package/dist/data-sources/evm-rpc-services/utils/assets.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/assets.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/batch.cjs +0 -45
- package/dist/data-sources/evm-rpc-services/utils/batch.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/batch.d.cts +0 -28
- package/dist/data-sources/evm-rpc-services/utils/batch.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/batch.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/batch.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/index.cjs +0 -15
- package/dist/data-sources/evm-rpc-services/utils/index.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/index.d.cts +0 -4
- package/dist/data-sources/evm-rpc-services/utils/index.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/index.d.mts +0 -4
- package/dist/data-sources/evm-rpc-services/utils/index.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/index.mjs +0 -4
- package/dist/data-sources/evm-rpc-services/utils/index.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.cjs +0 -47
- package/dist/data-sources/evm-rpc-services/utils/parsing.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.cts +0 -25
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/parsing.mjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.cjs +0 -68
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.cjs.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.cts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.mts +0 -25
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.d.mts.map +0 -1
- package/dist/data-sources/evm-rpc-services/utils/staking-contracts.mjs.map +0 -1
- package/dist/data-sources/index.cjs +0 -30
- package/dist/data-sources/index.cjs.map +0 -1
- package/dist/data-sources/index.d.cts.map +0 -1
- package/dist/data-sources/index.d.mts +0 -9
- package/dist/data-sources/index.d.mts.map +0 -1
- package/dist/data-sources/index.mjs +0 -14
- package/dist/data-sources/index.mjs.map +0 -1
- package/dist/defaults.cjs +0 -125
- package/dist/defaults.cjs.map +0 -1
- package/dist/defaults.d.cts +0 -50
- package/dist/defaults.d.cts.map +0 -1
- package/dist/defaults.d.mts.map +0 -1
- package/dist/defaults.mjs.map +0 -1
- package/dist/errors.cjs +0 -25
- package/dist/errors.cjs.map +0 -1
- package/dist/errors.d.cts +0 -25
- package/dist/errors.d.cts.map +0 -1
- package/dist/errors.d.mts.map +0 -1
- package/dist/errors.mjs.map +0 -1
- package/dist/index.cjs +0 -67
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -26
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/logger.cjs +0 -7
- package/dist/logger.cjs.map +0 -1
- package/dist/logger.d.cts +0 -5
- package/dist/logger.d.cts.map +0 -1
- package/dist/logger.d.mts +0 -5
- package/dist/logger.d.mts.map +0 -1
- package/dist/logger.mjs +0 -4
- package/dist/logger.mjs.map +0 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.cjs +0 -132
- package/dist/middlewares/CustomAssetGraduationMiddleware.cjs.map +0 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.d.cts.map +0 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.d.mts +0 -32
- package/dist/middlewares/CustomAssetGraduationMiddleware.d.mts.map +0 -1
- package/dist/middlewares/CustomAssetGraduationMiddleware.mjs.map +0 -1
- package/dist/middlewares/DetectionMiddleware.cjs +0 -154
- package/dist/middlewares/DetectionMiddleware.cjs.map +0 -1
- package/dist/middlewares/DetectionMiddleware.d.cts.map +0 -1
- package/dist/middlewares/DetectionMiddleware.d.mts +0 -40
- package/dist/middlewares/DetectionMiddleware.d.mts.map +0 -1
- package/dist/middlewares/DetectionMiddleware.mjs.map +0 -1
- package/dist/middlewares/ParallelMiddleware.cjs +0 -263
- package/dist/middlewares/ParallelMiddleware.cjs.map +0 -1
- package/dist/middlewares/ParallelMiddleware.d.cts.map +0 -1
- package/dist/middlewares/ParallelMiddleware.d.mts +0 -41
- package/dist/middlewares/ParallelMiddleware.d.mts.map +0 -1
- package/dist/middlewares/RpcFallbackMiddleware.cjs +0 -90
- package/dist/middlewares/RpcFallbackMiddleware.cjs.map +0 -1
- package/dist/middlewares/RpcFallbackMiddleware.d.cts.map +0 -1
- package/dist/middlewares/RpcFallbackMiddleware.d.mts +0 -23
- package/dist/middlewares/RpcFallbackMiddleware.d.mts.map +0 -1
- package/dist/middlewares/RpcFallbackMiddleware.mjs.map +0 -1
- package/dist/middlewares/index.cjs +0 -14
- package/dist/middlewares/index.cjs.map +0 -1
- package/dist/middlewares/index.d.cts +0 -9
- package/dist/middlewares/index.d.cts.map +0 -1
- package/dist/middlewares/index.d.mts +0 -9
- package/dist/middlewares/index.d.mts.map +0 -1
- package/dist/middlewares/index.mjs +0 -5
- package/dist/middlewares/index.mjs.map +0 -1
- package/dist/migrations/healAssetsInfoMetadata.cjs +0 -385
- package/dist/migrations/healAssetsInfoMetadata.cjs.map +0 -1
- package/dist/migrations/healAssetsInfoMetadata.d.cts.map +0 -1
- package/dist/migrations/healAssetsInfoMetadata.d.mts +0 -106
- package/dist/migrations/healAssetsInfoMetadata.d.mts.map +0 -1
- package/dist/migrations/healAssetsInfoMetadata.mjs.map +0 -1
- package/dist/selectors/balance.cjs +0 -532
- package/dist/selectors/balance.cjs.map +0 -1
- package/dist/selectors/balance.d.cts.map +0 -1
- package/dist/selectors/balance.d.mts +0 -103
- package/dist/selectors/balance.d.mts.map +0 -1
- package/dist/selectors/balance.mjs.map +0 -1
- package/dist/types.cjs +0 -39
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.cts +0 -533
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.mts.map +0 -1
- package/dist/types.mjs.map +0 -1
- package/dist/utils/constants.cjs +0 -5
- package/dist/utils/constants.cjs.map +0 -1
- package/dist/utils/constants.d.cts +0 -2
- package/dist/utils/constants.d.cts.map +0 -1
- package/dist/utils/constants.d.mts +0 -2
- package/dist/utils/constants.d.mts.map +0 -1
- package/dist/utils/constants.mjs.map +0 -1
- package/dist/utils/customAssetsRpcSupplement.cjs +0 -72
- package/dist/utils/customAssetsRpcSupplement.cjs.map +0 -1
- package/dist/utils/customAssetsRpcSupplement.d.cts +0 -60
- package/dist/utils/customAssetsRpcSupplement.d.cts.map +0 -1
- package/dist/utils/customAssetsRpcSupplement.d.mts.map +0 -1
- package/dist/utils/customAssetsRpcSupplement.mjs.map +0 -1
- package/dist/utils/dedupingBatchFetcher.cjs +0 -168
- package/dist/utils/dedupingBatchFetcher.cjs.map +0 -1
- package/dist/utils/dedupingBatchFetcher.d.cts.map +0 -1
- package/dist/utils/dedupingBatchFetcher.d.mts +0 -72
- package/dist/utils/dedupingBatchFetcher.d.mts.map +0 -1
- package/dist/utils/dedupingBatchFetcher.mjs.map +0 -1
- package/dist/utils/fetchWithTimeout.cjs +0 -30
- package/dist/utils/fetchWithTimeout.cjs.map +0 -1
- package/dist/utils/fetchWithTimeout.d.cts +0 -11
- package/dist/utils/fetchWithTimeout.d.cts.map +0 -1
- package/dist/utils/fetchWithTimeout.d.mts.map +0 -1
- package/dist/utils/fetchWithTimeout.mjs.map +0 -1
- package/dist/utils/formatExchangeRatesForBridge.cjs +0 -161
- package/dist/utils/formatExchangeRatesForBridge.cjs.map +0 -1
- package/dist/utils/formatExchangeRatesForBridge.d.cts +0 -43
- package/dist/utils/formatExchangeRatesForBridge.d.cts.map +0 -1
- package/dist/utils/formatExchangeRatesForBridge.d.mts.map +0 -1
- package/dist/utils/formatExchangeRatesForBridge.mjs.map +0 -1
- package/dist/utils/formatStateForTransactionPay.cjs +0 -174
- package/dist/utils/formatStateForTransactionPay.cjs.map +0 -1
- package/dist/utils/formatStateForTransactionPay.d.cts.map +0 -1
- package/dist/utils/formatStateForTransactionPay.d.mts +0 -72
- package/dist/utils/formatStateForTransactionPay.d.mts.map +0 -1
- package/dist/utils/formatStateForTransactionPay.mjs.map +0 -1
- package/dist/utils/index.cjs +0 -21
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.d.cts +0 -9
- package/dist/utils/index.d.cts.map +0 -1
- package/dist/utils/index.d.mts +0 -9
- package/dist/utils/index.d.mts.map +0 -1
- package/dist/utils/index.mjs +0 -7
- package/dist/utils/index.mjs.map +0 -1
- package/dist/utils/native-assets.cjs +0 -64
- package/dist/utils/native-assets.cjs.map +0 -1
- package/dist/utils/native-assets.d.cts.map +0 -1
- package/dist/utils/native-assets.d.mts +0 -19
- package/dist/utils/native-assets.d.mts.map +0 -1
- package/dist/utils/native-assets.mjs.map +0 -1
- package/dist/utils/normalizeAmountString.cjs +0 -64
- package/dist/utils/normalizeAmountString.cjs.map +0 -1
- package/dist/utils/normalizeAmountString.d.cts +0 -35
- package/dist/utils/normalizeAmountString.d.cts.map +0 -1
- package/dist/utils/normalizeAmountString.d.mts.map +0 -1
- package/dist/utils/normalizeAmountString.mjs.map +0 -1
- package/dist/utils/normalizeAssetId.cjs +0 -60
- package/dist/utils/normalizeAssetId.cjs.map +0 -1
- package/dist/utils/normalizeAssetId.d.cts.map +0 -1
- package/dist/utils/normalizeAssetId.d.mts +0 -32
- package/dist/utils/normalizeAssetId.d.mts.map +0 -1
- package/dist/utils/normalizeAssetId.mjs.map +0 -1
- package/dist/utils/snaps-assets-migration.cjs +0 -171
- package/dist/utils/snaps-assets-migration.cjs.map +0 -1
- package/dist/utils/snaps-assets-migration.d.cts +0 -113
- package/dist/utils/snaps-assets-migration.d.cts.map +0 -1
- package/dist/utils/snaps-assets-migration.d.mts.map +0 -1
- package/dist/utils/snaps-assets-migration.mjs.map +0 -1
- package/dist/utils/trace.cjs +0 -120
- package/dist/utils/trace.cjs.map +0 -1
- package/dist/utils/trace.d.cts +0 -52
- package/dist/utils/trace.d.cts.map +0 -1
- package/dist/utils/trace.d.mts.map +0 -1
- package/dist/utils/trace.mjs.map +0 -1
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _RpcFallbackMiddleware_rpcDataSource;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.RpcFallbackMiddleware = void 0;
|
|
16
|
-
const logger_js_1 = require("../logger.cjs");
|
|
17
|
-
const types_js_1 = require("../types.cjs");
|
|
18
|
-
const ParallelMiddleware_js_1 = require("./ParallelMiddleware.cjs");
|
|
19
|
-
const CONTROLLER_NAME = 'RpcFallbackMiddleware';
|
|
20
|
-
const log = (0, logger_js_1.createModuleLogger)(logger_js_1.projectLogger, CONTROLLER_NAME);
|
|
21
|
-
/**
|
|
22
|
-
* RpcFallbackMiddleware retries chains that failed upstream on the RPC data
|
|
23
|
-
* source. Any chain present in `response.errors` (network error,
|
|
24
|
-
* unprocessedNetworks, timeout, …) is handed off to RPC with the request
|
|
25
|
-
* filtered to just those chains. Successful RPC results are merged into the
|
|
26
|
-
* response and their entries are cleared from `response.errors`.
|
|
27
|
-
*
|
|
28
|
-
* Place this immediately after `createParallelBalanceMiddleware` in the fast
|
|
29
|
-
* pipeline.
|
|
30
|
-
*/
|
|
31
|
-
class RpcFallbackMiddleware {
|
|
32
|
-
constructor(options) {
|
|
33
|
-
this.name = CONTROLLER_NAME;
|
|
34
|
-
_RpcFallbackMiddleware_rpcDataSource.set(this, void 0);
|
|
35
|
-
__classPrivateFieldSet(this, _RpcFallbackMiddleware_rpcDataSource, options.rpcDataSource, "f");
|
|
36
|
-
}
|
|
37
|
-
getName() {
|
|
38
|
-
return this.name;
|
|
39
|
-
}
|
|
40
|
-
get assetsMiddleware() {
|
|
41
|
-
return (0, types_js_1.forDataTypes)(['balance'], async (ctx, next) => {
|
|
42
|
-
const erroredChains = new Set(Object.keys(ctx.response.errors ?? {}));
|
|
43
|
-
if (erroredChains.size === 0) {
|
|
44
|
-
return next(ctx);
|
|
45
|
-
}
|
|
46
|
-
log('Retrying failed chains on RPC', {
|
|
47
|
-
chains: [...erroredChains],
|
|
48
|
-
});
|
|
49
|
-
const filteredRequest = {
|
|
50
|
-
...ctx.request,
|
|
51
|
-
chainIds: ctx.request.chainIds.filter((id) => erroredChains.has(id)),
|
|
52
|
-
};
|
|
53
|
-
const noopNext = async (inner) => inner;
|
|
54
|
-
const rpcResult = await __classPrivateFieldGet(this, _RpcFallbackMiddleware_rpcDataSource, "f").assetsMiddleware({
|
|
55
|
-
...ctx,
|
|
56
|
-
request: filteredRequest,
|
|
57
|
-
response: {},
|
|
58
|
-
}, noopNext);
|
|
59
|
-
const merged = (0, ParallelMiddleware_js_1.mergeDataResponses)([
|
|
60
|
-
ctx.response,
|
|
61
|
-
rpcResult.response,
|
|
62
|
-
]);
|
|
63
|
-
// Clear errors only for chains RPC actually recovered a balance for.
|
|
64
|
-
// We must inspect rpcResult.response — NOT merged — because merged
|
|
65
|
-
// also contains balances from the upstream sources (AccountsApi /
|
|
66
|
-
// Websocket / Staked). If those sources returned partial data for
|
|
67
|
-
// a chain that they also flagged as errored (e.g. via
|
|
68
|
-
// unprocessedNetworks), and RPC then failed for that same chain,
|
|
69
|
-
// looking at merged would incorrectly mark the error as recovered.
|
|
70
|
-
const rpcAssetsBalance = rpcResult.response.assetsBalance;
|
|
71
|
-
if (merged.errors && rpcAssetsBalance) {
|
|
72
|
-
const chainsRecoveredByRpc = new Set();
|
|
73
|
-
for (const accountBalances of Object.values(rpcAssetsBalance)) {
|
|
74
|
-
for (const assetId of Object.keys(accountBalances)) {
|
|
75
|
-
chainsRecoveredByRpc.add(assetId.split('/')[0]);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
for (const chainId of erroredChains) {
|
|
79
|
-
if (chainsRecoveredByRpc.has(chainId)) {
|
|
80
|
-
delete merged.errors[chainId];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return next({ ...ctx, response: merged });
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.RpcFallbackMiddleware = RpcFallbackMiddleware;
|
|
89
|
-
_RpcFallbackMiddleware_rpcDataSource = new WeakMap();
|
|
90
|
-
//# sourceMappingURL=RpcFallbackMiddleware.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RpcFallbackMiddleware.cjs","sourceRoot":"","sources":["../../src/middlewares/RpcFallbackMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAiE;AACjE,2CAA2C;AAO3C,oEAA6D;AAE7D,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD,MAAM,GAAG,GAAG,IAAA,8BAAkB,EAAC,yBAAa,EAAE,eAAe,CAAC,CAAC;AAO/D;;;;;;;;;GASG;AACH,MAAa,qBAAqB;IAKhC,YAAY,OAAqC;QAJxC,SAAI,GAAG,eAAe,CAAC;QAEvB,uDAAiC;QAGxC,uBAAA,IAAI,wCAAkB,OAAO,CAAC,aAAa,MAAA,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAA,uBAAY,EAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAc,CACpD,CAAC;YACF,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,GAAG,CAAC,+BAA+B,EAAE;gBACnC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG;gBACtB,GAAG,GAAG,CAAC,OAAO;gBACd,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACrE,CAAC;YAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAiB,EAAuB,EAAE,CAAC,KAAK,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,uBAAA,IAAI,4CAAe,CAAC,gBAAgB,CAC1D;gBACE,GAAG,GAAG;gBACN,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,EAAE;aACb,EACD,QAAQ,CACT,CAAC;YAEF,MAAM,MAAM,GAAiB,IAAA,0CAAkB,EAAC;gBAC9C,GAAG,CAAC,QAAQ;gBACZ,SAAS,CAAC,QAAQ;aACnB,CAAC,CAAC;YAEH,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,kEAAkE;YAClE,sDAAsD;YACtD,iEAAiE;YACjE,mEAAmE;YACnE,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1D,IAAI,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBACtC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/C,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;wBACnD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;oBACpC,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvED,sDAuEC","sourcesContent":["import { projectLogger, createModuleLogger } from '../logger.js';\nimport { forDataTypes } from '../types.js';\nimport type {\n AssetsDataSource,\n ChainId,\n DataResponse,\n Middleware,\n} from '../types.js';\nimport { mergeDataResponses } from './ParallelMiddleware.js';\n\nconst CONTROLLER_NAME = 'RpcFallbackMiddleware';\n\nconst log = createModuleLogger(projectLogger, CONTROLLER_NAME);\n\nexport type RpcFallbackMiddlewareOptions = {\n /** The RPC data source to use as a fallback. */\n rpcDataSource: AssetsDataSource;\n};\n\n/**\n * RpcFallbackMiddleware retries chains that failed upstream on the RPC data\n * source. Any chain present in `response.errors` (network error,\n * unprocessedNetworks, timeout, …) is handed off to RPC with the request\n * filtered to just those chains. Successful RPC results are merged into the\n * response and their entries are cleared from `response.errors`.\n *\n * Place this immediately after `createParallelBalanceMiddleware` in the fast\n * pipeline.\n */\nexport class RpcFallbackMiddleware {\n readonly name = CONTROLLER_NAME;\n\n readonly #rpcDataSource: AssetsDataSource;\n\n constructor(options: RpcFallbackMiddlewareOptions) {\n this.#rpcDataSource = options.rpcDataSource;\n }\n\n getName(): string {\n return this.name;\n }\n\n get assetsMiddleware(): Middleware {\n return forDataTypes(['balance'], async (ctx, next) => {\n const erroredChains = new Set<ChainId>(\n Object.keys(ctx.response.errors ?? {}) as ChainId[],\n );\n if (erroredChains.size === 0) {\n return next(ctx);\n }\n\n log('Retrying failed chains on RPC', {\n chains: [...erroredChains],\n });\n\n const filteredRequest = {\n ...ctx.request,\n chainIds: ctx.request.chainIds.filter((id) => erroredChains.has(id)),\n };\n\n const noopNext = async (inner: typeof ctx): Promise<typeof ctx> => inner;\n const rpcResult = await this.#rpcDataSource.assetsMiddleware(\n {\n ...ctx,\n request: filteredRequest,\n response: {},\n },\n noopNext,\n );\n\n const merged: DataResponse = mergeDataResponses([\n ctx.response,\n rpcResult.response,\n ]);\n\n // Clear errors only for chains RPC actually recovered a balance for.\n // We must inspect rpcResult.response — NOT merged — because merged\n // also contains balances from the upstream sources (AccountsApi /\n // Websocket / Staked). If those sources returned partial data for\n // a chain that they also flagged as errored (e.g. via\n // unprocessedNetworks), and RPC then failed for that same chain,\n // looking at merged would incorrectly mark the error as recovered.\n const rpcAssetsBalance = rpcResult.response.assetsBalance;\n if (merged.errors && rpcAssetsBalance) {\n const chainsRecoveredByRpc = new Set<string>();\n for (const accountBalances of Object.values(rpcAssetsBalance)) {\n for (const assetId of Object.keys(accountBalances)) {\n chainsRecoveredByRpc.add(assetId.split('/')[0]);\n }\n }\n for (const chainId of erroredChains) {\n if (chainsRecoveredByRpc.has(chainId)) {\n delete merged.errors[chainId];\n }\n }\n }\n\n return next({ ...ctx, response: merged });\n });\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RpcFallbackMiddleware.d.cts","sourceRoot":"","sources":["../../src/middlewares/RpcFallbackMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAGhB,UAAU,EACX,qBAAoB;AAOrB,MAAM,MAAM,4BAA4B,GAAG;IACzC,gDAAgD;IAChD,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;;IAChC,QAAQ,CAAC,IAAI,2BAAmB;gBAIpB,OAAO,EAAE,4BAA4B;IAIjD,OAAO,IAAI,MAAM;IAIjB,IAAI,gBAAgB,IAAI,UAAU,CAyDjC;CACF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { AssetsDataSource, Middleware } from "../types.mjs";
|
|
2
|
-
export type RpcFallbackMiddlewareOptions = {
|
|
3
|
-
/** The RPC data source to use as a fallback. */
|
|
4
|
-
rpcDataSource: AssetsDataSource;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* RpcFallbackMiddleware retries chains that failed upstream on the RPC data
|
|
8
|
-
* source. Any chain present in `response.errors` (network error,
|
|
9
|
-
* unprocessedNetworks, timeout, …) is handed off to RPC with the request
|
|
10
|
-
* filtered to just those chains. Successful RPC results are merged into the
|
|
11
|
-
* response and their entries are cleared from `response.errors`.
|
|
12
|
-
*
|
|
13
|
-
* Place this immediately after `createParallelBalanceMiddleware` in the fast
|
|
14
|
-
* pipeline.
|
|
15
|
-
*/
|
|
16
|
-
export declare class RpcFallbackMiddleware {
|
|
17
|
-
#private;
|
|
18
|
-
readonly name = "RpcFallbackMiddleware";
|
|
19
|
-
constructor(options: RpcFallbackMiddlewareOptions);
|
|
20
|
-
getName(): string;
|
|
21
|
-
get assetsMiddleware(): Middleware;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=RpcFallbackMiddleware.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RpcFallbackMiddleware.d.mts","sourceRoot":"","sources":["../../src/middlewares/RpcFallbackMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAGhB,UAAU,EACX,qBAAoB;AAOrB,MAAM,MAAM,4BAA4B,GAAG;IACzC,gDAAgD;IAChD,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;;IAChC,QAAQ,CAAC,IAAI,2BAAmB;gBAIpB,OAAO,EAAE,4BAA4B;IAIjD,OAAO,IAAI,MAAM;IAIjB,IAAI,gBAAgB,IAAI,UAAU,CAyDjC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RpcFallbackMiddleware.mjs","sourceRoot":"","sources":["../../src/middlewares/RpcFallbackMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAqB;AACjE,OAAO,EAAE,YAAY,EAAE,qBAAoB;AAO3C,OAAO,EAAE,kBAAkB,EAAE,iCAAgC;AAE7D,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAO/D;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IAKhC,YAAY,OAAqC;QAJxC,SAAI,GAAG,eAAe,CAAC;QAEvB,uDAAiC;QAGxC,uBAAA,IAAI,wCAAkB,OAAO,CAAC,aAAa,MAAA,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAc,CACpD,CAAC;YACF,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,GAAG,CAAC,+BAA+B,EAAE;gBACnC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG;gBACtB,GAAG,GAAG,CAAC,OAAO;gBACd,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACrE,CAAC;YAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAiB,EAAuB,EAAE,CAAC,KAAK,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,uBAAA,IAAI,4CAAe,CAAC,gBAAgB,CAC1D;gBACE,GAAG,GAAG;gBACN,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,EAAE;aACb,EACD,QAAQ,CACT,CAAC;YAEF,MAAM,MAAM,GAAiB,kBAAkB,CAAC;gBAC9C,GAAG,CAAC,QAAQ;gBACZ,SAAS,CAAC,QAAQ;aACnB,CAAC,CAAC;YAEH,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,kEAAkE;YAClE,sDAAsD;YACtD,iEAAiE;YACjE,mEAAmE;YACnE,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1D,IAAI,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBACtC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/C,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;wBACnD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;oBACpC,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { projectLogger, createModuleLogger } from '../logger.js';\nimport { forDataTypes } from '../types.js';\nimport type {\n AssetsDataSource,\n ChainId,\n DataResponse,\n Middleware,\n} from '../types.js';\nimport { mergeDataResponses } from './ParallelMiddleware.js';\n\nconst CONTROLLER_NAME = 'RpcFallbackMiddleware';\n\nconst log = createModuleLogger(projectLogger, CONTROLLER_NAME);\n\nexport type RpcFallbackMiddlewareOptions = {\n /** The RPC data source to use as a fallback. */\n rpcDataSource: AssetsDataSource;\n};\n\n/**\n * RpcFallbackMiddleware retries chains that failed upstream on the RPC data\n * source. Any chain present in `response.errors` (network error,\n * unprocessedNetworks, timeout, …) is handed off to RPC with the request\n * filtered to just those chains. Successful RPC results are merged into the\n * response and their entries are cleared from `response.errors`.\n *\n * Place this immediately after `createParallelBalanceMiddleware` in the fast\n * pipeline.\n */\nexport class RpcFallbackMiddleware {\n readonly name = CONTROLLER_NAME;\n\n readonly #rpcDataSource: AssetsDataSource;\n\n constructor(options: RpcFallbackMiddlewareOptions) {\n this.#rpcDataSource = options.rpcDataSource;\n }\n\n getName(): string {\n return this.name;\n }\n\n get assetsMiddleware(): Middleware {\n return forDataTypes(['balance'], async (ctx, next) => {\n const erroredChains = new Set<ChainId>(\n Object.keys(ctx.response.errors ?? {}) as ChainId[],\n );\n if (erroredChains.size === 0) {\n return next(ctx);\n }\n\n log('Retrying failed chains on RPC', {\n chains: [...erroredChains],\n });\n\n const filteredRequest = {\n ...ctx.request,\n chainIds: ctx.request.chainIds.filter((id) => erroredChains.has(id)),\n };\n\n const noopNext = async (inner: typeof ctx): Promise<typeof ctx> => inner;\n const rpcResult = await this.#rpcDataSource.assetsMiddleware(\n {\n ...ctx,\n request: filteredRequest,\n response: {},\n },\n noopNext,\n );\n\n const merged: DataResponse = mergeDataResponses([\n ctx.response,\n rpcResult.response,\n ]);\n\n // Clear errors only for chains RPC actually recovered a balance for.\n // We must inspect rpcResult.response — NOT merged — because merged\n // also contains balances from the upstream sources (AccountsApi /\n // Websocket / Staked). If those sources returned partial data for\n // a chain that they also flagged as errored (e.g. via\n // unprocessedNetworks), and RPC then failed for that same chain,\n // looking at merged would incorrectly mark the error as recovered.\n const rpcAssetsBalance = rpcResult.response.assetsBalance;\n if (merged.errors && rpcAssetsBalance) {\n const chainsRecoveredByRpc = new Set<string>();\n for (const accountBalances of Object.values(rpcAssetsBalance)) {\n for (const assetId of Object.keys(accountBalances)) {\n chainsRecoveredByRpc.add(assetId.split('/')[0]);\n }\n }\n for (const chainId of erroredChains) {\n if (chainsRecoveredByRpc.has(chainId)) {\n delete merged.errors[chainId];\n }\n }\n }\n\n return next({ ...ctx, response: merged });\n });\n }\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mergeDataResponses = exports.createParallelMiddleware = exports.createParallelBalanceMiddleware = exports.RpcFallbackMiddleware = exports.DetectionMiddleware = exports.CustomAssetGraduationMiddleware = void 0;
|
|
4
|
-
var CustomAssetGraduationMiddleware_js_1 = require("./CustomAssetGraduationMiddleware.cjs");
|
|
5
|
-
Object.defineProperty(exports, "CustomAssetGraduationMiddleware", { enumerable: true, get: function () { return CustomAssetGraduationMiddleware_js_1.CustomAssetGraduationMiddleware; } });
|
|
6
|
-
var DetectionMiddleware_js_1 = require("./DetectionMiddleware.cjs");
|
|
7
|
-
Object.defineProperty(exports, "DetectionMiddleware", { enumerable: true, get: function () { return DetectionMiddleware_js_1.DetectionMiddleware; } });
|
|
8
|
-
var RpcFallbackMiddleware_js_1 = require("./RpcFallbackMiddleware.cjs");
|
|
9
|
-
Object.defineProperty(exports, "RpcFallbackMiddleware", { enumerable: true, get: function () { return RpcFallbackMiddleware_js_1.RpcFallbackMiddleware; } });
|
|
10
|
-
var ParallelMiddleware_js_1 = require("./ParallelMiddleware.cjs");
|
|
11
|
-
Object.defineProperty(exports, "createParallelBalanceMiddleware", { enumerable: true, get: function () { return ParallelMiddleware_js_1.createParallelBalanceMiddleware; } });
|
|
12
|
-
Object.defineProperty(exports, "createParallelMiddleware", { enumerable: true, get: function () { return ParallelMiddleware_js_1.createParallelMiddleware; } });
|
|
13
|
-
Object.defineProperty(exports, "mergeDataResponses", { enumerable: true, get: function () { return ParallelMiddleware_js_1.mergeDataResponses; } });
|
|
14
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":";;;AAAA,4FAAuF;AAA9E,qJAAA,+BAA+B,OAAA;AAExC,oEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAC5B,wEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAE9B,kEAIiC;AAH/B,wIAAA,+BAA+B,OAAA;AAC/B,iIAAA,wBAAwB,OAAA;AACxB,2HAAA,kBAAkB,OAAA","sourcesContent":["export { CustomAssetGraduationMiddleware } from './CustomAssetGraduationMiddleware.js';\nexport type { CustomAssetGraduationMiddlewareOptions } from './CustomAssetGraduationMiddleware.js';\nexport { DetectionMiddleware } from './DetectionMiddleware.js';\nexport { RpcFallbackMiddleware } from './RpcFallbackMiddleware.js';\nexport type { RpcFallbackMiddlewareOptions } from './RpcFallbackMiddleware.js';\nexport {\n createParallelBalanceMiddleware,\n createParallelMiddleware,\n mergeDataResponses,\n} from './ParallelMiddleware.js';\nexport type { BalanceSource } from './ParallelMiddleware.js';\nexport type { AssetsDataSource } from '../types.js';\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { CustomAssetGraduationMiddleware } from "./CustomAssetGraduationMiddleware.cjs";
|
|
2
|
-
export type { CustomAssetGraduationMiddlewareOptions } from "./CustomAssetGraduationMiddleware.cjs";
|
|
3
|
-
export { DetectionMiddleware } from "./DetectionMiddleware.cjs";
|
|
4
|
-
export { RpcFallbackMiddleware } from "./RpcFallbackMiddleware.cjs";
|
|
5
|
-
export type { RpcFallbackMiddlewareOptions } from "./RpcFallbackMiddleware.cjs";
|
|
6
|
-
export { createParallelBalanceMiddleware, createParallelMiddleware, mergeDataResponses, } from "./ParallelMiddleware.cjs";
|
|
7
|
-
export type { BalanceSource } from "./ParallelMiddleware.cjs";
|
|
8
|
-
export type { AssetsDataSource } from "../types.cjs";
|
|
9
|
-
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,8CAA6C;AACvF,YAAY,EAAE,sCAAsC,EAAE,8CAA6C;AACnG,OAAO,EAAE,mBAAmB,EAAE,kCAAiC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,oCAAmC;AACnE,YAAY,EAAE,4BAA4B,EAAE,oCAAmC;AAC/E,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,GACnB,iCAAgC;AACjC,YAAY,EAAE,aAAa,EAAE,iCAAgC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,qBAAoB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { CustomAssetGraduationMiddleware } from "./CustomAssetGraduationMiddleware.mjs";
|
|
2
|
-
export type { CustomAssetGraduationMiddlewareOptions } from "./CustomAssetGraduationMiddleware.mjs";
|
|
3
|
-
export { DetectionMiddleware } from "./DetectionMiddleware.mjs";
|
|
4
|
-
export { RpcFallbackMiddleware } from "./RpcFallbackMiddleware.mjs";
|
|
5
|
-
export type { RpcFallbackMiddlewareOptions } from "./RpcFallbackMiddleware.mjs";
|
|
6
|
-
export { createParallelBalanceMiddleware, createParallelMiddleware, mergeDataResponses, } from "./ParallelMiddleware.mjs";
|
|
7
|
-
export type { BalanceSource } from "./ParallelMiddleware.mjs";
|
|
8
|
-
export type { AssetsDataSource } from "../types.mjs";
|
|
9
|
-
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,8CAA6C;AACvF,YAAY,EAAE,sCAAsC,EAAE,8CAA6C;AACnG,OAAO,EAAE,mBAAmB,EAAE,kCAAiC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,oCAAmC;AACnE,YAAY,EAAE,4BAA4B,EAAE,oCAAmC;AAC/E,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,GACnB,iCAAgC;AACjC,YAAY,EAAE,aAAa,EAAE,iCAAgC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,qBAAoB"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { CustomAssetGraduationMiddleware } from "./CustomAssetGraduationMiddleware.mjs";
|
|
2
|
-
export { DetectionMiddleware } from "./DetectionMiddleware.mjs";
|
|
3
|
-
export { RpcFallbackMiddleware } from "./RpcFallbackMiddleware.mjs";
|
|
4
|
-
export { createParallelBalanceMiddleware, createParallelMiddleware, mergeDataResponses } from "./ParallelMiddleware.mjs";
|
|
5
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,8CAA6C;AAEvF,OAAO,EAAE,mBAAmB,EAAE,kCAAiC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,oCAAmC;AAEnE,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,EACnB,iCAAgC","sourcesContent":["export { CustomAssetGraduationMiddleware } from './CustomAssetGraduationMiddleware.js';\nexport type { CustomAssetGraduationMiddlewareOptions } from './CustomAssetGraduationMiddleware.js';\nexport { DetectionMiddleware } from './DetectionMiddleware.js';\nexport { RpcFallbackMiddleware } from './RpcFallbackMiddleware.js';\nexport type { RpcFallbackMiddlewareOptions } from './RpcFallbackMiddleware.js';\nexport {\n createParallelBalanceMiddleware,\n createParallelMiddleware,\n mergeDataResponses,\n} from './ParallelMiddleware.js';\nexport type { BalanceSource } from './ParallelMiddleware.js';\nexport type { AssetsDataSource } from '../types.js';\n"]}
|
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.healAssetsInfoMetadata = exports.tempHealAssetsInfoMetadata = void 0;
|
|
4
|
-
const utils_1 = require("@metamask/utils");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
|
-
const logger_js_1 = require("../logger.cjs");
|
|
7
|
-
const log = (0, logger_js_1.createModuleLogger)(logger_js_1.projectLogger, 'tempHealAssetsInfoMetadata');
|
|
8
|
-
/**
|
|
9
|
-
* TEMPORARY — will be removed in a future release.
|
|
10
|
-
*
|
|
11
|
-
* @param options - The options bag.
|
|
12
|
-
* @param options.state - Current controller state to compute the patch against.
|
|
13
|
-
* @param options.getMigrationState - Getter for the untrusted legacy state root.
|
|
14
|
-
* @param options.captureException - Optional reporter for healing failures.
|
|
15
|
-
* @returns Updated controller state with the healing patch applied, or the
|
|
16
|
-
* original state when there is nothing to heal or healing fails.
|
|
17
|
-
*/
|
|
18
|
-
function tempHealAssetsInfoMetadata({ state, getMigrationState, captureException, }) {
|
|
19
|
-
const reportError = (error) => {
|
|
20
|
-
log('Failed to heal assetsInfo metadata', error);
|
|
21
|
-
captureException?.(new Error(`AssetsController: temporary assetsInfo metadata healing failed: ${(0, utils_1.getErrorMessage)(error)}`));
|
|
22
|
-
};
|
|
23
|
-
let patch = null;
|
|
24
|
-
try {
|
|
25
|
-
patch = healAssetsInfoMetadata(getMigrationState(), state);
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
reportError(error);
|
|
29
|
-
}
|
|
30
|
-
if (!patch) {
|
|
31
|
-
return state;
|
|
32
|
-
}
|
|
33
|
-
try {
|
|
34
|
-
const nextState = (0, lodash_1.cloneDeep)(state);
|
|
35
|
-
applyHealingPatch(nextState, patch);
|
|
36
|
-
log('Healed wiped assetsInfo metadata for niche-chain tokens', {
|
|
37
|
-
healedAssetsInfoCount: Object.keys(patch.assetsInfo).length,
|
|
38
|
-
healedCustomAssetsAccounts: Object.keys(patch.customAssets).length,
|
|
39
|
-
});
|
|
40
|
-
return nextState;
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
reportError(error);
|
|
44
|
-
return state;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.tempHealAssetsInfoMetadata = tempHealAssetsInfoMetadata;
|
|
48
|
-
/**
|
|
49
|
-
* Apply a healing patch to (draft) controller state. Defensive against
|
|
50
|
-
* concurrent writes: fills `assetsInfo` gaps only and dedupes `customAssets`
|
|
51
|
-
* against the current draft rather than trusting the patch blindly.
|
|
52
|
-
*
|
|
53
|
-
* @param state - Mutable controller state copy.
|
|
54
|
-
* @param patch - The additions computed by {@link healAssetsInfoMetadata}.
|
|
55
|
-
*/
|
|
56
|
-
function applyHealingPatch(state, patch) {
|
|
57
|
-
var _a, _b;
|
|
58
|
-
for (const [assetId, metadata] of Object.entries(patch.assetsInfo)) {
|
|
59
|
-
(_a = state.assetsInfo)[_b = assetId] ?? (_a[_b] = metadata);
|
|
60
|
-
}
|
|
61
|
-
for (const [accountId, assetIds] of Object.entries(patch.customAssets)) {
|
|
62
|
-
const existing = state.customAssets[accountId] ?? [];
|
|
63
|
-
state.customAssets[accountId] = [
|
|
64
|
-
...existing,
|
|
65
|
-
...assetIds.filter((assetId) => !existing.includes(assetId)),
|
|
66
|
-
];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const EVM_CHAIN_NAMESPACE = 'eip155';
|
|
70
|
-
const EVM_ADDRESS_REGEX = /^0x[0-9a-fA-F]{40}$/u;
|
|
71
|
-
/**
|
|
72
|
-
* Popular networks (covered by the Accounts API) can self-heal through
|
|
73
|
-
* auto-detection, so their tokens must not be touched. Frozen snapshot from
|
|
74
|
-
* extension migration #215.
|
|
75
|
-
*/
|
|
76
|
-
const ACCOUNT_API_SUPPORTED_CHAIN_IDS = new Set([
|
|
77
|
-
'eip155:1', // Ethereum Mainnet
|
|
78
|
-
'eip155:10', // Optimism
|
|
79
|
-
'eip155:56', // BNB Smart Chain
|
|
80
|
-
'eip155:137', // Polygon
|
|
81
|
-
'eip155:143', // Monad
|
|
82
|
-
'eip155:999', // HyperEVM
|
|
83
|
-
'eip155:1329', // Sei
|
|
84
|
-
'eip155:5042', // Arc
|
|
85
|
-
'eip155:8453', // Base
|
|
86
|
-
'eip155:42161', // Arbitrum One
|
|
87
|
-
'eip155:43114', // Avalanche
|
|
88
|
-
'eip155:59144', // Linea
|
|
89
|
-
]);
|
|
90
|
-
/**
|
|
91
|
-
* Compute the additions required to heal `assetsInfo` metadata (and custom
|
|
92
|
-
* asset tracking) for tokens on niche EVM chains, based on the legacy
|
|
93
|
-
* `TokensController` state.
|
|
94
|
-
*
|
|
95
|
-
* What it deliberately skips:
|
|
96
|
-
*
|
|
97
|
-
* - Accounts-API-supported chains — see `ACCOUNT_API_SUPPORTED_CHAIN_IDS`.
|
|
98
|
-
* - Tokens the user hid/removed, detected via either the legacy
|
|
99
|
-
* `TokensController.allIgnoredTokens` or the current
|
|
100
|
-
* `assetPreferences` (`hidden: true`).
|
|
101
|
-
* - Non-EVM assets, ERC-721s, and tokens with invalid addresses or metadata.
|
|
102
|
-
*
|
|
103
|
-
* @param legacyState - Untrusted legacy state root. Expected (but not
|
|
104
|
-
* required) to contain `TokensController.allTokens`,
|
|
105
|
-
* `TokensController.allIgnoredTokens`, and
|
|
106
|
-
* `AccountsController.internalAccounts.accounts`.
|
|
107
|
-
* @param currentState - Current `AssetsController` state slices (read-only).
|
|
108
|
-
* @returns The additions to apply, or `null` when there is nothing to heal.
|
|
109
|
-
*/
|
|
110
|
-
function healAssetsInfoMetadata(legacyState, currentState) {
|
|
111
|
-
const allTokens = readPath(legacyState, ['TokensController', 'allTokens']);
|
|
112
|
-
if (!(0, utils_1.isObject)(allTokens)) {
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
const addressToAccountId = buildAddressToAccountIdMap(legacyState);
|
|
116
|
-
const hiddenAssetIds = collectHiddenAssetIds(currentState);
|
|
117
|
-
const allIgnoredTokens = readPath(legacyState, [
|
|
118
|
-
'TokensController',
|
|
119
|
-
'allIgnoredTokens',
|
|
120
|
-
]);
|
|
121
|
-
const assetsInfoAdditions = {};
|
|
122
|
-
const customAssetAdditions = {};
|
|
123
|
-
for (const [hexChainId, accountTokens] of Object.entries(allTokens)) {
|
|
124
|
-
if (!(0, utils_1.isObject)(accountTokens)) {
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
|
-
const caip2 = hexChainIdToCaip2(hexChainId);
|
|
128
|
-
// Skip chains we can't parse or that self-heal via the accounts API.
|
|
129
|
-
if (!caip2 || ACCOUNT_API_SUPPORTED_CHAIN_IDS.has(caip2)) {
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
for (const [rawAddress, tokens] of Object.entries(accountTokens)) {
|
|
133
|
-
if (!Array.isArray(tokens) || tokens.length === 0) {
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
const accountId = addressToAccountId[rawAddress.toLowerCase()];
|
|
137
|
-
const ignoredAddresses = collectIgnoredAddresses(allIgnoredTokens, hexChainId, rawAddress);
|
|
138
|
-
for (const token of tokens) {
|
|
139
|
-
const restorable = getRestorableAsset(token, caip2, ignoredAddresses, hiddenAssetIds);
|
|
140
|
-
if (!restorable) {
|
|
141
|
-
continue;
|
|
142
|
-
}
|
|
143
|
-
const { assetId, info } = restorable;
|
|
144
|
-
// `assetsInfo` is a global registry; fill gaps only, never overwrite.
|
|
145
|
-
if (currentState.assetsInfo[assetId] === undefined &&
|
|
146
|
-
assetsInfoAdditions[assetId] === undefined) {
|
|
147
|
-
assetsInfoAdditions[assetId] = info;
|
|
148
|
-
}
|
|
149
|
-
// Ensure the asset is tracked for its account.
|
|
150
|
-
if (accountId) {
|
|
151
|
-
addCustomAssetAddition(currentState, customAssetAdditions, accountId, assetId);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
if (Object.keys(assetsInfoAdditions).length === 0 &&
|
|
157
|
-
Object.keys(customAssetAdditions).length === 0) {
|
|
158
|
-
return null;
|
|
159
|
-
}
|
|
160
|
-
return {
|
|
161
|
-
assetsInfo: assetsInfoAdditions,
|
|
162
|
-
customAssets: customAssetAdditions,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
exports.healAssetsInfoMetadata = healAssetsInfoMetadata;
|
|
166
|
-
/**
|
|
167
|
-
* Resolve a raw `TokensController` token entry to the CAIP-19 asset ID and
|
|
168
|
-
* metadata that should be healed, or `null` when the token must be skipped
|
|
169
|
-
* (not an object, missing/invalid address or symbol, an ERC-721, or hidden
|
|
170
|
-
* in either the legacy or the current controller).
|
|
171
|
-
*
|
|
172
|
-
* @param token - Raw token entry from `allTokens`.
|
|
173
|
-
* @param caip2 - The CAIP-2 chain ID of the token's chain (e.g. 'eip155:14').
|
|
174
|
-
* @param ignoredAddresses - Lowercase addresses hidden via legacy `allIgnoredTokens`.
|
|
175
|
-
* @param hiddenAssetIds - Lowercase asset IDs hidden via current `assetPreferences`.
|
|
176
|
-
* @returns The restorable asset, or `null` to skip.
|
|
177
|
-
*/
|
|
178
|
-
function getRestorableAsset(token, caip2, ignoredAddresses, hiddenAssetIds) {
|
|
179
|
-
if (!(0, utils_1.isObject)(token)) {
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
// Skip NFTs — AssetsController tracks them separately.
|
|
183
|
-
if (token.isERC721 === true) {
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
if (typeof token.address !== 'string' ||
|
|
187
|
-
!EVM_ADDRESS_REGEX.test(token.address)) {
|
|
188
|
-
return null;
|
|
189
|
-
}
|
|
190
|
-
// Healed metadata with no symbol would be unusable in the UI; skip it.
|
|
191
|
-
if (typeof token.symbol !== 'string' || token.symbol.length === 0) {
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
|
-
const assetId = buildErc20AssetId(caip2, token.address);
|
|
195
|
-
if (!assetId) {
|
|
196
|
-
return null;
|
|
197
|
-
}
|
|
198
|
-
// Skip tokens the user hid/removed — in the legacy controller…
|
|
199
|
-
if (ignoredAddresses.has(token.address.toLowerCase())) {
|
|
200
|
-
return null;
|
|
201
|
-
}
|
|
202
|
-
// …or in the current controller.
|
|
203
|
-
if (hiddenAssetIds.has(assetId.toLowerCase())) {
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
return { assetId, info: buildEvmAssetInfo(token) };
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Build a `FungibleAssetMetadata` from a raw `TokensController` token entry.
|
|
210
|
-
* The caller has already validated `symbol` as a non-empty string.
|
|
211
|
-
*
|
|
212
|
-
* @param token - Raw token object.
|
|
213
|
-
* @returns The metadata to write into `assetsInfo`.
|
|
214
|
-
*/
|
|
215
|
-
function buildEvmAssetInfo(token) {
|
|
216
|
-
const symbol = token.symbol;
|
|
217
|
-
const name = typeof token.name === 'string' && token.name.length > 0
|
|
218
|
-
? token.name
|
|
219
|
-
: symbol;
|
|
220
|
-
const decimals = typeof token.decimals === 'number' && Number.isFinite(token.decimals)
|
|
221
|
-
? token.decimals
|
|
222
|
-
: 0;
|
|
223
|
-
const image = typeof token.image === 'string' && token.image.length > 0
|
|
224
|
-
? token.image
|
|
225
|
-
: undefined;
|
|
226
|
-
const aggregators = Array.isArray(token.aggregators)
|
|
227
|
-
? token.aggregators.filter((aggregator) => typeof aggregator === 'string')
|
|
228
|
-
: undefined;
|
|
229
|
-
return {
|
|
230
|
-
type: 'erc20',
|
|
231
|
-
symbol,
|
|
232
|
-
name,
|
|
233
|
-
decimals,
|
|
234
|
-
...(image ? { image } : {}),
|
|
235
|
-
...(aggregators ? { aggregators } : {}),
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Build a map from lowercase account address to account UUID using the
|
|
240
|
-
* legacy `AccountsController.internalAccounts.accounts`.
|
|
241
|
-
*
|
|
242
|
-
* @param legacyState - Untrusted legacy state root.
|
|
243
|
-
* @returns Map of lowercase address to account ID (empty on invalid input).
|
|
244
|
-
*/
|
|
245
|
-
function buildAddressToAccountIdMap(legacyState) {
|
|
246
|
-
const accounts = readPath(legacyState, [
|
|
247
|
-
'AccountsController',
|
|
248
|
-
'internalAccounts',
|
|
249
|
-
'accounts',
|
|
250
|
-
]);
|
|
251
|
-
if (!(0, utils_1.isObject)(accounts)) {
|
|
252
|
-
return {};
|
|
253
|
-
}
|
|
254
|
-
const map = {};
|
|
255
|
-
for (const [id, account] of Object.entries(accounts)) {
|
|
256
|
-
if ((0, utils_1.isObject)(account) &&
|
|
257
|
-
typeof account.address === 'string' &&
|
|
258
|
-
account.address.length > 0) {
|
|
259
|
-
map[account.address.toLowerCase()] = id;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
return map;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Collect the set of CAIP-19 asset IDs (lowercased) marked `hidden: true` in
|
|
266
|
-
* the current `assetPreferences`. Lowercasing lets callers compare against
|
|
267
|
-
* checksummed asset IDs case-insensitively.
|
|
268
|
-
*
|
|
269
|
-
* @param currentState - Current `AssetsController` state slices.
|
|
270
|
-
* @returns Set of lowercase hidden asset IDs.
|
|
271
|
-
*/
|
|
272
|
-
function collectHiddenAssetIds(currentState) {
|
|
273
|
-
const hidden = new Set();
|
|
274
|
-
for (const [assetId, preference] of Object.entries(currentState.assetPreferences)) {
|
|
275
|
-
if ((0, utils_1.isObject)(preference) && preference.hidden === true) {
|
|
276
|
-
hidden.add(assetId.toLowerCase());
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return hidden;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Collect the lowercase token addresses ignored (hidden) in the legacy
|
|
283
|
-
* `TokensController.allIgnoredTokens` for a given chain and account. The
|
|
284
|
-
* account key is matched case-insensitively.
|
|
285
|
-
*
|
|
286
|
-
* @param allIgnoredTokens - The legacy `allIgnoredTokens` map (possibly missing).
|
|
287
|
-
* @param hexChainId - The hex chain ID being processed.
|
|
288
|
-
* @param accountAddress - The account address whose ignored list to read.
|
|
289
|
-
* @returns Set of lowercase ignored token addresses.
|
|
290
|
-
*/
|
|
291
|
-
function collectIgnoredAddresses(allIgnoredTokens, hexChainId, accountAddress) {
|
|
292
|
-
const result = new Set();
|
|
293
|
-
if (!(0, utils_1.isObject)(allIgnoredTokens)) {
|
|
294
|
-
return result;
|
|
295
|
-
}
|
|
296
|
-
const chainEntry = allIgnoredTokens[hexChainId];
|
|
297
|
-
if (!(0, utils_1.isObject)(chainEntry)) {
|
|
298
|
-
return result;
|
|
299
|
-
}
|
|
300
|
-
const lowerAccount = accountAddress.toLowerCase();
|
|
301
|
-
for (const [address, list] of Object.entries(chainEntry)) {
|
|
302
|
-
if (address.toLowerCase() !== lowerAccount || !Array.isArray(list)) {
|
|
303
|
-
continue;
|
|
304
|
-
}
|
|
305
|
-
for (const ignored of list) {
|
|
306
|
-
if (typeof ignored === 'string') {
|
|
307
|
-
result.add(ignored.toLowerCase());
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
return result;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Convert a hex chain ID (e.g. '0x1') to a CAIP-2 chain ID (e.g. 'eip155:1').
|
|
315
|
-
*
|
|
316
|
-
* @param hexChainId - The hex-encoded EVM chain ID.
|
|
317
|
-
* @returns The CAIP-2 chain ID, or `null` when the input cannot be parsed.
|
|
318
|
-
*/
|
|
319
|
-
function hexChainIdToCaip2(hexChainId) {
|
|
320
|
-
if (!/^0x[0-9a-fA-F]+$/u.test(hexChainId)) {
|
|
321
|
-
return null;
|
|
322
|
-
}
|
|
323
|
-
const decimal = Number.parseInt(hexChainId, 16);
|
|
324
|
-
if (!Number.isFinite(decimal)) {
|
|
325
|
-
return null;
|
|
326
|
-
}
|
|
327
|
-
return `${EVM_CHAIN_NAMESPACE}:${decimal}`;
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Build the checksummed CAIP-19 asset ID for an ERC-20 token.
|
|
331
|
-
*
|
|
332
|
-
* @param caip2 - The CAIP-2 chain ID (e.g. 'eip155:14').
|
|
333
|
-
* @param tokenAddress - The ERC-20 contract address.
|
|
334
|
-
* @returns The asset ID, or `null` when the address cannot be checksummed.
|
|
335
|
-
*/
|
|
336
|
-
function buildErc20AssetId(caip2, tokenAddress) {
|
|
337
|
-
let checksummed;
|
|
338
|
-
try {
|
|
339
|
-
checksummed = (0, utils_1.getChecksumAddress)(tokenAddress);
|
|
340
|
-
}
|
|
341
|
-
catch {
|
|
342
|
-
return null;
|
|
343
|
-
}
|
|
344
|
-
return `${caip2}/erc20:${checksummed}`;
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Read a nested path on an unknown value, returning `undefined` if any
|
|
348
|
-
* intermediate key is missing or not an object.
|
|
349
|
-
*
|
|
350
|
-
* @param root - The value to read from.
|
|
351
|
-
* @param path - Sequence of keys to traverse.
|
|
352
|
-
* @returns The value at the path, or `undefined`.
|
|
353
|
-
*/
|
|
354
|
-
function readPath(root, path) {
|
|
355
|
-
return path.reduce((cursor, key) => {
|
|
356
|
-
if (!(0, utils_1.isObject)(cursor) || !(0, utils_1.hasProperty)(cursor, key)) {
|
|
357
|
-
return undefined;
|
|
358
|
-
}
|
|
359
|
-
return cursor[key];
|
|
360
|
-
}, root);
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Record `assetId` as a custom-asset addition for `accountId` unless it is
|
|
364
|
-
* already tracked in the current `assetsBalance` (mutual exclusion), already
|
|
365
|
-
* present in the current `customAssets`, or already queued as an addition.
|
|
366
|
-
*
|
|
367
|
-
* @param currentState - Current `AssetsController` state slices.
|
|
368
|
-
* @param additions - The custom-asset additions accumulated so far (mutated).
|
|
369
|
-
* @param accountId - The account UUID.
|
|
370
|
-
* @param assetId - CAIP-19 asset identifier.
|
|
371
|
-
*/
|
|
372
|
-
function addCustomAssetAddition(currentState, additions, accountId, assetId) {
|
|
373
|
-
if (currentState.assetsBalance[accountId]?.[assetId]) {
|
|
374
|
-
return;
|
|
375
|
-
}
|
|
376
|
-
if (currentState.customAssets[accountId]?.includes(assetId)) {
|
|
377
|
-
return;
|
|
378
|
-
}
|
|
379
|
-
const queued = additions[accountId] ?? [];
|
|
380
|
-
if (!queued.includes(assetId)) {
|
|
381
|
-
queued.push(assetId);
|
|
382
|
-
}
|
|
383
|
-
additions[accountId] = queued;
|
|
384
|
-
}
|
|
385
|
-
//# sourceMappingURL=healAssetsInfoMetadata.cjs.map
|