#price #astroport #pair #token #assets #contracts #pool

astroport-oracle

Astroport price oracle contract which works with Astroport pair contracts

2 stable releases

2.1.2 Mar 26, 2024
2.1.1 Jul 20, 2023

#23 in #astroport

GPL-3.0-only

230KB
5K SLoC

Astroport Oracle

This demo oracle contract calculates a 1 day TWAP for a xy=k Astroport pool.


InstantiateMsg

Initializes the oracle and checks that the target asset pair type is x*y=k.

{
  "factory_contract": "terra...",
  "asset_infos": [
    {
      "token": {
        "contract_addr": "terra..."
      }
    },
    {
      "native_token": {
        "denom": "uusd"
      }
    }
  ]
}

ExecuteMsg

update

Updates the local TWAP value and the target pair's cumulative prices.

{
  "update": {}
}

QueryMsg

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

consult

Multiplies a token amount (token that's present in the target pool for the TWAP) by the latest TWAP value for that token.

{
  "consult": {
    "token": {
      "native_token": {
        "denom": "uluna"
      }
    },
    "amount": "1000000"
  }
}

Dependencies

~4.5–6.5MB
~140K SLoC