Skip to content

Commit

Permalink
test(blue-sdk): fix market params types
Browse files Browse the repository at this point in the history
  • Loading branch information
Rubilmax committed Oct 21, 2024
1 parent c048141 commit 8ccfa22
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 20 deletions.
6 changes: 2 additions & 4 deletions packages/blue-sdk/src/market/MarketParams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,12 @@ export class MarketParams implements InputMarketParams {
/**
* The market's hex-encoded id, defined as the hash of the market params.
*/
// Cached because params are readonly.
public readonly id: MarketId;
public readonly id: MarketId; // Cached because params are readonly.

/**
* The market's liquidation incentive factor.
*/
// Cached because lltv is readonly.
public readonly liquidationIncentiveFactor: bigint;
public readonly liquidationIncentiveFactor: bigint; // Cached because lltv is readonly.

constructor(params: InputMarketParams) {
const { collateralToken, loanToken, oracle, irm, lltv } = params;
Expand Down
30 changes: 24 additions & 6 deletions packages/blue-sdk/test/e2e/Market.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Time } from "@morpho-org/morpho-ts";
import { parseUnits } from "viem";
import { type Address, parseUnits } from "viem";
import { describe, expect } from "vitest";
import { ChainId, Market, MarketParams, addresses } from "../../src/index.js";
import { adaptiveCurveIrmAbi, blueAbi, blueOracleAbi } from "./abis.js";
Expand All @@ -17,6 +17,24 @@ const params = new MarketParams({
lltv: parseUnits("86", 16),
});

declare module "../../src/index.js" {
interface MarketParams {
asArg: {
collateralToken: Address;
loanToken: Address;
oracle: Address;
irm: Address;
lltv: bigint;
};
}
}

Object.defineProperty(MarketParams.prototype, "asArg", {
get() {
return this;
},
});

describe("Market", () => {
test("should borrow borrowable assets", async ({ client }) => {
const collateral = parseUnits("1", 18);
Expand All @@ -39,7 +57,7 @@ describe("Market", () => {
address: morpho,
functionName: "borrow",
args: [
params,
params.asArg,
parseUnits("1", 6),
0n,
client.account.address,
Expand Down Expand Up @@ -104,7 +122,7 @@ describe("Market", () => {
address: morpho,
functionName: "borrow",
args: [
params,
params.asArg,
maxBorrowable + 10n,
0n,
client.account.address,
Expand All @@ -118,7 +136,7 @@ describe("Market", () => {
address: morpho,
functionName: "borrow",
args: [
params,
params.asArg,
maxBorrowable,
0n,
client.account.address,
Expand Down Expand Up @@ -154,7 +172,7 @@ describe("Market", () => {
address: morpho,
functionName: "borrow",
args: [
params,
params.asArg,
parseUnits("1", 6),
0n,
client.account.address,
Expand Down Expand Up @@ -233,7 +251,7 @@ describe("Market", () => {
address: morpho,
functionName: "borrow",
args: [
params,
params.asArg,
maxBorrowable,
0n,
client.account.address,
Expand Down
2 changes: 1 addition & 1 deletion packages/bundler-sdk-viem/test/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export const donate =
abi: blueAbi,
functionName: "supply",
args: [
data.getMarket(data.getVault(vault).withdrawQueue[0]!).params,
data.getMarket(data.getVault(vault).withdrawQueue[0]!).params.asArg,
donation,
0n,
vault,
Expand Down
18 changes: 9 additions & 9 deletions packages/bundler-sdk-viem/test/populateBundle.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ describe("populateBundle", () => {
address: morpho,
abi: blueAbi,
functionName: "createMarket",
args: [marketParams],
args: [marketParams.asArg],
});

const block = await client.getBlock();
Expand Down Expand Up @@ -798,7 +798,7 @@ describe("populateBundle", () => {
address: morpho,
abi: blueAbi,
functionName: "createMarket",
args: [marketParams],
args: [marketParams.asArg],
});

const block = await client.getBlock();
Expand Down Expand Up @@ -1601,7 +1601,7 @@ describe("populateBundle", () => {
abi: blueAbi,
functionName: "borrow",
args: [
eth_wstEth,
eth_wstEth.asArg,
loanAssets,
0n,
client.account.address,
Expand Down Expand Up @@ -2213,7 +2213,7 @@ describe("populateBundle", () => {
abi: blueAbi,
functionName: "borrow",
args: [
eth_wstEth,
eth_wstEth.asArg,
borrowAmount,
0n,
client.account.address,
Expand Down Expand Up @@ -3083,7 +3083,7 @@ describe("populateBundle", () => {
address: morpho,
abi: blueAbi,
functionName: "createMarket",
args: [marketParams],
args: [marketParams.asArg],
});

const block = await client.getBlock();
Expand Down Expand Up @@ -3251,7 +3251,7 @@ describe("populateBundle", () => {
address: morpho,
abi: blueAbi,
functionName: "createMarket",
args: [marketParams],
args: [marketParams.asArg],
});

const block = await client.getBlock();
Expand Down Expand Up @@ -4090,7 +4090,7 @@ describe("populateBundle", () => {
abi: blueAbi,
functionName: "borrow",
args: [
eth_wstEth,
eth_wstEth.asArg,
loanAssets,
0n,
client.account.address,
Expand Down Expand Up @@ -4725,7 +4725,7 @@ describe("populateBundle", () => {
abi: blueAbi,
functionName: "borrow",
args: [
eth_wstEth,
eth_wstEth.asArg,
borrowAmount,
0n,
client.account.address,
Expand Down Expand Up @@ -4963,7 +4963,7 @@ describe("populateBundle", () => {
address: morpho,
abi: blueAbi,
functionName: "createMarket",
args: [marketParams],
args: [marketParams.asArg],
});

const whitelisted = "0x53753098E2660AbD4834A3eD713D11AC1123421A";
Expand Down
19 changes: 19 additions & 0 deletions packages/morpho-test/src/fixtures/markets.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {
type Address,
ChainId,
type InputMarketParams,
MarketParams,
Expand Down Expand Up @@ -209,3 +210,21 @@ export const randomMarket = (params: Partial<InputMarketParams> = {}) =>
lltv: parseEther("0.80"),
...params,
});

declare module "@morpho-org/blue-sdk" {
interface MarketParams {
asArg: {
collateralToken: Address;
loanToken: Address;
oracle: Address;
irm: Address;
lltv: bigint;
};
}
}

Object.defineProperty(MarketParams.prototype, "asArg", {
get() {
return this;
},
});

0 comments on commit 8ccfa22

Please sign in to comment.