Skip to content

Commit

Permalink
chore: remove sdk and update deployment addresses in readme
Browse files Browse the repository at this point in the history
  • Loading branch information
MathisGD committed Nov 5, 2024
1 parent 17025b3 commit 8bbc7e6
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 812 deletions.
131 changes: 5 additions & 126 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,132 +12,6 @@ Some chain-specific domains are also scoped to the chain-specific folder, becaus

User-end bundlers are provided in each chain-specific folder, instantiating all the intermediary domain-specific bundlers and associated parameters (such as chain-specific protocol addresses, e.g. [`EthereumBundlerV2`](./src/ethereum/EthereumBundlerV2.sol)).

## Deployments

- [EthereumBundler](https://github.com/morpho-org/morpho-blue-bundlers/releases/tag/v1.0.0)
- [EthereumBundlerV2](https://github.com/morpho-org/morpho-blue-bundlers/releases/tag/v1.2.0)
- (TODO) AgnosticBundlerV2 on Base

## Getting Started

### Package installation

```bash
npm install @morpho-org/morpho-blue-bundlers
```

```bash
yarn add @morpho-org/morpho-blue-bundlers
```

### Usage

Bundle a collateral supply and a borrow:

```typescript
import { BundlerAction } from "@morpho-org/morpho-blue-bundlers";

const collateral = 1_000000000000000000n;
const borrowedAssets = 1000_000000n;

const borrower = "0x...";
const marketParams = {
collateralToken: "0x...",
loanToken: "0x...",
irm: "0x...",
oracle: "0x...",
lltv: 86_0000000000000000n,
};

await bundler
.connect(supplier)
.multicall([
BundlerAction.transferFrom(marketParams.collateralToken, collateral),
BundlerAction.morphoSupplyCollateral(marketParams, collateral, borrower, "0x"),
BundlerAction.morphoBorrow(marketParams, borrowedAssets, 0n, borrower, borrower),
]);
```

Bundle a permit2 signature approval and a ERC-4626 deposit:

```typescript
import { Signature } from "ethers";

import { BundlerAction } from "@morpho-org/morpho-blue-bundlers";

const permit2Address = "0x000000000022D473030F116dDEE9F6B43aC78BA3";

const permit2Config = {
domain: {
name: "Permit2",
chainId: "0x1",
verifyingContract: permit2Address,
},
types: {
PermitSingle: [
{
name: "details",
type: "PermitDetails",
},
{
name: "spender",
type: "address",
},
{
name: "sigDeadline",
type: "uint256",
},
],
PermitDetails: [
{
name: "token",
type: "address",
},
{
name: "amount",
type: "uint160",
},
{
name: "expiration",
type: "uint48",
},
{
name: "nonce",
type: "uint48",
},
],
},
};

const assetAddress = "0x...";
const assets = 1000_000000n;

const supplier = "0x...";
const bundlerAddress = "0x...";
const permitSingle = {
details: {
token: assetAddress,
amount: assets,
nonce: 0n,
expiration: 2n ** 48n - 1,
},
spender: bundlerAddress,
sigDeadline: 2n ** 48n - 1,
};

await bundler
.connect(supplier)
.multicall([
BundlerAction.approve2(
permitSingle,
Signature.from(await supplier.signTypedData(permit2Config.domain, permit2Config.types, permitSingle)),
false,
),
BundlerAction.transferFrom2(assetAddress, assets),
BundlerAction.erc4626Deposit(erc4626Address, assets, 0, supplier),
]);
```

## Development

Install dependencies with `yarn`.
Expand All @@ -154,3 +28,8 @@ All audits are stored in the [audits](./audits/)' folder.
## License

Bundlers are licensed under `GPL-2.0-or-later`, see [`LICENSE`](./LICENSE).

## Links

- [Deployments](https://docs.morpho.org/bundlers/addresses/#bundlers)
- [SDK](https://github.com/morpho-org/sdks/tree/main/packages/bundler-sdk-ethers)
Loading

0 comments on commit 8bbc7e6

Please sign in to comment.