Executed

Add TwoWay Batcher


ID 3

ID 3

Proposed on: Jan 4th, 2023

Proposed on: Jan 4th, 2023

Votes

Actions

Type

Address

Details

Custom

0x4d2A...5fec

upgrade(..)

Custom

Account

0x4d2A...5fec

Method

upgrade(..)

Custom

0xAEf5...9094

acceptOwner(..)

Custom

Account

0xAEf5...9094

Method

acceptOwner(..)

Custom

0xD05a...Da4B

borrow(..)

Custom

Account

0xD05a...Da4B

Method

borrow(..)

Custom

0xD05a...Da4B

burnStake(..)

Custom

Account

0xD05a...Da4B

Method

burnStake(..)

Proposal

Background

Previously in EIP-2, a new system called trusted borrowing was added to enable wrap / unwrap batcher contracts among other use cases.

The initial batcher contract WrapOnlyBatcher, as the name suggests, allowed for significantly cheaper USDC-to-DSU wrap transactions, however this batcher could not support DSU-to-USDC unwrap transactions, due to the requirement to hold non-reserve USDC.

TwoWayBatcher

We propose a new batcher implementation that supports the permissionless deposit / withdraw of USDC by interested parties to fund the batcher’s supply of USDC.

By holding non-reserve USDC as well as DSU from the reserve’s trusted borrow system, we can then enable bidirectional batching. This primarily serves to enable significantly cheaper DSU-to-USDC unwraps.

Quality of Life

As a housekeeping item, an additional clause to burn any existing ESS held in the reserve has been added on.

Resources

  • The Reserve update implementation can be seen here.
  • The TwoWay Batcher implementation can be seen here.
  • Further discussion here.
Votes
Status