ARC-138: Upgrade Astroport Maker to add seize functionality

Summary

This proposal aims to upgrade all Astroport Maker contracts across all deployments by adding a new seize functionality. This feature will allow Maker contracts to recover assets that no longer have valid routes for swapping but still retain value. These assets will be sent to a governance-controlled whitelisted address, where they can be manually swapped to ASTRO and returned to the Maker contract. The initial receiver will be a multisig wallet controlled by core contributors, and governance will also control the whitelist of assets eligible for seizure.

By implementing this functionality, Astroport can recover stuck fees and ensure they contribute to ASTRO buybacks, driving protocol growth and sustainability. This upgrade enhances the flexibility of Maker contracts while maintaining transparency and security through governance oversight.

Motivation

Astroport Maker contracts are designed to capture protocol revenue by swapping various assets into ASTRO. However, some assets may lose valid routes for swapping due to changes in liquidity leaving them stuck in the Maker contract. In some instances these assets still hold value and could be manually swapped on other venues to make it possible to buy back ASTRO, ensuring the protocol continues to benefit from these collected fees.

By adding a seize functionality, Astroport can recover and utilize these stuck assets effectively. Governance will maintain control over the whitelist of assets and the receiver address, ensuring transparency and security. This upgrade will enhance the Maker contract’s flexibility and ensure that all valuable fees contribute to ASTRO buybacks.

Implementation

  1. Upgrade Maker Contracts:
    • Add a new seize function to all Maker contracts across all deployments.
    • The function will allow specified whitelisted assets to be sent to a whitelisted receiver address for manual swapping.
  2. Add seize configuration:
    • Governance will set the whitelist of assets that can be seized and the receiver address for seized assets.
    • The initial receiver will be the Contributors Multisig wallet, responsible for manually swapping seized assets to ASTRO and returning them to the Maker contract.

Conclusion

Upgrading Astroport Maker contracts to include a seize functionality will allow the protocol to recover and utilize stuck fees that still hold value. By manually swapping these assets to ASTRO, Astroport can ensure that all funds contribute to protocol growth and sustainability. Governance-controlled configurations will maintain transparency and security, while the Contributors Multisig wallet will handle the manual swaps. This upgrade enhances the flexibility and efficiency of Astroport Maker contracts across all deployments.

Executable messages

Neutron

[
  {
    "wasm": {
      "migrate": {
        "contract_addr": "neutron1unc0549k2f0d7mjjyfm94fuz2x53wrx3px0pr55va27grdgmspcqgzfr8p",
        "new_code_id": 3422,
        "msg": "e30="
      }
    }
  },
  {
    "wasm": {
      "execute": {
        "contract_addr": "neutron1unc0549k2f0d7mjjyfm94fuz2x53wrx3px0pr55va27grdgmspcqgzfr8p",
        "msg": "eyJ1cGRhdGVfc2VpemVfY29uZmlnIjp7InJlY2VpdmVyIjoibmV1dHJvbjFhYzJmZGRmY3IzYXg0Z2dhcmh4MHZjYWozMmZtYXRzeDhwNWQ2YSIsInNlaXphYmxlX2Fzc2V0cyI6W3sibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiaWJjLzM1NTJDRUNCN0JDRTE4OTFEQjYwNzBEMzdFQzZFOTU0Qzk3MkIxNDAwMTQxMzA4RkNEODVGRDE0OEJEMDZERTUifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJpYmMvNzRCNTU0REQzRkYxMEY1RDYwRTMwMTc1QURGQjQ3RTU5Rjc3RjdDNTcwMjRBODEwNEE0Rjc4Q0RDMkVBRDEyNSJ9fV19fQ==",
        "funds": []
      }
    }
  }
]

Terra

[
  {
    "wasm": {
      "migrate": {
        "contract_addr": "terra1ygcvxp9s054q8u2q4hvl52ke393zvgj0sllahlycm4mj8dm96zjsa45rzk",
        "new_code_id": 3584,
        "msg": "e30="
      }
    }
  },
  {
    "wasm": {
      "execute": {
        "contract_addr": "terra1ygcvxp9s054q8u2q4hvl52ke393zvgj0sllahlycm4mj8dm96zjsa45rzk",
        "msg": "eyJ1cGRhdGVfc2VpemVfY29uZmlnIjp7InJlY2VpdmVyIjoidGVycmExYWxza3k4aDk0eGdmejI0aHNqcTNjeWx3NHZ5a2d6cng2anI2c3EiLCJzZWl6YWJsZV9hc3NldHMiOlt7Im5hdGl2ZV90b2tlbiI6eyJkZW5vbSI6ImliYy8zNkEwMkZGQzRFNzRERjRGNjQzMDUxMzBDM0RGQTFCMDZCRUFDNzc1NjQ4OTI3QUE0NDQ2N0M3NkE3N0FCOERCIn19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiaWJjLzA0NzFGMUM0RTdBRkQzRjA3NzAyQkVGNkRDMzY1MjY4RDY0NTcwRjdDMUZEQzk4RUE2MDk4REQ2REU1OTgxN0IifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJpYmMvQjIyQjRERDIxNTg2OTY1REFFRjQyQTc2MDBCQTM3MUVBNzdDMDJFOTBGQzhBN0YyMzMwQkY5RjlERTEyOUIwNyJ9fSx7Im5hdGl2ZV90b2tlbiI6eyJkZW5vbSI6ImliYy8xNEFDQ0FEMTc1MDMyN0M3NEJCMzU5NzhBRDBDM0U5N0IxODREQUI5RjBCRjRCRDg3NkZCRDFGNzgyQjU3MTEwIn19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiaWJjL0JDOEE3N0FGQkQ4NzJGREMzMkEzNDhEM0ZCMTBDQzA5Mjc3QzI2NkNGRTUyMDgxREUzNDFDN0VDNjc1MkU2NzQifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJpYmMvQTM1NkVDOTBEQzNBRTQzRDQ4NTUxNERBNzI2MEVEQzdBQkI1Q0ZBQTA2NTRDRTI1MjRDNzM5MzkyOTc1QUQzQyJ9fSx7InRva2VuIjp7ImNvbnRyYWN0X2FkZHIiOiJ0ZXJyYTE1aGhxZzhneXowNHphcHlucXRrN3V2bHNwN2x6YXk3ZXRydDlhbm4wMjc2djk0eWFlNjNzeHlnZWF0In19XX19",
        "funds": []
      }
    }
  }
]

Injective

[
  {
    "wasm": {
      "migrate": {
        "contract_addr": "inj1sf4wtl6h5sjlvvl6khz6eecly72fl9kgsnfesv",
        "new_code_id": 1629,
        "msg": "e30="
      }
    }
  },
  {
    "wasm": {
      "execute": {
        "contract_addr": "inj1sf4wtl6h5sjlvvl6khz6eecly72fl9kgsnfesv",
        "msg": "eyJ1cGRhdGVfc2VpemVfY29uZmlnIjp7InJlY2VpdmVyIjoiaW5qMXgyOHh0cXRzNTZuMHR5ZXlnZ2tyMmFjN3c3enFxbHB5cXk5OHdoIiwic2VpemFibGVfYXNzZXRzIjpbeyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJmYWN0b3J5L2luajE2NGprNDZ4andzbjZ4NHJ6dTZzZnV2dGx6eTJuemEwbnhmajBuei9NQVgifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJpYmMvOUExMTVCNTZFNzY5QjkyNjIxRkZGOTA1NjdFMkQ2MEVGRDE0NkU4NkU4Njc0OTFEQjY5RUVEQTlBREMzNjIwNCJ9fSx7Im5hdGl2ZV90b2tlbiI6eyJkZW5vbSI6ImliYy9GNTFCQjIyMUJBQTI3NUYyRUJGNjU0RjcwQjAwNTYyN0Q3RTcxM0FGRkQ2RDg2QUZEMUU0M0NBQTg4NjE0OUY0In19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiaWJjLzJDQkMyRUExMjFBRTQyNTYzQjA4MDI4NDY2RjM3QjYwMEYyRDdENDI4MjM0MkRFOTM4MjgzQ0MzRkIyQkMwMEUifX1dfX0=",
        "funds": []
      }
    }
  }
]

Sei

[
  {
    "wasm": {
      "migrate": {
        "contract_addr": "sei1d97kh6x55eudfdd0wxkzunxuvhnze88te9m3f5zft59e5ygur8eq4588x0",
        "new_code_id": 5350,
        "msg": "e30="
      }
    }
  },
  {
    "wasm": {
      "execute": {
        "contract_addr": "sei1d97kh6x55eudfdd0wxkzunxuvhnze88te9m3f5zft59e5ygur8eq4588x0",
        "msg": "eyJ1cGRhdGVfc2VpemVfY29uZmlnIjp7InJlY2VpdmVyIjoic2VpMTNmcjBkNTlzeGszY2hhemRya3V2Mmt0Y3I2dXQyemp1cGRreDduIiwic2VpemFibGVfYXNzZXRzIjpbeyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJ1c2VpIn19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiaWJjLzZDMDBFNEFBMENDNzYxODM3MEY4MUY3Mzc4NjM4QUU2QzQ4RUZGOEM5MjAzQ0UxQzIzNTcwMTJCNDQwRUJEQjcifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJmYWN0b3J5L3NlaTE4OWFkZ3Vhd3VnazNlNTV6bjYzejhyOWxsMjl4cmp3Y2E2MzZyYTd2N2d4dXpuOThzeHlxd3p0NDdsL0hxNHR1RHpoUkJueHczdEZBNW42TTUyTlZNVmNDMTlYZ2dieURpSktDRDZIIn19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiaWJjL0YwODJCNjVDODhFNEI2RDVFRjFEQjI0M0NEQTFEMzMxRDAwMjc1OUU5MzhBMEY1Q0QzRkZEQzVENTNCM0UzNDkifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJmYWN0b3J5L3NlaTE4OWFkZ3Vhd3VnazNlNTV6bjYzejhyOWxsMjl4cmp3Y2E2MzZyYTd2N2d4dXpuOThzeHlxd3p0NDdsLzlmRUx2VWhGbzZ5V0wzNFphTGdQYkNQemRrOU1EMXRBek15Y2dINDVxU2hIIn19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiZmFjdG9yeS9zZWkxODlhZGd1YXd1Z2szZTU1em42M3o4cjlsbDI5eHJqd2NhNjM2cmE3djdneHV6bjk4c3h5cXd6dDQ3bC80dExRcUNMYW9LS2ZORnVQakE5bzM5WWJLVXdoUjFGOE4yOVR6M2hFYmZQMiJ9fSx7Im5hdGl2ZV90b2tlbiI6eyJkZW5vbSI6ImZhY3Rvcnkvc2VpMTg5YWRndWF3dWdrM2U1NXpuNjN6OHI5bGwyOXhyandjYTYzNnJhN3Y3Z3h1em45OHN4eXF3enQ0N2wvRFVWRk1ZMm5lSmRMOGFFNGQzc3RjcHR0RERtNWFveWZHeVZ2bTI5aUE5WXAifX0seyJuYXRpdmVfdG9rZW4iOnsiZGVub20iOiJmYWN0b3J5L3NlaTE4OWFkZ3Vhd3VnazNlNTV6bjYzejhyOWxsMjl4cmp3Y2E2MzZyYTd2N2d4dXpuOThzeHlxd3p0NDdsLzdlZERmbmY0bWt1OFNvM3Q0RG8yMTVHTkh3QVNFd0NXcmRoTTVHcUQ1MXhaIn19LHsibmF0aXZlX3Rva2VuIjp7ImRlbm9tIjoiZmFjdG9yeS9zZWkxODlhZGd1YXd1Z2szZTU1em42M3o4cjlsbDI5eHJqd2NhNjM2cmE3djdneHV6bjk4c3h5cXd6dDQ3bC84NzFqYm45dW5UYXZXc0FlODNmMk1hOUdKV1N2NkJLc3lXWUxpUTZ6M1B2YSJ9fSx7Im5hdGl2ZV90b2tlbiI6eyJkZW5vbSI6ImliYy8wRUM3OEI3NUQzMThFQTBBQUI2MTYwQTEyQUVFOEYzQzdGRUEzQ0ZFQUQwMDFBM0IxMDNFMTE5MTQ3MDlGNENFIn19LHsidG9rZW4iOnsiY29udHJhY3RfYWRkciI6InNlaTFteXFnYXBkdXc5dzlkcTAzbjgwcnh2NWtlOGtqMnd5cTl0NGdwY3hudXh1YTkzY2c2NzVzNnc4aHJ1In19LHsidG9rZW4iOnsiY29udHJhY3RfYWRkciI6InNlaTEwaHZwdHB1cnBxbXl6Y3lxajlmZ25wZWF6dnBleTA3dzY3c3k4cWw0OHVhbHFlMndjNjlzNXloNGEzIn19LHsidG9rZW4iOnsiY29udHJhY3RfYWRkciI6InNlaTFocm5kcW50bHZ0bXgya2VwcjB6c2ZncjduempwdGNjNzJjcjRwcGs0eWF2NTh2dnk3djNzNGVyOGVkIn19LHsidG9rZW4iOnsiY29udHJhY3RfYWRkciI6InNlaTE3MDk0OXB3bDRoMzZuZWF6a3dtZGd0cmg2bnVlbmg2NjQ2Mm4zNDgzOWUyM2U4aGUzcHFzbm01cjJ2In19XX19",
        "funds": []
      }
    }
  }
]