The Generator Vesting contract progressively unlocks ASTRO that can then be distributed to LP stakers via the Generator contract.
Initializes the contract with the address of the ASTRO token.
{
"token_addr": "terra..."
}
CW20 receive msg.
{
"receive": {
"sender": "terra...",
"amount": "123",
"msg": "<base64_encoded_json_string>"
}
}
Creates vesting schedules for the ASTRO token. Each vesting token should have the Generator contract address as the VestingContractAddress
. Also, each schedule will unlock tokens at a different rate according to its time duration.
Execute this message by calling the ASTRO token contract address.
{
"send": {
"contract": <VestingContractAddress>,
"amount": "999",
"msg": "base64-encodedStringOfWithdrawMsg"
}
}
In send.msg
, you may encode this JSON string into base64 encoding.
{
"RegisterVestingAccounts": {
"vesting_accounts": [
{
"address": "terra...",
"schedules": {
"start_point": {
"time": "1634125119000000000",
"amount": "123"
},
"end_point": {
"time": "1664125119000000000",
"amount": "123"
}
}
}
]
}
}
Transfer vested tokens from all vesting schedules that have the same VestingContractAddress
(address that's vesting tokens).
{
"claim": {
"recipient": "terra...",
"amount": "123"
}
}
All query messages are described below. A custom struct is defined for each query response.
Returns the vesting token contract address (the ASTRO token address).
{
"config": {}
}
Returns all vesting schedules with their details for a specific vesting recipient.
{
"vesting_account": {
"address": "terra..."
}
}
Returns a paginated list of vesting schedules in chronological order. Given fields are optional.
{
"vesting_accounts": {
"start_after": "terra...",
"limit": 10,
"order_by": {
"desc": {}
}
}
}
Returns the claimable amount (vested but not yet claimed) of ASTRO tokens that a vesting target can claim.
{
"available_amount": {
"address": "terra..."
}
}