Skip to content

Latest commit

 

History

History
232 lines (182 loc) · 3.54 KB

File metadata and controls

232 lines (182 loc) · 3.54 KB

Astral Assembly

The Assembly contract allows xASTRO and vxASTRO holders as well as Initial Astroport Builders to post and vote on new on-chain proposals that can execute arbitrary logic.

InstantiateMsg

Instantiate the contract with proposal parameter limitations and the xASTRO and builder unlock contract addresses.

{
  "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

Submit a new on-chain proposal.

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

msg

Example proposal message

{
  "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

Casts a vote for an active proposal.

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

end_proposal

Ends an expired proposal.

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

execute_proposal

Executes a proposal.

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

remove_completed_proposal

Removes a completed proposal from the proposal list.

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

update_config

Update contract parameters. Only the Assembly is allowed to update its own parameters.

{
  "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

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

config

Returns Astral Assembly parameters.

{
  "config": {}
}

proposals

Returns the current proposal list.

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

proposal

Returns information about a specific proposal.

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

proposal_votes

Returns information about the votes cast on a proposal.

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

proposal_voters

Returns list of voters of specified proposal.

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

user_voting_power

Returns user voting power for a specific proposal.

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

total_voting_power

Returns total voting power for a specific proposal.

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