Draft: [V128-specific] Add MAYAName Registration Without Requiring a Maya Address - #check-lint-warning

Replaces !429 (closed), !444

Closes #115, #178

This MR allows:

  1. Registration and modification of MAYAName without requiring a MAYA address from any chain. Users can do this by sending:
    • a registration amount
    • an amount to extend the registration period or
    • any amount greater than the maya native tx fee (after swapped to cacao) with a normal MAYAName memo, eg.:
    • ~:fox:BTC:bc1qj7dam98j6ktjcp320qu77y2vrylv49c2k2hkmu::::150
  2. Changing MAYAName owner to any (Mayanode supported) chain address:
  • ~:fox:::bc1qj7dam98j6ktjcp320qu77y2vrylv49c2k2hkmu
  • ~:fox:::0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5 Note: MAYAName registered from an EVM chain can be accessed (modified) from any EVM chain using the same address
  1. Implements New Quote Endpoint for MAYAName Management: #178
  • /quote/mayaname?name=hello&registration_asset=BTC.BTC&alias_chain=BTC&alias_address=bc1qj7dam98j6ktjcp320qu77y2vrylv49c2k2hkmu&...

  • return format: *

    {
      "amount": "10753832",
      "memo": "~:hello:BTC:bc1qj7dam98j6ktjcp320qu77y2vrylv49c2k2hkmu",
      "message": ""
    }

Summary by CodeRabbit

  • New Features
    • Introduced a new API endpoint to obtain quotes for registering or updating a MAYAName, supporting various parameters and returning detailed quote information.
  • Bug Fixes
    • Updated field names and types in affiliate and MAYAName-related data to improve consistency and clarity.
  • Tests
    • Adjusted test data and regression files to reflect updated field names, key formats, asset support, and expected pool counts.
    • Updated gas usage and state hashes in multiple test fixtures for accuracy.

Summary by CodeRabbit

  • New Features
    • Introduced a new API endpoint to obtain quotes for MAYAName registration or updates, providing detailed fee and memo information.
  • Improvements
    • Enhanced affiliate fee handling by supporting multiple affiliate addresses or MAYANames.
    • Standardized owner address fields across MAYAName-related data for improved consistency.
  • Bug Fixes
    • Updated test data and regression fixtures to reflect new asset support, owner field naming, and accurate gas usage.
  • Documentation
    • Updated OpenAPI specification to reflect new and modified endpoints and schemas.
  • Chores
    • Incremented version to 1.122.0.

Summary by CodeRabbit

  • New Features
    • Added a new endpoint for MAYAName quote requests with expanded parameters and response schema.
    • Introduced support for multiple affiliate addresses or MAYANames in swap operations.
    • Extended test data and regression suites to support the ARB.ETH asset and related pools, fees, and vaults.
  • Bug Fixes
    • Adjusted gas usage and state hash values in regression test data for improved accuracy.
  • Refactor
    • Renamed and deprecated several fields related to affiliate addresses for consistency and future compatibility.
    • Updated owner fields in data exports and events to use a new naming convention.
  • Tests
    • Enhanced and updated test fixtures and assertions to align with new features and naming conventions.
    • Improved test coverage for multiple affiliates and asset support.
  • Chores
    • Added a new debug binary artifact for internal use.

Summary by CodeRabbit

  • New Features

    • Added MAYAName quote API endpoint.
    • Multi-affiliate support for swaps.
    • Preferred-asset support for MAYANames.
    • Quote responses include amount, memo, and message.
  • Deprecations

    • Single affiliate address field marked deprecated in favor of multi-affiliate format.
  • Other

    • Public owner field renamed to owner_address across exports and test data.

✏️ Tip: You can customize this high-level summary in your review settings.

Edited by Code Rabiit

Merge request reports

Loading