@metamask-previews/earn-controller 11.0.0-preview-5c1b2b1 → 11.0.0-preview-6c66772
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/selectors.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.cjs","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(\n (acc, market) => {\n acc[market.protocol] = acc[market.protocol] || {};\n acc[market.protocol][market.id] = market;\n return acc;\n },\n {} as Record<string, Record<string, LendingMarket>>,\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(\n (acc, market) => {\n acc[market.chainId] = acc[market.chainId] || [];\n acc[market.chainId].push(market);\n return acc;\n },\n {} as Record<number, LendingMarket[]>,\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 (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 {} as Record<number, LendingPositionWithMarket[]>,\n );\n },\n);\n\nexport const selectLendingPositionsByProtocolChainIdMarketId = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) =>\n positionsWithMarket.reduce(\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 {} as Record<\n string,\n Record<string, Record<string, LendingPositionWithMarket>>\n >,\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 (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 {} as Record<string, LendingMarketWithPosition[]>,\n );\n },\n);\n\nexport const selectLendingPositionsByProtocol = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) => {\n return positionsWithMarket.reduce(\n (acc, position) => {\n acc[position.protocol] = acc[position.protocol] || [];\n acc[position.protocol].push(position);\n return acc;\n },\n {} as Record<string, LendingPositionWithMarket[]>,\n );\n },\n);\n\nexport const selectLendingMarketByProtocolAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) => {\n return marketsWithPosition.reduce(\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 {} as Record<string, Record<string, LendingMarketWithPosition>>,\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 (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 {} as Record<string, Record<string, LendingMarketWithPosition[]>>,\n ),\n );\n\nexport const selectLendingMarketsByChainIdAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) =>\n marketsWithPosition.reduce(\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 {} as Record<string, Record<string, LendingMarketWithPosition[]>>,\n ),\n);\n\nexport const selectIsLendingEligible = (state: EarnControllerState) =>\n state.lending.isEligible;\n"]}
|
|
1
|
+
{"version":3,"file":"selectors.cjs","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/dist/selectors.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,4BAA4B;AAGzD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAC1B,6BAAyB;AAE1B,eAAO,MAAM,oBAAoB,UAAW,mBAAmB,oBACxC,CAAC;AAExB,eAAO,MAAM,sBAAsB,UAAW,mBAAmB,oEACxC,CAAC;AAE1B,eAAO,MAAM,8BAA8B,YAAa,MAAM;;;;;;;;;;;;2BANlB,mBAAmB;;;;;;;;CAS5D,CAAC;AAEJ,eAAO,MAAM,mCAAmC;;;;;;;;;;;;2BAXJ,mBAAmB;;;;;;;;CAuB9D,CAAC;AAEF,eAAO,MAAM,mCAAmC,aACpC,MAAM,MACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;+BA3BgC,mBAAmB;;;;;;;;;;;;;;;;CAgC5D,CAAC;AAEJ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;2BAlCE,mBAAmB;;;;;;;;
|
|
1
|
+
{"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
|
package/dist/selectors.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,4BAA4B;AAGzD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAC1B,6BAAyB;AAE1B,eAAO,MAAM,oBAAoB,UAAW,mBAAmB,oBACxC,CAAC;AAExB,eAAO,MAAM,sBAAsB,UAAW,mBAAmB,oEACxC,CAAC;AAE1B,eAAO,MAAM,8BAA8B,YAAa,MAAM;;;;;;;;;;;;2BANlB,mBAAmB;;;;;;;;CAS5D,CAAC;AAEJ,eAAO,MAAM,mCAAmC;;;;;;;;;;;;2BAXJ,mBAAmB;;;;;;;;CAuB9D,CAAC;AAEF,eAAO,MAAM,mCAAmC,aACpC,MAAM,MACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;+BA3BgC,mBAAmB;;;;;;;;;;;;;;;;CAgC5D,CAAC;AAEJ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;2BAlCE,mBAAmB;;;;;;;;
|
|
1
|
+
{"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
|
package/dist/selectors.mjs.map
CHANGED
|
@@ -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} 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(\n (acc, market) => {\n acc[market.protocol] = acc[market.protocol] || {};\n acc[market.protocol][market.id] = market;\n return acc;\n },\n {} as Record<string, Record<string, LendingMarket>>,\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(\n (acc, market) => {\n acc[market.chainId] = acc[market.chainId] || [];\n acc[market.chainId].push(market);\n return acc;\n },\n {} as Record<number, LendingMarket[]>,\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 (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 {} as Record<number, LendingPositionWithMarket[]>,\n );\n },\n);\n\nexport const selectLendingPositionsByProtocolChainIdMarketId = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) =>\n positionsWithMarket.reduce(\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 {} as Record<\n string,\n Record<string, Record<string, LendingPositionWithMarket>>\n >,\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 (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 {} as Record<string, LendingMarketWithPosition[]>,\n );\n },\n);\n\nexport const selectLendingPositionsByProtocol = createSelector(\n selectLendingPositionsWithMarket,\n (positionsWithMarket) => {\n return positionsWithMarket.reduce(\n (acc, position) => {\n acc[position.protocol] = acc[position.protocol] || [];\n acc[position.protocol].push(position);\n return acc;\n },\n {} as Record<string, LendingPositionWithMarket[]>,\n );\n },\n);\n\nexport const selectLendingMarketByProtocolAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) => {\n return marketsWithPosition.reduce(\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 {} as Record<string, Record<string, LendingMarketWithPosition>>,\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 (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 {} as Record<string, Record<string, LendingMarketWithPosition[]>>,\n ),\n );\n\nexport const selectLendingMarketsByChainIdAndTokenAddress = createSelector(\n selectLendingMarketsWithPosition,\n (marketsWithPosition) =>\n marketsWithPosition.reduce(\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 {} as Record<string, Record<string, LendingMarketWithPosition[]>>,\n ),\n);\n\nexport const selectIsLendingEligible = (state: EarnControllerState) =>\n state.lending.isEligible;\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-
|
|
3
|
+
"version": "11.0.0-preview-6c66772",
|
|
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",
|