2 个版本 (1 个稳定版)
新版本 3.0.0 | 2024 年 8 月 23 日 |
---|---|
3.0.0-rc.1 | 2024 年 6 月 20 日 |
#17 in #astroport
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