Pylon Protocol
pylon-protocol/launchpad contracts define launchpad logic used for Pylon Investment Pools and Pylon Swap.
  • pylon-protocol/launchpad/lockup contracts wrap around pylon-protocol/core/pool contracts, by accepting UST but locking DP tokens released within the lockup contract until a pre-set expiry period has passsed. This only allows depositors to claim back their deposits after the given lockup period.
  • pylon-protocol/launchpad/swap contracts define a virtual AMM, of which:
    • all UST entering this pool is locked within this contract, and returns PROJECT tokens at a fixed ratio after minimum lockup period have passed.
    • if traders try to reclaim UST before the lockup period:
      • define max_swappable
      • define a virtual Uniswap-like AMM mechanism, whereby:
        • liquidity given equals max_swappable. for instance, if max_swappable is given as 5M, there exists a 5M UST - 5M PROJECT virtual AMM pool.
      • any PROJECT accepted by the swap pool is burned, but internal accounting logic treats them as a swap rather than a burn. For example:
        • Alice wants to swap her 1M vested PROJECT back to UST. Assuming that no one else have swapped beforehand, this will result in:
          • a virtual balance increase from 5M PROJECT to 6M, and an effective balance decrease of 1M PROJECT.
          • approximately 0.83M UST is returned to Alice instead of the initial 1M deposited (calculated as: 5M - { 5M UST * 5M PROJECT / (5M + 1M) PROJECT } UST ), resulting in a 0.17M UST loss in total for Alice.
          • virtual AMM state is updated to: 4.17 UST - 6M PROJECT
        • If Bob were to swap another 1M vested PROJECT back to UST, Bob would receive 0.6M UST, resulting in a 0.4M UST loss in total for Bob.
Pylon Swap is designed to exponentially decrease PROJECT token prices as more traders reverse-swap, exponentially penalizing traders attempting to withdraw before lockup period expiry.
All tokens reverse-swapped on Pylon Swap will be permanently burned.
Last modified 5mo ago
Copy link