2 个版本 (1 个稳定版)

新版本 3.0.0 2024 年 8 月 23 日
3.0.0-rc.12024 年 6 月 20 日

#17 in #astroport


用于 astroport-emissions-contr…

GPL-3.0-only

120KB
2.5K SLoC

星际汇编

汇编合约允许 xASTRO 和 vxASTRO 持有者以及初始 Astroport 构建者发布和投票支持新的链上提案,这些提案可以执行任意逻辑。

InstantiateMsg

使用提案参数限制以及 xASTRO 和构建者解锁合约地址实例化合约。

{
  "xastro_token_addr": "terra...",
  "builder_unlock_addr": "terra...",
  "proposal_voting_period": 123,
  "proposal_effective_delay": 123,
  "proposal_expiration_period": 123,
  "proposal_required_deposit": "123",
  "proposal_required_quorum": "0.55",
  "proposal_required_threshold": "0.55",
  "whitelisted_links": [
    "https://some.link"
  ]
}

ExecuteMsg

接收

提交新的链上提案。

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

msg

示例提案消息

{
  "submit_proposal": {
     "title": "Example proposal",
     "description": "Example proposal",
     "link": "https://forum.astroport.fi/",
     "messages":
         [
             {
               "wasm": {
                   "execute": {
                       "contract_addr": "terra..",
                       "msg": "<base64_encoded_json_string>",
                       "funds": []
                   }
               }
             }
         ],
     "ibc_channel": "channel..."
  }
}

cast_vote

为活动提案投票。

{
  "cast_vote": {
    "proposal_id": 123,
    "vote": "for"
  }
}

end_proposal

结束已过期的提案。

{
  "end_proposal": {
    "proposal_id": 123
  }
}

execute_proposal

执行提案。

{
  "execute_proposal": {
    "proposal_id": 123
  }
}

remove_completed_proposal

从提案列表中删除已完成的提案。

{
  "remove_completed_proposal": {
    "proposal_id": 123
  }
}

update_config

更新合约参数。只有汇编可以更新其参数。

{
  "update_config": {
    "xastro_token_addr": "terra...",
    "builder_unlock_addr": "terra...",
    "proposal_voting_period": 123,
    "proposal_effective_delay": 123,
    "proposal_expiration_period": 123,
    "proposal_required_deposit": "123",
    "proposal_required_quorum": "0.55",
    "proposal_required_threshold": "0.55",
    "whitelist_add": [
      "https://some1.link"
    ],
    "whitelist_remove": [
      "https://some2.link"
    ]
  }
}

QueryMsg

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

config

返回星际汇编参数。

{
  "config": {}
}

proposals

返回当前提案列表。

{
  "proposals": {
    "start_after": 10,
    "limit": 10
  }
}

proposal

返回特定提案的信息。

{
  "proposal": {
    "proposal_id": 123
  }
}

proposal_votes

返回对提案投出的投票信息。

{
  "proposal_votes": {
    "proposal_id": 123
  }
}

proposal_voters

返回指定提案的投票者列表。

{
  "proposal_voters": {
    "proposal_id": 123,
    "vote_option": "for",
    "start": 30,
    "limit": 15
  }
}

user_voting_power

返回特定提案的用户投票权力。

{
  "user_voting_power": {
    "user": "terra...",
    "proposal_id": 123
  }
}

total_voting_power

返回特定提案的总投票权力。

{
  "total_voting_power": {
    "proposal_id": 123
  }
}

依赖关系

~15MB
~314K SLoC