10个稳定版本

新版本 4.0.2 2024年8月21日
4.0.1 2024年6月21日
4.0.0-rc.1-tokenfactory2024年5月13日
1.2.13 2023年12月7日
1.2.0 2023年7月20日

#13 in 魔法豆

Download history 104/week @ 2024-05-01 176/week @ 2024-05-08 54/week @ 2024-05-15 66/week @ 2024-05-22 142/week @ 2024-05-29 317/week @ 2024-06-05 149/week @ 2024-06-12 486/week @ 2024-06-19 116/week @ 2024-06-26 159/week @ 2024-07-03 108/week @ 2024-07-10 71/week @ 2024-07-17 162/week @ 2024-07-24 66/week @ 2024-07-31 75/week @ 2024-08-07 166/week @ 2024-08-14

每月500次下载
4 个crate中使用(通过 cw-it

GPL-3.0-only

435KB
9K SLoC

Astroport浓缩流动性对

InstantiateMsg

初始化一个新的浓缩流动性对。

{
  "token_code_id": 123,
  "factory_addr": "terra...",
  "asset_infos": [
    {
      "token": {
        "contract_addr": "terra..."
      }
    },
    {
      "native_token": {
        "denom": "uusd"
      }
    }
  ],
  "init_params": "<base64_encoded_json_string>"
}

其中 <base64_encoded_json_string>

{
  "amp": "40.0",
  "gamma": "0.0001",
  "mid_fee": "0.005",
  "out_fee": "0.01",
  "fee_gamma": "0.001",
  "repeg_profit_threshold": "0.0001",
  "min_price_scale_delta": "0.000001",
  "initial_price_scale": "1.5",
  "ma_half_time": 600,
  "owner": "terra..."
}

注意,上述值只是示例,没有实际意义。

ExecuteMsg

接收

提取流动性或被交换的资产(从交换操作中获取询问资产)。

{
  "receive": {
    "sender": "terra...",
    "amount": "123",
    "msg": "<base64_encoded_json_string>"
  }
}

提供流动性

通过将用户的本地资产或代币资产发送到池中来提供流动性。

注意:在提供流动性之前,您应该增加池中代币的允许量!

{
  "provide_liquidity": {
    "assets": [
      {
        "info": {
          "token": {
            "contract_addr": "terra..."
          }
        },
        "amount": "1000000"
      },
      {
        "info": {
          "native_token": {
            "denom": "uusd"
          }
        },
        "amount": "1000000"
      }
    ],
    "auto_stake": false,
    "receiver": "terra...",
    "slippage_tolerance": "0.01"
  }
}

提取流动性

销毁LP代币并从池中提取流动性。此调用必须发送到与您想要提取流动性的池相关的LP代币合约。

{
  "withdraw_liquidity": {}
}

交换

执行交换。 offer_asset 是您的源资产,to 是将接收询问资产的地址。所有字段都是可选的,除了 offer_asset

{
  "swap": {
    "offer_asset": {
      "info": {
        "native_token": {
          "denom": "uluna"
        }
      },
      "amount": "123"
    },
    "belief_price": "123",
    "max_spread": "123",
    "to": "terra..."
  }
}

更新配置

更新浓缩流动性对的配置。

{
  "update_config": {
    "params": "<base64_encoded_json_string>"
  }
}

其中 <base64_encoded_json_string> 是以下之一

  1. 更新参数
{
  "update": {
    "mid_fee": "0.1",
    "out_fee": "0.01",
    ...
  }
}
  1. 更新Amp或Gamma
{
  "promote": {
    "next_amp": "44",
    "next_gamma": "0.001",
    "future_time": 1570257049
  }
}
  1. 停止Amp和Gamma的变化
{
  "stop_changing_amp_gamma": {}
}

查询消息

以下将描述所有查询消息。为每个查询响应定义了一个自定义结构。

检索对配置(类型、在其中交易的资产等)。

{
  "pair": {}
}

返回池中所有资产的代币数量以及发行的LP代币数量。

{
  "pool": {}
}

配置

获取对偶合约的配置。

{
  "config": {}
}

份额

返回某人在燃烧特定数量的LP代币后从池中获得的资产数量。

{
  "share": {
    "amount": "123"
  }
}

模拟

模拟交换并返回价差和手续费金额。

{
  "simulation": {
    "offer_asset": {
      "info": {
        "native_token": {
          "denom": "uusd"
        }
      },
      "amount": "1000000"
    }
  }
}

反向模拟

反向模拟交换(指定要价而不是出价)并返回出价金额、价差和手续费。

{
  "reverse_simulation": {
    "ask_asset": {
      "info": {
        "token": {
          "contract_addr": "terra..."
        }
      },
      "amount": "1000000"
    }
  }
}

累积价格

返回对偶中资产的累积价格。

{
  "cumulative_prices": {}
}

查询_compute_d

返回池当前的D值。

{
  "query_compute_d": {}
}

lp_price

查询LP代币虚拟价格。

{
  "lp_price": {}
}

amp_gamma

查询当前的Amp和Gamma参数。

{
  "amp_gamma": {}
}

asset_balance_at

返回在指定区块高度创建之前池中特定资产的余额。如果余额未跟踪到指定的区块高度,则返回None(空)。

{
  "asset_balance_at": {
    "asset_info": {
      "native_token": {
        "denom": "stake"
      }
    },
    "block_height": "12345678"
  }
}

观察

从存储的观察中查询价格。如果观察在精确时间未找到,则使用周围观察进行插值。

{
  "observe": {
    "seconds_ago": 3600
  }
}

依赖项

约15MB
约330K SLoC