EIP-1: Improvements to ESD Coupon Redemption

I agree with @delitzer that (at least for now) what we’ve been calling the “credible whales” in Discord can defend against the debt reset grief attack. And with @lesh, that it must be weighed against the potential griefs in the status quo. We may find that we are revisiting this one in the future when our community is much more distributed and potentially hostile actors, competing algorithmic stables for example, have bigger incentives to do it. But, I’m convinced that it isn’t an immediate concern and the debt reset proposal would be a big benefit if it works as intended.

To @onewayfunction’s point, are there any specific arguments against allowing contracts to call advance() that aren’t addressed by the 2-epoch rule for coupons? Because if not, adding both just seems like anti-bot bias and will almost surely reignite the gas war around epoch time, especially during coupon redemption periods. I’d rather see that gas money go to a positive-sum community bot in the form of voluntary usage fees instead of miners. Taking this action solely on the “unknown unknowns” argument seems almost punitive.

In the absence of further justification for the EOA rule, I support @onewayfunction’s approach (pending further testing, etc.).

1 Like

As you say @delitzer the inflation will happpen anyway if no coupons expire, but wiping debt all but ensures no coupons will expire meaning the supply cap of ESD will never go down. So the tradeoff is between riskless inflation (ESD printing) and a right to some inflation that can expire. While coupons having higher EV for bots makes coupons non-fungible it also creates more scenarios where coupons can expire (which is a necessary outcome imo, there has to be some risk) during the debt overhang, which again was basically the only period in ESD’s history where the price was pegged.

imo the real underlying issue here is the lack of a queue - people wait for 30% premiums because there’s actually less redemption risk when you wait. Basis was able to have a 5 yr expiration because the queue served as a method to park capital to be unlocked in order. Coupon buyers will continue to play chicken in these cycles until some get hit with an expiry, and wiping debt makes that less likely

ESD has already expanded very very fast. Immediately wiping debt, while more egalitarian to coupon holders, just swings the needle towards riskless inflation faster at moments of transition

1 Like

Disclaimer - I am not a Solidity Engineer!

https://www.diffchecker.com/bmrTrPKq Made my own diffchecker :stuck_out_tongue:

Looks like there are only four functions that touch _state.balance.debt.

  • incrementTotalDebt
  • decrementTotalDebt
  • totalDebt
  • setDebtToZero (our new function)

The only thing I want to call out is that L1844 will never trigger, as totalDebt > 0 will always be false at this stage. This is expected behavior :+1:

3 Likes

I just noticed that someone has deployed the proposed implementation to 0x2BB93FBDfA5c9dcdB157b90524978727c871AF3C.

Here is the diffchecker for the deployed contract vs the current Implementation 0xdAf2593AaF8EF040E279c806aaB8deDFE534d421:

https://www.diffchecker.com/abMtq8Ca Please verify and create your own diffchecker! I have reviewed it and it matches @onewayfunction’s code above.

Anyone with 1% of the DAO can now propose this implementation by calling:
function vote(address candidate, Candidate.Vote vote) on the DAO contract.

the candidate argument should be 0x2BB93FBDfA5c9dcdB157b90524978727c871AF3C
the vote argument should be 1 (YES) - assuming anyone who issues the proposal is in favor of it!

PS check out this page to see newly deployed and verified contracts as they pop up :slight_smile: https://etherscan.io/contractsVerified

4 Likes

GODO! Aggresddd !!!

For Part I, some advisors (@patd, @dmaddock, …) and I have highlighted the inflation issue if we reset “Debt” to zero once TWAP is higher than 1. We should reset “(unpurchased) Coupon” instead of “Dept” to be zero. Dept should still be there and will offset the future expansion of inflation gradually.

2 Likes

Will Price + Robert Leshner – you made the original proposal, how do you feel about this implementation of your proposed idea? Are you supportive?

@eqparenthesis – I am curious how you feel about this proposal and if you are supportive? Do you intend to vote your opinion, or are you going to vote with the majority as happened in the last proposal (if you care to share)?

Have other technical folks evaluated the proposed changes independently? Does anyone care to share any concerns or the fact they have no concerns?

Thanks community!

I agree with this. Limiting coupon purchases when ESD > $1 makes sense, but the debt should still need to be consumed before the supply start inflating again to prevent too rapid of an expansion and exacerbating the cycles.