Skip to content

Commit

Permalink
refactor(migration): remove deployless boilerplate
Browse files Browse the repository at this point in the history
  • Loading branch information
oumar-fall committed Jan 15, 2025
1 parent caa8198 commit a98e75f
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
SupplyMigrationLimiter,
} from "../../types/index.js";

import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";

import { type Client, erc20Abi } from "viem";
import { getChainId, readContract } from "viem/actions";
Expand All @@ -19,7 +19,7 @@ import { rateToAPY } from "./aaveV2.helpers.js";
export async function fetchAaveV2Positions(
user: Address,
client: Client,
{ deployless = true, ...parameters }: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
): Promise<MigratablePosition[]> {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
Expand All @@ -32,10 +32,6 @@ export async function fetchAaveV2Positions(

if (!migrationContracts) return [];

if (deployless) {
//TODO
}

const [allATokens, userConfig, reservesList] = await Promise.all([
readContract(client, {
...parameters,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { type Address, ChainUtils, MathLib, Token } from "@morpho-org/blue-sdk";
import { isDefined } from "@morpho-org/morpho-ts";

import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";

import { type Client, erc20Abi } from "viem";
import { getChainId, readContract } from "viem/actions";
Expand All @@ -17,7 +17,7 @@ import { rateToAPY } from "../aaveV2/aaveV2.helpers.js";
export async function fetchAaveV3Positions(
user: Address,
client: Client,
{ deployless = true, ...parameters }: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
): Promise<MigratablePosition[]> {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
Expand All @@ -30,10 +30,6 @@ export async function fetchAaveV3Positions(

if (!migrationContracts) return [];

if (deployless) {
//TODO
}

const [allATokens, userConfig, reservesList] = await Promise.all([
readContract(client, {
...parameters,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { MigratableSupplyPosition_AaveV3Optimizer } from "../../positions/supply
import { MigratableProtocol } from "../../types/index.js";
import { SupplyMigrationLimiter } from "../../types/positions.js";

import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";
import {
type Client,
erc20Abi,
Expand All @@ -32,7 +32,7 @@ import {
export async function fetchAaveV3OptimizerPositions(
user: Address,
client: Client,
{ deployless = true, ...parameters }: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
): Promise<MigratablePosition[]> {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
Expand All @@ -45,10 +45,6 @@ export async function fetchAaveV3OptimizerPositions(

if (!migrationContracts) return [];

if (deployless) {
//TODO
}

const [allMarkets, isBundlerManaging, nonce] = await Promise.all([
[addresses[ChainId.EthMainnet].wNative], // TODO we only focus on pure suppliers now
readContract(client, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
} from "../../types/index.js";
import { rateToApy } from "../../utils/rates.js";

import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";
import type { Client } from "viem";
import { getChainId, readContract } from "viem/actions";
import { cErc20Abi, cEtherAbi, mErc20Abi } from "../../abis/compoundV2.abis.js";
Expand All @@ -33,18 +33,14 @@ async function fetchCompoundV2InstancePosition(
user: Address,
cTokenAddress: Address,
client: Client,
{ deployless = true, ...parameters }: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
) {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
);

const chainId = parameters.chainId;

if (deployless) {
//TODO
}

const { abi, calls } = (() => {
if (chainId === ChainId.EthMainnet) {
if (
Expand Down Expand Up @@ -211,7 +207,7 @@ async function fetchCompoundV2InstancePosition(
export async function fetchCompoundV2Positions(
user: Address,
client: Client,
parameters: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
): Promise<MigratablePosition[]> {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
Expand All @@ -226,10 +222,6 @@ export async function fetchCompoundV2Positions(

const { comptroller: comptrollerAddress, ...markets } = migrationContracts;

if (parameters.deployless !== false) {
//TODO
}

const enterredMarkets = new Set(
await readContract(client, {
...parameters,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ChainId, ChainUtils, MathLib } from "@morpho-org/blue-sdk";
import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";
import type { Address, Client } from "viem";
import { getBlock, getChainId, readContract } from "viem/actions";
import { cErc20Abi, mErc20Abi } from "../../abis/compoundV2.abis.js";
Expand Down Expand Up @@ -58,7 +58,7 @@ export const getAccruedExchangeRate = (
export const fetchAccruedExchangeRate = async (
cTokenAddress: Address,
client: Client,
{ deployless = true, ...parameters }: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
) => {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { type Address, ChainUtils } from "@morpho-org/blue-sdk";
import { isDefined, values } from "@morpho-org/morpho-ts";

import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";
import type { Client } from "viem";
import { getChainId, readContract } from "viem/actions";
import { cometAbi, cometExtAbi } from "../../abis/compoundV3.abis.js";
Expand All @@ -18,12 +18,8 @@ async function fetchCompoundV3InstancePosition(
user: Address,
cometAddress: Address,
client: Client,
{ deployless = true, ...parameters }: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
) {
if (deployless) {
//TODO
}

const [
supplyBalance,
nonce,
Expand Down Expand Up @@ -123,7 +119,7 @@ async function fetchCompoundV3InstancePosition(
export async function fetchCompoundV3Positions(
user: Address,
client: Client,
parameters: DeploylessFetchParameters = {},
parameters: FetchParameters = {},
): Promise<MigratablePosition[]> {
parameters.chainId = ChainUtils.parseSupportedChainId(
parameters.chainId ?? (await getChainId(client)),
Expand All @@ -136,10 +132,6 @@ export async function fetchCompoundV3Positions(

if (!migrationContracts) return [];

if (parameters.deployless !== false) {
//TODO
}

const positions = (
await Promise.all(
values(migrationContracts).map(({ address: cometAddress }) =>
Expand Down
4 changes: 2 additions & 2 deletions packages/blue-migration-sdk-viem/src/fetchers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Address } from "@morpho-org/blue-sdk";
import type { MigratablePosition } from "../positions/index.js";
import { MigratableProtocol } from "../types/index.js";

import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem";
import type { FetchParameters } from "@morpho-org/blue-sdk-viem";
import { fromEntries } from "@morpho-org/morpho-ts";
import type { Client } from "viem";
import { fetchAaveV2Positions } from "./aaveV2/aaveV2.fetchers.js";
Expand Down Expand Up @@ -33,7 +33,7 @@ export async function fetchMigratablePositions(
MigratableProtocol.compoundV2,
],
}: {
parameters?: DeploylessFetchParameters;
parameters?: FetchParameters;
protocols?: MigratableProtocol[];
} = {},
): Promise<{
Expand Down

0 comments on commit a98e75f

Please sign in to comment.