Updating the Easy Track setup for LEGO

TL;DR

This proposal is to optimize LEGO’s multisig funding operations. It describes a new version of the Easy Track top-up setup of contracts. This version is an upgrade of the existing Easy Track factories with limits , which allows working with a list of tokens instead of a predetermined one.

Context

Currently, Lido DAO uses Easy Track motion setups with limits to make budgeted transfers to LEGO’s multisig. The Easy Track factory allow topping up the committee’s multisig in LDO and DAI:

Problem Statement

For convenience, the Committee plans its budget in USD.

USD- and stablecoin-nominated operations of Lido DAO used to be set up and maintained in DAI.

With the Treasury Management Committee set up , the portfolio of stablecoins held in Lido DAO Treasury may change. Thus the Committee may require from the Treasury other stablecoins (eg. USDT, USDC, depending on the portfolio state). The problem is that this is only possible by deploying separate Easy Track setups separately for each token. But in this case, counting actual expenses made in various stablecoins towards the single limit becomes impossible.

Proposed solution

To maintain the steady flow of operations, Lido Contributors improved the existing Easy Track top-up setup to make stablecoin-nominated payments under the single onchain-maintained limit.

This setup of contracts works with a registry of tokens. The registry is defined during deployment and can only be changed through an on-chain vote in the future. The initial list of tokens will consist of DAI 0x6b175474e89094c44da98b954eedeac495271d0f, USDT 0xdac17f958d2ee523a2206206994597c13d831ec7, and USDC 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.

The mechanism for checking limits remains the same: before creating and executing each motion, the contracts check whether expenses for the current period do not exceed the established limit. However, the new setup has an improvement: it checks whether the payout token is allowed (pre-placed in the registry) and normalizes the amount (converts it to eighteen digits in decimals).

Next steps

The new contract has been successfully deployed and audited by Oxorio.

The address of the new contract is:

The new stablecoin-nominated setups will use AllowedRecipientsRegistry contracts from the DAI setups. These contracts hold all limit and recipient parameters (limit, limit period, spent amount in the current period, allowed recipients registry). Thus, the transition will be seamless.

Addresses of new contracts will be shared in the comments under the post when they are deployed.

In the upcoming on-chain vote, new factories will replace the Easy Track DAI factory for LEGO multisig.

5 Likes

The new contracts for the LEGO stables setup were deployed and verified.
If the upcoming on-chain vote is approved by the DAO:

  1. new contracts will be attached to Easy Track:
  1. old TopUpAllowedRecipients factory 0x0535a67ea2D6d46f85fE568B7EaA91Ca16824FEC will be removed

AllowedRecipientsRegistry remains the same: 0xb0FE4D300334461523D9d61AaD90D0494e1Abb43

3 Likes

On-chain voting has been launched!
Points 21-22 are dedicated to replacing the top-up factory for LEGO with stablecoins instead of DAI.
https://vote.lido.fi/vote/170
The main phase will last until January 18th, 4:24 PM UTC!
Please cast your votes!

2 Likes

The voting has been restarted.
The main phase will last until January 25th, Thursday, 14:01.
Please vote!
https://vote.lido.fi/vote/171

2 Likes

The on-chain vote obtained quorum and was executed! Thank you for taking part and casting your votes!

4 Likes