2 stable releases

1.4.0 Mar 26, 2024
1.3.1 Jul 20, 2023

#5 in #astro

Download history 2/week @ 2024-01-02 57/week @ 2024-01-09 128/week @ 2024-01-16 110/week @ 2024-01-23 244/week @ 2024-01-30 255/week @ 2024-02-06 337/week @ 2024-02-13 132/week @ 2024-02-20 117/week @ 2024-02-27 176/week @ 2024-03-05 102/week @ 2024-03-12 66/week @ 2024-03-19 187/week @ 2024-03-26 128/week @ 2024-04-02 98/week @ 2024-04-09 92/week @ 2024-04-16

521 downloads per month
Used in 4 crates (via cw-it)

GPL-3.0-only

255KB
5.5K SLoC

Astroport Maker

The Maker contract collects part of Astroport's pair fees (according to the factory's maker_fee). The accrued fees are swapped to ASTRO and then send to stakers and governance (according to the governance_percent).


InstantiateMsg

Initializes the contract with required addresses and the governance_percent.

{
  "owner": "terra...",
  "astro_token_contract": "terra...",
  "factory_contract": "terra...",
  "staking_contract": "terra...",
  "governance_contract": "terra...",
  "governance_percent": 20,
  "max_spread": 23.3
}

ExecuteMsg

collect

Swaps accrued fee tokens to ASTRO.

{
  "collect": {
    "pair_addresses": [
      "terra...",
      "terra..."
    ]
  }
}

update_config

Updates the contract's general settings. All fields are optional.

{
  "update_config": {
    "factory_contract": "terra...",
    "staking_contract": "terra...",
    "governance_contract": {
      "set": "terra..."
    },
    "governance_percent": "20",
    "max_spread": 23.3
  }
}

propose_new_owner

Creates a proposal to change contract ownership. The proposal validity period is set in the expires_in variable.

{
  "propose_new_owner": {
    "owner": "terra...",
    "expires_in": 1234567
  }
}

drop_ownership_proposal

Removes the existing proposal to change contract ownership.

{
  "drop_ownership_proposal": {}
}

claim_ownership

Used to claim contract ownership, thus changing the contract's owner.

{
  "claim_ownership": {}
}

QueryMsg

All query messages are described below. A custom struct is defined for each query response.

config

Returns information about the Maker's configuration.

{
  "config": {}
}

balances

Returns token balances for each specified asset held by the Maker.

{
  "balances": {
    "assets": [
      {
        "token": {
          "contract_addr": "terra..."
        }
      },
      {
        "native_token": {
          "denom": "uusd"
        }
      }
    ]
  }
}

Dependencies

~4.5–6.5MB
~136K SLoC