Skip to content

Latest commit

 

History

History

assembly

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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
  }
}