@metamask-previews/earn-controller 11.0.0-preview-7bc2d97e → 11.0.0-preview-6bed60a6

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.
@@ -94,18 +94,4 @@ export const selectLendingMarketsByChainIdAndTokenAddress = createSelector(selec
94
94
  return acc;
95
95
  }, {}));
96
96
  export const selectIsLendingEligible = (state) => state.lending.isEligible;
97
- /**
98
- * Selects the TRON staking state.
99
- *
100
- * @param state - The EarnController state.
101
- * @returns The TRON staking state.
102
- */
103
- export const selectTronStaking = (state) => state.tron_staking;
104
- /**
105
- * Selects the APY for TRON staking.
106
- *
107
- * @param state - The EarnController state.
108
- * @returns The APY for TRON staking, or undefined if not available.
109
- */
110
- export const selectTronStakingApy = createSelector(selectTronStaking, (tronStaking) => tronStaking?.apy);
111
97
  //# sourceMappingURL=selectors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.mjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { LendingMarket } from '@metamask/stake-sdk';\nimport { createSelector } from 'reselect';\n\nimport type {\n EarnControllerState,\n LendingMarketWithPosition,\n LendingPositionWithMarket,\n LendingPositionWithMarketReference,\n} from './EarnController';\n\nexport const selectLendingMarkets = (\n state: EarnControllerState,\n): LendingMarket[] => state.lending.markets;\n\nexport const selectLendingPositions = (\n state: EarnControllerState,\n): LendingPositionWithMarketReference[] => state.lending.positions;\n\nexport const selectLendingMarketsForChainId = (chainId: number) =>\n createSelector(selectLendingMarkets, (markets): LendingMarket[] =>\n markets.filter((market) => market.chainId === chainId),\n );\n\nexport const selectLendingMarketsByProtocolAndId = createSelector(\n selectLendingMarkets,\n (markets) => {\n return markets.reduce<Record<string, Record<string, LendingMarket>>>(\n (acc, market) => {\n acc[market.protocol] = acc[market.protocol] || {};\n acc[market.protocol][market.id] = market;\n return acc;\n },\n {},\n );\n },\n);\n\nexport const selectLendingMarketForProtocolAndId = (\n protocol: string,\n id: string,\n) =>\n createSelector(\n selectLendingMarketsByProtocolAndId,\n (marketsByProtocolAndId): LendingMarket | undefined =>\n marketsByProtocolAndId?.[protocol]?.[id],\n );\n\nexport const selectLendingMarketsByChainId = createSelector(\n selectLendingMarkets,\n (markets) => {\n return markets.reduce<Record<number, LendingMarket[]>>((acc, market) => {\n acc[market.chainId] = acc[market.chainId] || [];\n acc[market.chainId].push(market);\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingPositionsWithMarket = createSelector(\n selectLendingPositions,\n selectLendingMarketsByProtocolAndId,\n (positions, marketsByProtocolAndId): LendingPositionWithMarket[] => {\n return positions.map((position) => {\n return {\n ...position,\n market:\n marketsByProtocolAndId?.[position.protocol]?.[position.marketId],\n };\n });\n },\n);\n\nexport const selectLendingPositionsByChainId = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) => {\n return positionsWithMarket.reduce<\n Record<number, LendingPositionWithMarket[]>\n >((acc, position) => {\n const chainId = position.market?.chainId;\n if (chainId) {\n acc[chainId] = acc[chainId] || [];\n acc[chainId].push(position);\n }\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingPositionsByProtocolChainIdMarketId = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) =>\n positionsWithMarket.reduce<\n Record<string, Record<string, Record<string, LendingPositionWithMarket>>>\n >((acc, position) => {\n acc[position.protocol] ??= {};\n acc[position.protocol][position.chainId] ??= {};\n acc[position.protocol][position.chainId][position.marketId] = position;\n return acc;\n }, {}),\n);\n\nexport const selectLendingMarketsWithPosition = createSelector(\n selectLendingPositionsByProtocolChainIdMarketId,\n selectLendingMarkets,\n (positionsByProtocolChainIdMarketId, lendingMarkets) =>\n lendingMarkets.map((market) => {\n const position =\n positionsByProtocolChainIdMarketId?.[market.protocol]?.[\n market.chainId\n ]?.[market.id];\n return {\n ...market,\n position: position || null,\n };\n }),\n);\n\nexport const selectLendingMarketsByTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) => {\n return marketsWithPosition.reduce<\n Record<string, LendingMarketWithPosition[]>\n >((acc, market) => {\n if (market.underlying?.address) {\n acc[market.underlying.address] = acc[market.underlying.address] || [];\n acc[market.underlying.address].push(market);\n }\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingPositionsByProtocol = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) => {\n return positionsWithMarket.reduce<\n Record<string, LendingPositionWithMarket[]>\n >((acc, position) => {\n acc[position.protocol] = acc[position.protocol] || [];\n acc[position.protocol].push(position);\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingMarketByProtocolAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) => {\n return marketsWithPosition.reduce<\n Record<string, Record<string, LendingMarketWithPosition>>\n >((acc, market) => {\n if (market.underlying?.address) {\n acc[market.protocol] = acc[market.protocol] || {};\n acc[market.protocol][market.underlying.address] = market;\n }\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingMarketForProtocolAndTokenAddress = (\n protocol: string,\n tokenAddress: string,\n) =>\n createSelector(\n selectLendingMarketByProtocolAndTokenAddress,\n (marketsByProtocolAndTokenAddress): LendingMarketWithPosition | undefined =>\n marketsByProtocolAndTokenAddress?.[protocol]?.[tokenAddress],\n );\n\nexport const selectLendingMarketsByChainIdAndOutputTokenAddress =\n createSelector(selectLendingMarketsWithPosition, (marketsWithPosition) =>\n marketsWithPosition.reduce<\n Record<string, Record<string, LendingMarketWithPosition[]>>\n >((acc, market) => {\n if (market.outputToken?.address) {\n acc[market.chainId] = acc?.[market.chainId] || {};\n acc[market.chainId][market.outputToken.address] =\n acc?.[market.chainId]?.[market.outputToken.address] || [];\n acc[market.chainId][market.outputToken.address].push(market);\n }\n return acc;\n }, {}),\n );\n\nexport const selectLendingMarketsByChainIdAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) =>\n marketsWithPosition.reduce<\n Record<string, Record<string, LendingMarketWithPosition[]>>\n >((acc, market) => {\n if (market.underlying?.address) {\n acc[market.chainId] = acc?.[market.chainId] || {};\n acc[market.chainId][market.underlying.address] =\n acc?.[market.chainId]?.[market.underlying.address] || [];\n acc[market.chainId][market.underlying.address].push(market);\n }\n return acc;\n }, {}),\n);\n\nexport const selectIsLendingEligible = (state: EarnControllerState): boolean =>\n state.lending.isEligible;\n\n/**\n * Selects the TRON staking state.\n *\n * @param state - The EarnController state.\n * @returns The TRON staking state.\n */\nexport const selectTronStaking = (\n state: EarnControllerState,\n): EarnControllerState['tron_staking'] => state.tron_staking;\n\n/**\n * Selects the APY for TRON staking.\n *\n * @param state - The EarnController state.\n * @returns The APY for TRON staking, or undefined if not available.\n */\nexport const selectTronStakingApy = createSelector(\n selectTronStaking,\n (tronStaking): string | undefined => tronStaking?.apy,\n);\n"]}
1
+ {"version":3,"file":"selectors.mjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { LendingMarket } from '@metamask/stake-sdk';\nimport { createSelector } from 'reselect';\n\nimport type {\n EarnControllerState,\n LendingMarketWithPosition,\n LendingPositionWithMarket,\n} from './EarnController';\n\nexport const selectLendingMarkets = (state: EarnControllerState) =>\n state.lending.markets;\n\nexport const selectLendingPositions = (state: EarnControllerState) =>\n state.lending.positions;\n\nexport const selectLendingMarketsForChainId = (chainId: number) =>\n createSelector(selectLendingMarkets, (markets) =>\n markets.filter((market) => market.chainId === chainId),\n );\n\nexport const selectLendingMarketsByProtocolAndId = createSelector(\n selectLendingMarkets,\n (markets) => {\n return markets.reduce<Record<string, Record<string, LendingMarket>>>(\n (acc, market) => {\n acc[market.protocol] = acc[market.protocol] || {};\n acc[market.protocol][market.id] = market;\n return acc;\n },\n {},\n );\n },\n);\n\nexport const selectLendingMarketForProtocolAndId = (\n protocol: string,\n id: string,\n) =>\n createSelector(\n selectLendingMarketsByProtocolAndId,\n (marketsByProtocolAndId) => marketsByProtocolAndId?.[protocol]?.[id],\n );\n\nexport const selectLendingMarketsByChainId = createSelector(\n selectLendingMarkets,\n (markets) => {\n return markets.reduce<Record<number, LendingMarket[]>>((acc, market) => {\n acc[market.chainId] = acc[market.chainId] || [];\n acc[market.chainId].push(market);\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingPositionsWithMarket = createSelector(\n selectLendingPositions,\n selectLendingMarketsByProtocolAndId,\n (positions, marketsByProtocolAndId): LendingPositionWithMarket[] => {\n return positions.map((position) => {\n return {\n ...position,\n market:\n marketsByProtocolAndId?.[position.protocol]?.[position.marketId],\n };\n });\n },\n);\n\nexport const selectLendingPositionsByChainId = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) => {\n return positionsWithMarket.reduce<\n Record<number, LendingPositionWithMarket[]>\n >((acc, position) => {\n const chainId = position.market?.chainId;\n if (chainId) {\n acc[chainId] = acc[chainId] || [];\n acc[chainId].push(position);\n }\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingPositionsByProtocolChainIdMarketId = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) =>\n positionsWithMarket.reduce<\n Record<string, Record<string, Record<string, LendingPositionWithMarket>>>\n >((acc, position) => {\n acc[position.protocol] ??= {};\n acc[position.protocol][position.chainId] ??= {};\n acc[position.protocol][position.chainId][position.marketId] = position;\n return acc;\n }, {}),\n);\n\nexport const selectLendingMarketsWithPosition = createSelector(\n selectLendingPositionsByProtocolChainIdMarketId,\n selectLendingMarkets,\n (positionsByProtocolChainIdMarketId, lendingMarkets) =>\n lendingMarkets.map((market) => {\n const position =\n positionsByProtocolChainIdMarketId?.[market.protocol]?.[\n market.chainId\n ]?.[market.id];\n return {\n ...market,\n position: position || null,\n };\n }),\n);\n\nexport const selectLendingMarketsByTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) => {\n return marketsWithPosition.reduce<\n Record<string, LendingMarketWithPosition[]>\n >((acc, market) => {\n if (market.underlying?.address) {\n acc[market.underlying.address] = acc[market.underlying.address] || [];\n acc[market.underlying.address].push(market);\n }\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingPositionsByProtocol = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) => {\n return positionsWithMarket.reduce<\n Record<string, LendingPositionWithMarket[]>\n >((acc, position) => {\n acc[position.protocol] = acc[position.protocol] || [];\n acc[position.protocol].push(position);\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingMarketByProtocolAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) => {\n return marketsWithPosition.reduce<\n Record<string, Record<string, LendingMarketWithPosition>>\n >((acc, market) => {\n if (market.underlying?.address) {\n acc[market.protocol] = acc[market.protocol] || {};\n acc[market.protocol][market.underlying.address] = market;\n }\n return acc;\n }, {});\n },\n);\n\nexport const selectLendingMarketForProtocolAndTokenAddress = (\n protocol: string,\n tokenAddress: string,\n) =>\n createSelector(\n selectLendingMarketByProtocolAndTokenAddress,\n (marketsByProtocolAndTokenAddress) =>\n marketsByProtocolAndTokenAddress?.[protocol]?.[tokenAddress],\n );\n\nexport const selectLendingMarketsByChainIdAndOutputTokenAddress =\n createSelector(selectLendingMarketsWithPosition, (marketsWithPosition) =>\n marketsWithPosition.reduce<\n Record<string, Record<string, LendingMarketWithPosition[]>>\n >((acc, market) => {\n if (market.outputToken?.address) {\n acc[market.chainId] = acc?.[market.chainId] || {};\n acc[market.chainId][market.outputToken.address] =\n acc?.[market.chainId]?.[market.outputToken.address] || [];\n acc[market.chainId][market.outputToken.address].push(market);\n }\n return acc;\n }, {}),\n );\n\nexport const selectLendingMarketsByChainIdAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) =>\n marketsWithPosition.reduce<\n Record<string, Record<string, LendingMarketWithPosition[]>>\n >((acc, market) => {\n if (market.underlying?.address) {\n acc[market.chainId] = acc?.[market.chainId] || {};\n acc[market.chainId][market.underlying.address] =\n acc?.[market.chainId]?.[market.underlying.address] || [];\n acc[market.chainId][market.underlying.address].push(market);\n }\n return acc;\n }, {}),\n);\n\nexport const selectIsLendingEligible = (state: EarnControllerState) =>\n state.lending.isEligible;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/earn-controller",
3
- "version": "11.0.0-preview-7bc2d97e",
3
+ "version": "11.0.0-preview-6bed60a6",
4
4
  "description": "Manages state for earning features and coordinates interactions between staking services, SDK integrations, and other controllers to enable users to participate in various earning opportunities",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -52,16 +52,16 @@
52
52
  "@ethersproject/providers": "^5.7.0",
53
53
  "@metamask/account-tree-controller": "^4.0.0",
54
54
  "@metamask/base-controller": "^9.0.0",
55
- "@metamask/controller-utils": "^11.17.0",
55
+ "@metamask/controller-utils": "^11.16.0",
56
56
  "@metamask/keyring-api": "^21.0.0",
57
57
  "@metamask/messenger": "^0.3.0",
58
- "@metamask/network-controller": "^27.1.0",
58
+ "@metamask/network-controller": "^27.0.0",
59
59
  "@metamask/stake-sdk": "^3.2.1",
60
60
  "reselect": "^5.1.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@metamask/auto-changelog": "^3.4.4",
64
- "@metamask/transaction-controller": "^62.7.0",
64
+ "@metamask/transaction-controller": "^62.6.0",
65
65
  "@ts-bridge/cli": "^0.6.4",
66
66
  "@types/jest": "^27.4.1",
67
67
  "deepmerge": "^4.2.2",