2 个稳定版本

2.3.2 2024年3月26日
2.3.0 2023年7月20日

#7 in #lp

Download history 111/week @ 2024-04-22 106/week @ 2024-04-29 92/week @ 2024-05-06 42/week @ 2024-05-13 44/week @ 2024-05-20 54/week @ 2024-05-27 290/week @ 2024-06-03 164/week @ 2024-06-10 149/week @ 2024-06-17 47/week @ 2024-06-24 76/week @ 2024-07-01 46/week @ 2024-07-08 53/week @ 2024-07-15 99/week @ 2024-07-22 30/week @ 2024-07-29 65/week @ 2024-08-05

249 每月下载次数
用于 4 个软件包(通过 cw-it

GPL-3.0-only

370KB
6.5K SLoC

Astroport 生成器

生成器合约为各种LP代币分配ASTRO代币奖励,并按比例分配给LP抵押者。生成器支持通过第三方合约进行代理抵押,这些合约除了ASTRO代币排放外,还提供第二项奖励。


InstantiateMsg

使用用于奖励分配的地址和合约初始化合约。

{
  "owner": "terra...",
  "astro_token": "terra...",
  "tokens_per_block": "123",
  "start_block": "123",
  "vesting_contract": "terra..."
}

ExecuteMsg

update_config

更新奖励合约地址、生成器控制器合约地址或生成器监护人地址。只有合约所有者可以执行此操作。

{
  "update_config": {
    "vesting_contract": "terra...",
    "generator_controller": "terra...",
    "guardian": "terra...",
    "voting_escrow": "terra...",
    "generator_limit": 20
  }
}

setup_pools

设置带有分配点的新的池列表。

{
  "setup_pools": {
    "pools" : [
      [
        "terra...",
        "60"
      ],
      [
        "terra...",
        "40"
      ]
    ]
  }
}

update_pool

更新给定池的has_asset_rewards参数。

{
  "update_pool": {
    "lp_token": "terra...",
    "has_asset_rewards": true
  }
}

claim_rewards

更新奖励并将其返回给用户。

{
  "claim_rewards": {
      "lp_tokens": ["terra...", "terra...", "terra..."]
  }
}

receive

CW20接收消息。

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

deposit

在特定的生成器(在生成器合约内部)中抵押LP代币。要在生成器合约中进行抵押,应在您想抵押的LP代币的合约中执行此消息。

{
  "send": {
    "contract": <GeneratorContractAddress>,
    "amount": "999",
    "msg": "base64-encodedStringOfWithdrawMsg"
  }
}

send.msg 中,您可以对此JSON字符串进行base64编码

{
  "deposit": {}
}

depositFor

代表另一个地址在生成器中抵押LP代币。要在生成器合约中进行抵押,应在您想抵押的LP代币的合约中执行此消息。

{
  "send": {
    "contract": <GeneratorContractAddress>,
    "amount": "999",
    "msg": "base64-encodedStringOfWithdrawMsg"
  }
}

send.msg 中,您可以对此JSON字符串进行base64编码

{
  "deposit_for": "terra..."
}

withdraw

从生成器合约中取消抵押LP代币并申领未付的代币排放。

{
  "withdraw": {
    "lp_token": "terra...",
    "amount": "123"
  }
}

emergency_withdraw

不关心奖励地取消抵押LP代币。仅在紧急情况下使用,例如在生成器合约中发现严重错误。

{
  "emergency_withdraw": {
    "lp_token": "terra..."
  }
}

send_orphan_reward

将孤儿奖励(紧急提取后留下的)发送到另一个地址。只有合约所有者可以转移孤儿奖励。

{
  "send_orphan_reward": {
    "recipient": "terra...",
    "lp_token": "terra..."
  }
}

set_tokens_per_block

设置所有活动生成器在每个区块中分配的ASTRO总量。只有所有者可以执行此操作。

{
  "set_tokens_per_block": {
    "amount": "123"
  }
}

propose_new_owner

创建一个更改合同所有权的请求。报价的有效期由expires_in变量设定。只有当前所有者可以执行此操作。

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

drop_ownership_proposal

删除现有的更改合同所有权的报价。只有合同所有者可以执行此操作。

{
  "drop_ownership_proposal": {}
}

claim_ownership

由新提议的合同所有者使用以主张合同所有权。

{
  "claim_ownership": {}
}

move_to_proxy

更改特定LP代币的当前双倍奖励代理。只有合同所有者可以执行此操作。

{
  "move_to_proxy": {
    "lp_token": "terra...",
    "proxy": "terra..."
  }
}

update_tokens_blockedlist

向/从代币封锁列表中添加/删除代币。只有所有者合同或生成器监护人可以执行此操作。

{
  "update_tokens_blockedlist": {
    "add": ["terra...", "terra..."],
    "remove": ["terra...", "terra...", "terra..."]
  }
}

deactivate_pool

为指定的池设置分配点为零。只有工厂合同可以执行此操作。

{
  "deactivate_pool": {
    "lp_token": "terra..."
  }
}

deactivate_pools

根据对对类型,为每个池设置分配点为零。

{
  "deactivate_pool": {
    "pair_types": [{"xyk": {}}, {"stable":  {}}]
  }
}

checkpoint_user_boost

更新指定生成器的排放增强。

{
  "checkpoint_user_boost": {
    "generators": ["terra...", "terra..."],
    "user": "terra..."
  }
}

QueryMsg

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

pool_length

返回迄今为止创建的生成器的总数。

{
  "pool_length": {}
}

deposit

返回用户在生成器中目前质押的特定LP代币的数量。

{
  "deposit": {
    "lp_token": "terra...",
    "user": "terra..."
  }
}

pending_token

返回用户可以主张的待定ASTRO和第三方代币奖励的数量,该用户质押了特定LP代币。

{
  "pending_token": {
    "lp_token": "terra...",
    "user": "terra..."
  }
}

config

返回主生成器合同配置。

{
  "config": {}
}

orphan_proxy_rewards

返回紧急提取后留下的孤儿代理奖励的数量。

{
  "orphan_proxy_rewards": {
    "lp_token": "terra..."
  }
}

reward_info

返回关于指定LP代币的代币排放信息。

{
  "reward_info": {
    "lp_token": "terra..."
  }
}

pool_info

返回指定LP代币的池信息。

{
  "pool_info": {
    "lp_token": "terra..."
  }
}

simulate_future_reward

返回将分配到未来区块和特定LP代币的ASTRO数量。

{
  "simulate_future_reward": {
    "lp_token": "terra...",
    "future_block": 999
  }
}

list_of_stakers

返回目前在一个特定生成器中有资金的质押者列表。

{
  "list_of_stakers": {
    "lp_token": "terra...",
    "start_after": "terra...",
    "limit": 5
  }
}

blocked_tokens_list

返回封锁代币列表。

{
  "blocked_tokens_list": {}
}

active_pool_length

返回活跃生成器的总数。

{
  "active_pool_length": {}
}

user_virtual_amount

返回特定生成器中的当前虚拟金额。

{
  "user_virtual_amount": {
    "lp_token": "terra...",
    "user": "terra..."
  }
}

total_virtual_amount

返回生成器的总虚拟供应量。

{
  "total_virtual_amount": {
    "lp_token": "terra..."
  }
}

reward_proxies_list

返回曾经使用过的奖励代理合同列表。

{
  "reward_proxies_list": {}
}

依赖项

~6–8.5MB
~172K SLoC