Abstraction layer for Morpho's complexity.
npm install @morpho-org/consumer-sdk!Beta
> ⚠️ Experimental package: This SDK is currently in experimental phase.
> The abstraction layer that simplifies Morpho protocol
``typescript
import { MorphoClient } from "@morpho-org/consumer-sdk";
import { createWalletClient, http } from "viem";
const client = createWalletClient({
chain: mainnet,
transport: http(),
account: "0x...",
});
const morpho = new MorphoClient(client);
const vault = morpho.vaultV2("0x1234...", 1); // vault address, chain ID
const deposit = await vault.deposit({
assets: 1000000000000000000n, // vault asset amount
userAddress: "0x1234...", // recipient address
});
console.log(deposit.buildTx());
console.log(await deposit.getRequirements());
const withdraw = vault.withdraw({
assets: 1000000000000000000n, // vault asset amount
userAddress: "0x1234...", // recipient address
});
console.log(withdraw.buildTx());
const redeem = vault.redeem({
shares: 1000000000000000000n, // vault shares amount
userAddress: "0x1234...", // recipient address
});
console.log(redeem.buildTx());
`
`typescript
import { vaultV2Deposit } from "@morpho-org/consumer-sdk";
const deposit = vaultV2Deposit({
vault: {
chainId: mainnet.id,
address: "0x1234...", // vault address
asset: "0x1234...", // asset address
},
args: {
assets: 1000000000000000000n, // vault asset amount
maxSharePrice: 995180497664595699494513674403n,
recipient: "0x1234...", // recipient address
},
});
`
This guide explains how to link this local package to your Next.js application for easier debugging.
`bash`In this consumer-sdk project
pnpm run build:link
`bash``Link the local package
pnpm link consumer-sdk
Contributions are welcome! Feel free to open an issue or PR.
Made with ❤️ by the Morpho team