AELIP-7: Transfer Updates

Author
StatusImplemented
ImplementorTBD
ReleaseTBD
Created2021-01-12

Simple Summary

This AELIP proposes to block transfers for pool and deal tokens as allowing transfers either presents an issue with external AMMs or with internal calculations needed for Aelin pools to function properly.

Only the Aelin Council will be able to transfer deal tokens for the purpose of sending custodied deal fees to $AELIN stakers.

Abstract

Pool token transfers will be blocked due to issues with the pro rata calculations and deallocations. Having transfers open makes the pro rata calculations difficult, while restricting transfers to make the pro rata calculations work opens up issues with funds getting stuck in AMMs.

Deal token transfers will be blocked due to issues with claiming math and the incompatibility with the current logic if they are put into contracts and AMMs. The Aelin Council will be the only unrestricted account for purposes of distributing deal fees to $AELIN stakers. This may be researched and udpated in future factory contracts if trading is desired.

Motivation

Holders of pool and deal tokens may wish to trade them. The re-enabling of either pool or deal token transfers will be a community decision, but will require some R&D on the contract side.

Due to the fact that pool and deal tokens are not typical ERC20s, careful thought needs to be put into the transfer process so the system works as intended for purchasers and deal token holders.

Specification

Overview

For pool tokens, currently you are unable to transfer them after a deal has been created. The intent is to make sure the pro rata calculations are correct; however, any pool tokens sitting in a contract, such as an AMM, will not be transferrable, locking them once a deal is created. Therefore this AELIP proposes pool tokens will not be transferrable to prevent loss of funds in contracts or AMMs.

For deal tokens, at the moment you are allowed to transfer them freely until you have vested all your tokens. Due to the deal tokens being wrapped vesting schedules, when you transfer a deal token it triggers a claim of the underlying to that point in time for both the sender and recipient; this maintains the vesting math on both sides up to and after that point in time, however it causes issues with AMMs that will claim the underlying when transfer is called. Therefore, this AELIP proposes deal tokens will not be transferrable.

However, the treasury still needs to send custodied deal fees to stakers so they will have access to a special transfer method that will be unrestricted.

Rationale

For the pool tokens due to issues around pro rata calculations and AMMs transfers will be blocked.

On the deal token side due to the complexity around vesting schedules and claiming transfers will be blocked.

Technical Specification

The changes on the pool and deals contracts are modifiers that blocks all transfers except for those made by the treasury which will send both the deal fees as well as the underlying to stakers.

Test Cases

Tests will be implemented in the Aelin contracts repo

Copyright and related rights waived via CC0.