Skip to content

test: reserve, borrowAPY, supplyAP #76

test: reserve, borrowAPY, supplyAP

test: reserve, borrowAPY, supplyAP #76

Triggered via pull request July 23, 2025 14:28
Status Success
Total duration 4m 53s
Artifacts

pull-request.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 errors
Verify / Test
Process completed with exit code 1.
packages/client/src/actions/withdraw.test.ts > Given an Aave Market > And the reserve allows withdrawals in native tokens > When the user withdraws from the reserve in native tokens > Then the user should receive the amount in native tokens: packages/client/src/actions/withdraw.test.ts#L174
AssertionError: expected [ { …(7) } ] to deeply equal [ ObjectContaining{…} ] - Expected + Received [ - ObjectContaining { - "balance": ObjectContaining { - "amount": ObjectContaining { - "value": toBeBigDecimalCloseTo<0>, + { + "__typename": "MarketUserReserveSupplyPosition", + "apy": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "437538719900709532369996540", + "value": "0.43753871990070953236999654", + }, + "balance": { + "__typename": "TokenAmount", + "amount": { + "__typename": "DecimalValue", + "decimals": 18, + "raw": "10000001726276804", + "value": "0.010000001726276804", + }, + "usd": "36.82780635749768823512", + "usdPerToken": "3682.78", + }, + "canBeCollateral": true, + "currency": { + "__typename": "Currency", + "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "chainId": 99999999, + "decimals": 18, + "imageUrl": "https://token-logos.family.co/asset?id=99999999:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2&token=WETH", + "name": "Wrapped Ether", + "symbol": "WETH", + }, + "isCollateral": true, + "market": { + "__typename": "MarketInfo", + "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2", + "chain": { + "__typename": "Chain", + "chainId": 99999999, + "explorerUrl": "https://dashboard.tenderly.co/explorer/vnet/27ff3c60-0e2c-4d46-8190-f5170dc7da8c", + "icon": "https://statics.aave.com/ethereum.svg", + "name": "Forked Ethereum", }, + "icon": "https://statics.aave.com/ethereum.svg", + "name": "AaveV3ForkedEthereum", }, }, ] ❯ packages/client/src/actions/withdraw.test.ts:174:30
packages/client/src/actions/vaultDeploy.test.ts > Given the Aave Protocol v3 > When user deploys a vault for wETH on default market > Then vault is created: packages/client/src/actions/vaultDeploy.test.ts#L53
AssertionError: expected +0 to be 1 // Object.is equality - Expected + Received - 1 + 0 ❯ packages/client/src/actions/vaultDeploy.test.ts:53:44
packages/client/src/actions/reserve.test.ts > Given an Aave Market reserve > When fetching the supply APY history for it > Then it should return a time series for the specified window LAST_DAY: packages/client/src/actions/reserve.test.ts#L92
AssertionError: expected [ …(289) ] to deeply equal [ ObjectContaining{…}, …(288) ] - Expected + Received [ - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:30:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:25:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:20:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:15:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:10:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:05:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + "date": "2025-07-23T14:00:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:47.652Z, 2025-07-23T14:32:47.652Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename":
packages/client/src/actions/reserve.test.ts > Given an Aave Market reserve > When fetching the borrow APY history for it > Then it should return a time series for the specified window LAST_DAY: packages/client/src/actions/reserve.test.ts#L69
AssertionError: expected [ …(289) ] to deeply equal [ ObjectContaining{…}, …(288) ] - Expected + Received [ - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:30:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:25:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:20:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:15:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:10:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:05:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "703165865067052898580066137", + "value": "0.703165865067052898580066137", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + "date": "2025-07-23T14:00:00+00:00", }, - ObjectContaining { - "avgRate": Any<Object>, - "date": toBeBetween<2025-07-22T14:32:46.712Z, 2025-07-23T14:32:46.712Z>, + { + "__typename": "APYSample", + "avgRate": { + "__typename":
packages/client/src/actions/markets.test.ts > Given the Aave Protocol v3 > When fetching a single market > Then it should return supply reserves APYs in the expected order of magnitude: packages/client/src/actions/markets.test.ts#L69
AssertionError: expected [ { token: 'WETH', …(1) }, …(48) ] to deeply equal [ { token: 'WETH', …(1) }, …(48) ] - Expected + Received @@ -1,16 +1,16 @@ [ { - "apy": toBeBigDecimalCloseTo<"4", 0>, + "apy": "0.43753856589686048229160498", "token": "WETH", }, { - "apy": toBeBigDecimalCloseTo<"3", 0>, + "apy": "0.03819966906353599654744698", "token": "USDC", }, { - "apy": toBeBigDecimalCloseTo<"3", 0>, + "apy": "0.037998810047443793528461769", "token": "USDS", }, Any<Object>, Any<Object>, Any<Object>, ❯ packages/client/src/actions/markets.test.ts:69:9
packages/client/src/actions/eMode.test.ts > Given an Aave Market > And the user has some supply positions > When the user enables an E-Mode category involving some of the supply positions > Then any user supply position that are not included in the E-Mode category should not be able to be used as collateral: packages/client/src/actions/eMode.test.ts#L172
AssertionError: expected [ { …(7) }, { …(7) } ] to match object [ ObjectContaining{…}, …(1) ] (27 matching properties omitted from actual) - Expected + Received @@ -1,10 +1,48 @@ [ - ObjectContaining { - "canBeCollateral": false, - "currency": ObjectContaining { + { + "__typename": "MarketUserReserveSupplyPosition", + "apy": { + "__typename": "DecimalValue", + "decimals": 27, + "raw": "38199669063535996547446980", + "value": "0.03819966906353599654744698", + }, + "balance": { + "__typename": "TokenAmount", + "amount": { + "__typename": "DecimalValue", + "decimals": 6, + "raw": "10001", + "value": "0.010001", + }, + "usd": "0.00999959986", + "usdPerToken": "0.99986", + }, + "canBeCollateral": true, + "currency": { + "__typename": "Currency", "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "chainId": 99999999, + "decimals": 6, + "imageUrl": "https://token-logos.family.co/asset?id=99999999:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&token=USDC", + "name": "USD Coin", + "symbol": "USDC", + }, + "isCollateral": true, + "market": { + "__typename": "MarketInfo", + "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2", + "chain": { + "__typename": "Chain", + "chainId": 99999999, + "explorerUrl": "https://dashboard.tenderly.co/explorer/vnet/27ff3c60-0e2c-4d46-8190-f5170dc7da8c", + "icon": "https://statics.aave.com/ethereum.svg", + "name": "Forked Ethereum", + }, + "icon": "https://statics.aave.com/ethereum.svg", + "name": "AaveV3ForkedEthereum", }, }, ObjectContaining { "canBeCollateral": true, "currency": ObjectContaining { ❯ packages/client/src/actions/eMode.test.ts:172:30
packages/client/src/actions/eMode.test.ts > Given an Aave Market > When a user enables an E-Mode category for the given market > Then the market's reserves should have user state that reflects the selected E-Mode category settings: packages/client/src/actions/eMode.test.ts#L70
AssertionError: expected { __typename: 'Reserve', …(16) } to match object { userState: ObjectContaining{…} } (106 matching properties omitted from actual) - Expected + Received { - "userState": ObjectContaining { + "userState": { + "__typename": "ReserveUserState", + "balance": { + "__typename": "TokenAmount", + "amount": { + "__typename": "DecimalValue", + "decimals": 18, + "raw": "0", + "value": "0", + }, + "usd": "0", + "usdPerToken": "0.3024919", + }, + "borrowable": { + "__typename": "TokenAmount", + "amount": { + "__typename": "DecimalValue", + "decimals": 18, + "raw": "0", + "value": "0", + }, + "usd": "0", + "usdPerToken": "0.3024919", + }, "canBeBorrowed": false, - "canBeCollateral": false, - "emode": ObjectContaining { + "canBeCollateral": true, + "emode": { + "__typename": "EmodeReserveInfo", + "canBeBorrowed": true, + "canBeCollateral": true, "categoryId": 1, + "label": "ETH correlated", + "liquidationPenalty": { + "__typename": "DecimalValue", + "decimals": 4, + "raw": "100", + "value": "0.01", + }, + "liquidationThreshold": { + "__typename": "DecimalValue", + "decimals": 4, + "raw": "9500", + "value": "0.95", + }, + "maxLTV": { + "__typename": "DecimalValue", + "decimals": 4, + "raw": "9300", + "value": "0.93", + }, + }, + "isInIsolationMode": true, + "suppliable": { + "__typename": "TokenAmount", + "amount": { + "__typename": "DecimalValue", + "decimals": 18, + "raw": "0", + "value": "0", + }, + "usd": "0", + "usdPerToken": "0.3024919", }, }, } ❯ packages/client/src/actions/eMode.test.ts:70:25