diff --git a/packages/adapters-library/src/adapters/aave-v3/products/rewards/aaveV3RewardsAdapter.ts b/packages/adapters-library/src/adapters/aave-v3/products/rewards/aaveV3RewardsAdapter.ts index 806fabc0d..40e3b00ea 100644 --- a/packages/adapters-library/src/adapters/aave-v3/products/rewards/aaveV3RewardsAdapter.ts +++ b/packages/adapters-library/src/adapters/aave-v3/products/rewards/aaveV3RewardsAdapter.ts @@ -1,6 +1,5 @@ import { ethers, getAddress } from 'ethers' import { AdaptersController } from '../../../../core/adaptersController' -import { ZERO_ADDRESS } from '../../../../core/constants/ZERO_ADDRESS' import { Chain } from '../../../../core/constants/chains' import { CacheToDb } from '../../../../core/decorators/cacheToDb' import { NotImplementedError } from '../../../../core/errors/errors' @@ -118,7 +117,7 @@ export class AaveV3RewardsAdapter implements IProtocolAdapter { } @CacheToDb - async getProtocolTokens(): Promise { + async getProtocolTokens(): Promise<[ProtocolToken]> { const rewardTokenAddresses = await this.incentivesContract.getRewardsList() const rewardTokens = await Promise.all( @@ -132,93 +131,43 @@ export class AaveV3RewardsAdapter implements IProtocolAdapter { ] } - private detectPositionEventSignature( - eventSignature = 'Transfer(address,address,uint256)', - ): string { - return ethers.id(eventSignature) - } - - /** - * Checks if the user has ever opened a position in AaveV3 - * Return AToken addresses if found - */ - private async openPositions(userAddress: string): Promise { - const topic0 = this.detectPositionEventSignature() - const topic1 = ethers.zeroPadValue(ZERO_ADDRESS, 32) - const topic2 = ethers.zeroPadValue(userAddress, 32) - - const logs = await this.provider.getLogs({ - topics: [topic0, topic1, topic2], - fromBlock: '0x', - toBlock: 'latest', - }) - - const aTokenAddresses = ( - await this.helpers.metadataProvider.getMetadata({ - protocolId: Protocol.AaveV3, - productId: 'a-token', - }) - ).map((token) => token.address) - - const filteredLogs = logs - .filter((log) => aTokenAddresses.includes(log.address)) - .map((log) => log.address) - - return [...new Set(filteredLogs)] - } - async getPositions({ userAddress, blockNumber, protocolTokenAddresses, }: GetPositionsInput): Promise { - const protocolTokens = await this.getProtocolTokens() - const protocolToken = protocolTokens[0] - - if (!protocolToken) { - throw new Error('No protocol token found') - } + const [protocolToken] = await this.getProtocolTokens() if ( protocolTokenAddresses && - protocolTokenAddresses.length > 0 && !protocolTokenAddresses.includes(protocolToken.address) ) { return [] } - const addressFilter = await this.openPositions(userAddress) - - if (!addressFilter.length) { - return [] - } - - const userRewards = await this.incentivesContract.getAllUserRewards( - addressFilter, - userAddress, - { blockTag: blockNumber }, - ) - - const underlyingTokens = await filterMapAsync( - userRewards.unclaimedAmounts, - async (unclaimedAmount, i) => { - if (!unclaimedAmount) { + const rewards = await filterMapAsync( + protocolToken.underlyingTokens, + async (rewardToken) => { + const accruedReward = + await this.incentivesContract.getUserAccruedRewards( + userAddress, + rewardToken.address, + { blockTag: blockNumber }, + ) + + if (!accruedReward) { return undefined } - const underlying = protocolToken.underlyingTokens.find( - (underlying) => underlying.address === userRewards.rewardsList[i], - )! - return { - ...underlying, + ...rewardToken, type: TokenType.UnderlyingClaimable, - balanceRaw: unclaimedAmount, + balanceRaw: accruedReward, } }, ) - if (underlyingTokens.length === 0) { + if (rewards.length === 0) { return [] } @@ -227,7 +176,7 @@ export class AaveV3RewardsAdapter implements IProtocolAdapter { type: TokenType.Protocol, balanceRaw: 1n, // choose 1 here as a zero value may cause the position to be ignored on UIs our adapters currently expecting a protocol token but on contract positions there is no token ...this.INCENTIVES_CONTRACT_DETAILS, - tokens: underlyingTokens, + tokens: rewards, }, ] } diff --git a/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/arb.positions.reward.json b/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/arb.positions.reward.json index 6b89b3f67..dde3b7d45 100644 --- a/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/arb.positions.reward.json +++ b/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/arb.positions.reward.json @@ -1,6 +1,6 @@ { "blockNumber": 264107941, - "latency": "Latency: 1.547 seconds", + "latency": "Latency: 3.174 seconds", "aggregatedValues": ["USD0.00"], "snapshot": [ { @@ -44,437 +44,15 @@ } ], "rpcResponses": { - "4f550727f1b2add4e928c4e8fb801236": { - "result": [ - { - "address": "0xbe8ea4c773e69c356b34c2293f58413c67d4d90a", - "blockHash": "0xb9b22f3eb0817b3e9b37c0b645e1363f2d3af82c3ddd8a16bb8752d468467399", - "blockNumber": "0xc233afd", - "data": "0x0000000000000000000000000000000000000000000000a2a15d09519be00000", - "logIndex": "0x1d5", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0xc7acb5946c13a59241f8151899ad3fdb4e7c1801e812cf23915dcc9975d205c6", - "transactionIndex": "0x1" - }, - { - "address": "0x11c603edbf3ba83d81b91069978dd5ac57334c65", - "blockHash": "0xd925ff38a732e33dce5cbee829a929c0d3f090ba6a3e7c8484cad4c8b30d0203", - "blockNumber": "0xc233b39", - "data": "0x000000000000000000000000000000000000000000000000068ad78be35626dd", - "logIndex": "0xe", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0xd2ab00d07c4d6d9f224803e9b34a9d05c25b99997753b92621768cb2e8102d02", - "transactionIndex": "0x3" - }, - { - "address": "0xf28db483773e3616da91fdfa7b5d4090ac40cc59", - "blockHash": "0xd2133f45533da33ea9d843a06d599b37c4cdbff0184d378f7fe53f761006fca3", - "blockNumber": "0xc23411d", - "data": "0x000000000000000000000000000000000000000000000000000368f0b77ff798", - "logIndex": "0x1b", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x791c3fe32e71423cb7963cb4cce2bb7c0c6595693763bd3d9c16127c6e1f8db0", - "transactionIndex": "0x3" - }, - { - "address": "0xe11f9786b06438456b044b3e21712228adcaa0d1", - "blockHash": "0xd2133f45533da33ea9d843a06d599b37c4cdbff0184d378f7fe53f761006fca3", - "blockNumber": "0xc23411d", - "data": "0x0000000000000000000000000000000000000000000000000001afdcf707bf5a", - "logIndex": "0x20", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x791c3fe32e71423cb7963cb4cce2bb7c0c6595693763bd3d9c16127c6e1f8db0", - "transactionIndex": "0x3" - }, - { - "address": "0x9becd6b4fb076348a455518aea23d3799361fe95", - "blockHash": "0x358e66e6d33aef09b235c7b19d545a16803deda79ee91ad0389981e37a9c1ce6", - "blockNumber": "0xc281694", - "data": "0x000000000000000000000000000000000000000000000000016169de9428d044", - "logIndex": "0x1e", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x50ee29a6a2fa981c1b6e7342c1ab647d84cb45d23bfa0b9f9ca07fa4b6361b61", - "transactionIndex": "0x2" - }, - { - "address": "0x8d164e0c662c9e199baac9e97b6a8664c75700ea", - "blockHash": "0x2a598fd55e7a0a09a7beaca3526b43893d7157c8308d66dccb66e50c69f7c9ec", - "blockNumber": "0xc281847", - "data": "0x0000000000000000000000000000000000000000000000000161ad89b2feecfd", - "logIndex": "0x1c", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0xa91fdfda90a28732b066009517333a722b53a2d378b3e09afcce45bba0cca226", - "transactionIndex": "0x1" - }, - { - "address": "0x8ea5040d423410f1fdc363379af88e1db5ea1c34", - "blockHash": "0x83bf438e121837140be63ffdbd8c7b4180b335697dc502cfc62884b8be6d105c", - "blockNumber": "0xc281948", - "data": "0x00000000000000000000000000000000000000000000000001782ab570ef0859", - "logIndex": "0x16", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0xa5607fa7f2fe7d363edd8c89072a92e10ddcfc22717117171bbf969b20cff13b", - "transactionIndex": "0x2" - }, - { - "address": "0x2bb55dc7c125d132322d6f7056ff6a575d64fb7c", - "blockHash": "0x730a92871a9b5c085c57f622035d6937510691e0a34e71cba017e7018f3fe77a", - "blockNumber": "0xc2ca9db", - "data": "0x000000000000000000000000000000000000000000000000000000000095b855", - "logIndex": "0xd", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0xa22df7584c26b19a2e2659d9df450fb42f9d5166c6fa19890e0b16fa2c34c2a3", - "transactionIndex": "0x1" - }, - { - "address": "0x724dc807b04555b71ed48a6896b6f41593b8c637", - "blockHash": "0x27c33819c5f75010ecf74fdc649160afb51aeec3e397089356e300b0a416bb92", - "blockNumber": "0xc40aff1", - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "logIndex": "0x3", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x9c7749b78f39f831fcb74305e392463d78cc8a396d8d2311a16446872b948021", - "transactionIndex": "0x1" - }, - { - "address": "0x6ab707aca953edaefbc4fd23ba73294241490620", - "blockHash": "0x911ca77839c7a36a322db2b0358be40d31338af0141d7a82e1483ffa0115a128", - "blockNumber": "0xc41bade", - "data": "0x00000000000000000000000000000000000000000000000000000004a7ff5e00", - "logIndex": "0x4", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0xb0ce72dfcaf527f3d2416e0050aab666cac97098b7fabed50614c81fef34dab6", - "transactionIndex": "0x1" - }, - { - "address": "0x2dfaf9a5e4f293bceede49f2dba29aacdd88e0c4", - "blockHash": "0x2b66bf00f8397de4038eb30457f60a2f07c567c1cea6b07dd7bd40906ab2efb8", - "blockNumber": "0xc9ff070", - "data": "0x000000000000000000000000000000000000000000000000273eb40ed49f3495", - "logIndex": "0x28", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x76a7e6a11a89c126a33ba5baab624b4c03474211eab4d44385e355c68c31a52f", - "transactionIndex": "0x4" - }, - { - "address": "0x22799daa45209338b7f938edf251bdfd1e6dcb32", - "blockHash": "0xca6a5269905f0d33b4989665917d8750ef09dcaf2031e71013191ccf192f4bb5", - "blockNumber": "0xca3a6e7", - "data": "0x", - "logIndex": "0xee", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000001278" - ], - "transactionHash": "0x50d088ba581c5c5c2d9a91c8aab1aac4eac41c5e248af053a925e5a1849c83d2", - "transactionIndex": "0x6" - }, - { - "address": "0x2dfaf9a5e4f293bceede49f2dba29aacdd88e0c4", - "blockHash": "0xb30d31dbb3d988a803238b009b69bb2aeb06418e8677080bcddf8c23ef459a6f", - "blockNumber": "0xca4e6ca", - "data": "0x0000000000000000000000000000000000000000000002657295d327566f5bbe", - "logIndex": "0x34", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x0497eb765e05754d75c8e2414a56d48efb79c15e08240442db33a80f7bba009b", - "transactionIndex": "0x6" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0xa5ea945744ad8c8afd0fd21649006addcf77b0575e3a8d582b54573df65e504f", - "blockNumber": "0xcd14dd5", - "data": "0x", - "logIndex": "0x7", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000000878" - ], - "transactionHash": "0x04047ed00a6175e4b89edbb0c71f81f531e0f5d4c68cca76f98b7bb48f9e1f51", - "transactionIndex": "0x3" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0x8d829366aafa40f56d4b228101d86f468dc4248f13f651492a19507522c1e01a", - "blockNumber": "0xd9487b6", - "data": "0x", - "logIndex": "0x0", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x00000000000000000000000000000000000000000000000000000000000009de" - ], - "transactionHash": "0xb291464966d370bbe620f8f9f5c3108058655ca6b23036ea4539ad29dd482d10", - "transactionIndex": "0x1" - }, - { - "address": "0x724dc807b04555b71ed48a6896b6f41593b8c637", - "blockHash": "0x7722d8d70f056b47a892f4dd4919f2f43db2a2de85e29677b9f960aab80df23d", - "blockNumber": "0xdeedeff", - "data": "0x00000000000000000000000000000000000000000000000000000002540be400", - "logIndex": "0x4", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x6d03a61ce8f9e9a22fc996775227993026f29a625f4f1cae8874cacbcf276c7a", - "transactionIndex": "0x2" - }, - { - "address": "0x6ab707aca953edaefbc4fd23ba73294241490620", - "blockHash": "0xec70e885bd314e933126468156bbe55942008cf76ff8a7fc0944e59b21a57ad7", - "blockNumber": "0xdeedf70", - "data": "0x00000000000000000000000000000000000000000000000000000002540be400", - "logIndex": "0xd", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71" - ], - "transactionHash": "0x59a161ca9da02ad44ebc2690182700504ef5f9efeaf377c85ce1dee3170963ef", - "transactionIndex": "0x2" - }, - { - "address": "0x22799daa45209338b7f938edf251bdfd1e6dcb32", - "blockHash": "0x6bb94bfd873de65df1384c2e667460b9950725fd365a8b7d6797c82419b7d0c4", - "blockNumber": "0xe33333b", - "data": "0x", - "logIndex": "0x4", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x00000000000000000000000000000000000000000000000000000000000027a8" - ], - "transactionHash": "0x1a752d70a40b868f5debc0eaee84a780ada4d79936f9e0377f2beca777ac02cc", - "transactionIndex": "0x4" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0x3c2156a9dc7225b8d5e57d3102aa2ec23b274bc14b67ef20e14aad67e3dd7b7a", - "blockNumber": "0xe492ba5", - "data": "0x", - "logIndex": "0x8", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000000b42" - ], - "transactionHash": "0x4801055780d8d35037749dbce6a1e1282641a51e6f4412041595f69db45ef5de", - "transactionIndex": "0x2" - }, - { - "address": "0x22799daa45209338b7f938edf251bdfd1e6dcb32", - "blockHash": "0x2fdf6ab873ede746c7697b8a3f86daca2db03606fe8ad0cd55b780326a06c5c3", - "blockNumber": "0xe7c69d8", - "data": "0x", - "logIndex": "0x22", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x00000000000000000000000000000000000000000000000000000000000027f4" - ], - "transactionHash": "0x8a229eb8148a1514a39bc39d76064b7209ca37cde099080c7b5d25ad5246a5dd", - "transactionIndex": "0x4" - }, - { - "address": "0x22799daa45209338b7f938edf251bdfd1e6dcb32", - "blockHash": "0x8a83159fe13a7567769a1621999a3ce36a70b19f3adac1c8d585c0f6b6f3a7f6", - "blockNumber": "0xe7c7736", - "data": "0x", - "logIndex": "0x19", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x00000000000000000000000000000000000000000000000000000000000027f5" - ], - "transactionHash": "0x9cccc39873280e36c9a1efa2dc753187db84d4434c21d10ced3f53b0445fa2ba", - "transactionIndex": "0x6" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0x302a19a5909fc9a78576d2a5fe5fcf1665c1629fd82402e95dbe3773cd3db9b9", - "blockNumber": "0xec0d988", - "data": "0x", - "logIndex": "0x4e", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000000c66" - ], - "transactionHash": "0x4ab7413dc25d2c34c8a559179eb7adf4bc2dfa050deb36f61974295836f688a8", - "transactionIndex": "0x22" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0xf538c29f3833a871d1acbfe5d3157814f6f6dd6912bb670e78dc6ae0cb15d073", - "blockNumber": "0xec0dae1", - "data": "0x", - "logIndex": "0x14", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000000c67" - ], - "transactionHash": "0x7e4e002709a96d1948417ff0e002cfb290e380c87869b05febec6fb9f89758d6", - "transactionIndex": "0x5" - }, - { - "address": "0x22799daa45209338b7f938edf251bdfd1e6dcb32", - "blockHash": "0x4c291436cac7bc4de63156aef93f678cdb97b8d79e8658f6b9eff076c8787c65", - "blockNumber": "0xecf0677", - "data": "0x", - "logIndex": "0x0", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000002b95" - ], - "transactionHash": "0x12dacde28a1143ee588fbc69bcc706d57784cb68b5993ea0408bc2b3985c21b7", - "transactionIndex": "0x1" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0xbe237c3588bfed2004a86ce913394aa074cc256ca5a7ab037fbb0405ef42f796", - "blockNumber": "0xf578498", - "data": "0x", - "logIndex": "0x10", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000000cea" - ], - "transactionHash": "0x4d4f67b92f9df8c17621d6d9477880d184fab09d97307a7b36f06a74212e1600", - "transactionIndex": "0x4" - }, - { - "address": "0x22799daa45209338b7f938edf251bdfd1e6dcb32", - "blockHash": "0x34e7eb20fc5dcbe40b7e93091e978b2b958207bbeac4f643b9a94487824e6614", - "blockNumber": "0xfab8898", - "data": "0x", - "logIndex": "0x4", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x000000000000000000000000000000000000000000000000000000000000311d" - ], - "transactionHash": "0x6519888e776d75fa05268f827fe99852b18c9da220feea4ffde98584d1f55e38", - "transactionIndex": "0x3" - }, - { - "address": "0xe9bd233b2b34934fb83955ec15c2ac48f31a0e8c", - "blockHash": "0x701cfb8f3c87685781a2cfd162e0ae49eee7d0c6ccdfa1172f261f1be807b5b3", - "blockNumber": "0x104f7b9b", - "data": "0x", - "logIndex": "0xa", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005d14d2fc18f592b0fe5f6ce1ae091380294dcf71", - "0x0000000000000000000000000000000000000000000000000000000000000f5b" - ], - "transactionHash": "0x8851a1d2dc25cc50ed0ba53f8d3ced16603084a4e0c6341be715c621d3a076b6", - "transactionIndex": "0x9" - } - ] - }, "00d5f20474b86367ab6e32bd8baafbea": { "result": "0x00000000000000000000000000000000000000000000000000002ed2bd3873e9" }, - "e743e118c678bec9dc3bc4217d38e1a1": { - "result": "0x00000000000000000000000000000000000000000000000100000000000aa4950000000000000000000000000000000000000000000000000000003b8510169000000000000000000000000000000000000000000000000000000000670e884600000000000000000000000000000000000000000000000000000000670e884600000000000000000000000000000000000000000000000100000000000aa495" - }, "8b433b1841f9f5fe3c7fb58c047a6c25": { "result": "0x0000000000000000000000000000000000000000000000000000000000000000" }, + "e743e118c678bec9dc3bc4217d38e1a1": { + "result": "0x00000000000000000000000000000000000000000000000100000000000aa4950000000000000000000000000000000000000000000000000000003b8510169000000000000000000000000000000000000000000000000000000000670e884600000000000000000000000000000000000000000000000000000000670e884600000000000000000000000000000000000000000000000100000000000aa495" + }, "4d6f493537a9c4c138a1b5f751ea137d": { "result": "0x0000000000000000000000000000000000000000000000000000c4a4dafb305e" } diff --git a/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/ethereum.positions.lido-market.json b/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/ethereum.positions.lido-market.json index 0ecec3eb3..7074f7586 100644 --- a/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/ethereum.positions.lido-market.json +++ b/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/snapshots/ethereum.positions.lido-market.json @@ -1,7 +1,7 @@ { - "blockNumber": 21330297, - "latency": "Latency: 1.428 seconds", - "aggregatedValues": ["USD241.56"], + "blockNumber": 22224621, + "latency": "Latency: 2.218 seconds", + "aggregatedValues": ["USD26,611,943,564.38"], "snapshot": [ { "protocolId": "aave-v3", @@ -27,28 +27,28 @@ "decimals": 18, "tokens": [ { - "address": "0xfA1fDbBD71B0aA16162D76914d69cD8CB3Ef92da", - "name": "Aave Ethereum Lido WETH", - "symbol": "aEthLidoWETH", + "address": "0x32a6268f9Ba3642Dda7892aDd74f1D34469A4259", + "name": "Aave Ethereum USDS", + "symbol": "aEthUSDS", "decimals": 18, "type": "underlying-claimable", - "balanceRaw": "63565426583012635n", + "balanceRaw": "47418807608510974050n", "tokens": [ { - "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "name": "Wrapped Ether", - "symbol": "WETH", + "address": "0xdC035D45d973E3EC169d2276DDab16f1e407384F", + "name": "USDS Stablecoin", + "symbol": "USDS", "decimals": 18, "type": "underlying-claimable", - "balanceRaw": "63565426583012635n", - "balance": 0.06356542658301263, - "price": 3800.11, - "iconUrl": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png" + "balanceRaw": "47418807608510974050n", + "balance": 47.418807608510974, + "price": 561210728.5381668, + "iconUrl": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdC035D45d973E3EC169d2276DDab16f1e407384F/logo.png" } ], - "balance": 0.06356542658301263, - "price": 3800.11, - "iconUrl": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xfA1fDbBD71B0aA16162D76914d69cD8CB3Ef92da/logo.png" + "balance": 47.418807608510974, + "price": 561210728.5381668, + "iconUrl": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x32a6268f9Ba3642Dda7892aDd74f1D34469A4259/logo.png" } ], "balance": 1e-18 @@ -57,93 +57,29 @@ } ], "rpcResponses": { - "722d93233a3a8540be9aab386f5dcb9c": { - "result": [ - { - "address": "0xfa1fdbbd71b0aa16162d76914d69cd8cb3ef92da", - "blockHash": "0x44c72601129623d0313890319574a2de831f1416f7b35b1f634f5beb1d930b24", - "blockNumber": "0x140741e", - "data": "0x0000000000000000000000000000000000000000000000000003afa3fe1bed2c", - "logIndex": "0x18f", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b83f1688c0b7ebb155a830ae78f71527ef55e759" - ], - "transactionHash": "0xf6aa2474714ed7ffe649e32a58fc695d44e6d339f92a18ed4eeb7a2752236afa", - "transactionIndex": "0x59" - }, - { - "address": "0xfa1fdbbd71b0aa16162d76914d69cd8cb3ef92da", - "blockHash": "0xbe5c31be384dcd6105e678a3c6f2eb12d7e3634069d801ec39d43d4a1e3d162f", - "blockNumber": "0x1408fe9", - "data": "0x0000000000000000000000000000000000000000000000070c23778c146a7389", - "logIndex": "0x1a7", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b83f1688c0b7ebb155a830ae78f71527ef55e759" - ], - "transactionHash": "0x85a372f5e6fef92a70b497deff9d5c2abb59c80cf5fb02431dce35e952637b0a", - "transactionIndex": "0xa2" - }, - { - "address": "0xfa1fdbbd71b0aa16162d76914d69cd8cb3ef92da", - "blockHash": "0x2c207e0c4899c54697ecff37d075ffc13f482e898d61002bf8c95d8288996b0b", - "blockNumber": "0x141a9bc", - "data": "0x000000000000000000000000000000000000000000000000013898b4c41d2f27", - "logIndex": "0x5b", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b83f1688c0b7ebb155a830ae78f71527ef55e759" - ], - "transactionHash": "0xc36dc3a31caf4947aa4fed76e58e4455914c165b2bab5a866de0f3feb1161206", - "transactionIndex": "0x12" - }, - { - "address": "0xfa1fdbbd71b0aa16162d76914d69cd8cb3ef92da", - "blockHash": "0x69144a80479073a074fba45de763695609a624cdc2477b1a67c83540e91e196c", - "blockNumber": "0x141bfbc", - "data": "0x000000000000000000000000000000000000000000000000000f53509a16cfc7", - "logIndex": "0x30", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b83f1688c0b7ebb155a830ae78f71527ef55e759" - ], - "transactionHash": "0x1ffbad7e5bb9708850bd73266f869fd5a1939c1400659b0131fcfbe1f5e0a5cc", - "transactionIndex": "0xe" - }, - { - "address": "0xfa1fdbbd71b0aa16162d76914d69cd8cb3ef92da", - "blockHash": "0x28cce89a182748a46a8abfdf7783b8dfd4a32228fa9750ad2d2a2fee09b14b41", - "blockNumber": "0x143dffa", - "data": "0x0000000000000000000000000000000000000000000000000193127a3ac823ba", - "logIndex": "0x243", - "removed": false, - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b83f1688c0b7ebb155a830ae78f71527ef55e759" - ], - "transactionHash": "0x441b624cd6404ce43b8342b2d21ca959cfc074600ed13b981733e490ffd0adad", - "transactionIndex": "0x145" - } - ] + "8b855aa9dd103d0811282ea97eb9a6ae": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "fd7ae353af60be13481f981a3d22bd40": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000000" }, - "69057aaddf713aa03377f33446bbf2a4": { - "result": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000500000000000000000000000030d20208d987713f46dfd34ef128bb16c404d10f000000000000000000000000fa1fdbbd71b0aa16162d76914d69cd8cb3ef92da0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000032a6268f9ba3642dda7892add74f1d34469a4259000000000000000000000000c035a7cf15375ce2706766804551791ad035e0c20000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1d46b2f7a051b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + "4e6cdbc8a0db27387f739ef9db2fadde": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "11f3b50ee81a5e8ae7ac2b1e041b7a8f": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000000" }, - "a0ebca2cf82553427fb4b4845f4200fa": { - "result": "0x0000000000000000000000000000000000000000000000070000000000000cca000000000000000000000000000000000000000000000000000000587a6bb0c00000000000000000000000000000000000000000000000000000000067508006000000000000000000000000000000000000000000000000000000006750801b0000000000000000000000000000000000000000000000070000000000000cca" + "9f53e24f860cbd6189b226b1f5e82603": { + "result": "0x00000000000000000000000000000000000000000000000292117248c9e30862" }, - "f1f64dce24280cbd215071f3c34f1d6a": { + "0ae2d201e682f2726976f7af8c8ae7d5": { + "result": "0x00000000000000000000000000000000000000000000000700000000000028630000000000000000000000000000000000000000000000000000002464aecd000000000000000000000000000000000000000000000000000000000067f529570000000000000000000000000000000000000000000000000000000067f5296f0000000000000000000000000000000000000000000000070000000000002863" + }, + "13e5b996bdc32e061146247277acaae5": { "result": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "3306dac9549eb4ee165ddf37dc81d5da": { + "result": "0x000000000000000000000000000000000000000000004c07af0024f7068d9f4a" } } } diff --git a/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/testCases.ts b/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/testCases.ts index 5a1a4de84..f961a3c72 100644 --- a/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/testCases.ts +++ b/packages/adapters-library/src/adapters/aave-v3/products/rewards/tests/testCases.ts @@ -20,10 +20,10 @@ export const testCases: TestCase[] = [ method: 'positions', input: { - userAddress: '0xb83F1688C0b7ebb155a830ae78F71527Ef55e759', + userAddress: '0xAa0c3d6fD25Aa2C23AED2659197EF39AeA306172', filterProtocolTokens: ['0x8164Cc65827dcFe994AB23944CBC90e0aa80bFcb'], }, - blockNumber: 21330297, + blockNumber: 22224621, }, ] diff --git a/packages/adapters-library/src/defiProvider.ts b/packages/adapters-library/src/defiProvider.ts index 61a2b9dd6..7b0bd7985 100644 --- a/packages/adapters-library/src/defiProvider.ts +++ b/packages/adapters-library/src/defiProvider.ts @@ -143,7 +143,10 @@ export class DefiProvider { const userPoolsByChain = ( await filterMapAsync(Object.values(EvmChain), async (chainId) => { - if (filterChainIds && !filterChainIds.includes(chainId)) { + if ( + filterProtocolTokens || + (filterChainIds && !filterChainIds.includes(chainId)) + ) { return undefined }