ARC-80: Recreate ASTRO-LUNA Pool as PCL on Terra Mainnet

Summary

This proposal aims to deregister the ASTRO-LUNA XYK pool from the Astroport Factory contract on Terra and create a PCL counterpart for the two tokens.

Abstract

The long awaited passive concentrated liquidity pool type is now online on the Terra Astroport deployment. In order to migrate liquidity from currently deployed XYK pools to PCL, each XYK pool needs to be deregistered first.

This proposal aims to start the migration process to PCL by deregistering the currently active ASTRO-LUNA pool and creating a PCL pool that handles the two tokens.

Executable Message

The executable message looks as follows:

[
  {
    "wasm": {
      "execute": {
        "contract_addr": "terra14x9fr055x5hvr48hzy2t4q7kvjvfttsvxusa4xsdcy702mnzsvuqprer8r",
        "msg": "ewogICAgICAgICAgImRlcmVnaXN0ZXIiOiB7CiAgICAgICAgICAgICJhc3NldF9pbmZvcyI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAibmF0aXZlX3Rva2VuIjogewogICAgICAgICAgICAgICAgICAiZGVub20iOiAidWx1bmEiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAidG9rZW4iOiB7CiAgICAgICAgICAgICAgICAgICJjb250cmFjdF9hZGRyIjogInRlcnJhMW5zdXFzazZraDU4dWxjemF0d2V2ODd0dHEyejZyM3B1c3VsZzlyMjRtZmoyZnZ0emQ0dXEzZXhuMjYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgICB9CiAgICAgICAgfQo=",
        "funds": []
      }
    }
  },
  {
    "wasm": {
      "execute": {
        "contract_addr": "terra14x9fr055x5hvr48hzy2t4q7kvjvfttsvxusa4xsdcy702mnzsvuqprer8r",
        "msg": "ewogICAgICAgICAgImNyZWF0ZV9wYWlyIjogewogICAgICAgICAgICAicGFpcl90eXBlIjogewogICAgICAgICAgICAgICJjdXN0b20iOiAiY29uY2VudHJhdGVkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXNzZXRfaW5mb3MiOiBbCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIm5hdGl2ZV90b2tlbiI6IHsKICAgICAgICAgICAgICAgICAgImRlbm9tIjogInVsdW5hIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgInRva2VuIjogewogICAgICAgICAgICAgICAgICAiY29udHJhY3RfYWRkciI6ICJ0ZXJyYTFuc3Vxc2s2a2g1OHVsY3phdHdldjg3dHRxMno2cjNwdXN1bGc5cjI0bWZqMmZ2dHpkNHVxM2V4bjI2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImluaXRfcGFyYW1zIjogImV3b2dJQ0FnSUNBZ0lDQWdJQ0FnSUNKaGJYQWlPaUFpTVRBaUxBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNKbllXMXRZU0k2SUNJd0xqQXdNREUwTlNJc0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSW0xcFpGOW1aV1VpT2lBaU1DNHdNREkySWl3S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FpYjNWMFgyWmxaU0k2SUNJd0xqQXdORFVpTEFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0ptWldWZloyRnRiV0VpT2lBaU1DNHdNREF5TXlJc0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSW5KbGNHVm5YM0J5YjJacGRGOTBhSEpsYzJodmJHUWlPaUFpTUM0d01EQXdNRElpTEFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0p0YVc1ZmNISnBZMlZmYzJOaGJHVmZaR1ZzZEdFaU9pQWlNQzR3TURBeE5EWWlMQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDSndjbWxqWlY5elkyRnNaU0k2SUNJd0xqQTFORE16T1RRek9ESTFPVEkzTkRNNElpd0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBaWJXRmZhR0ZzWmw5MGFXMWxJam9nTmpBd0NpQWdJQ0FnSUNBZ0lDQWdJSDBLIgogICAgICAgICAgfQogICAgICAgIH0K",
        "funds": []
      }
    }
  }
]

The readable version for the message looks as follows:

[
  {
    "wasm": {
      "execute": {
        "contract_addr": "terra14x9fr055x5hvr48hzy2t4q7kvjvfttsvxusa4xsdcy702mnzsvuqprer8r",
        "msg": {
          "deregister": {
            "asset_infos": [
              {
                "native_token": {
                  "denom": "uluna"
                }
              },
              {
                "token": {
                  "contract_addr": "terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26"
                }
              }
            ]
          }
        },
        "funds": []
      }
    }
  },
  {
    "wasm": {
      "execute": {
        "contract_addr": "terra14x9fr055x5hvr48hzy2t4q7kvjvfttsvxusa4xsdcy702mnzsvuqprer8r",
        "msg": {
          "create_pair": {
            "pair_type": {
              "custom": "concentrated"
            },
            "asset_infos": [
              {
                "native_token": {
                  "denom": "uluna"
                }
              },
              {
                "token": {
                  "contract_addr": "terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26"
                }
              }
            ],
            "init_params": {
              "amp": "10",
              "gamma": "0.000145",
              "mid_fee": "0.0026",
              "out_fee": "0.0045",
              "fee_gamma": "0.00023",
              "repeg_profit_threshold": "0.000002",
              "min_price_scale_delta": "0.000146",
              "price_scale": "0.05433943825927438",
              "ma_half_time": 600
            }
          }
        },
        "funds": []
      }
    }
  }
]

Copyright

Copyright and related rights waived via CC0.

3 Likes

We fully support the proposal and look forward to the successful implementation of the first PCL pool!

Keep up the good work :raised_hands:

Cant wait to see PCL in action.

What needs to happen after the pool is deregistered? Will the liquidity providers need to unstake/withdraw and re-supply to the new pool in future?

Assuming the pool gets deregistered, LPs will be able to one-click migrate their liquidity from XYK to PCL. So withdraw + LP in PCL will be one action.

3 Likes

Amazing, much simpler than i expected; thanks for the clarification