The airdrop contract stores airdrop information and provides the ability to initiate airdrop claims for Nebula's LUNA staker airdrop on protocol genesis. Admin users will submit a claim for an airdrop with the associated Merkle proof. Users can then submit their portion of the proof to claim their airdrops
The instantiate message takes the address of the owner
account that will be submitting the Merkle poof and nebula_token
, the address of the Nebula governance token to be distributing as rewards.
{
"owner": String,
"nebula_token": String
}
owner
: address of the owner of theairdrop
contractnebula_token
: contract address of Nebula Token (NEB)
Updates contract variables, namely the owner
of the contract and the address of the Nebula token contract.
{
"update_config": {
"owner": String,
"nebula_token": String
}
}
owner
: address of the new owner of theairdrop
contractnebula_token
: contract address of new Nebula Token (NEB)
Registers a new Merkle root under a next stage.
{
"register_merkle_root": {
"merkle_root": String
}
}
merkle_root
: the Merkle root to register and for the next stage of the airdrop
Initiates an airdrop claim transaction for the message sender.
{
"claim": {
"stage": u8,
"amount": Uint128,
"proof": Vec<String>
}
}
stage
: stage of airdrop to be claimedamount
: amount of the airdrop to be claimed by the sender at the specified stageproof
: Merkle proof at the specified stage
Returns the current configuration information for the contract
{
"config": {}
}
Returns the Merkle root registered under the given stage
{
"merkle_root": {
"stage": u8
}
}
stage
: The stage number to query the Markle root of
Returns the latest stage containing a Merkle root in the airdrop contract.
{
"latest_stage": {}
}
Returns whether the specified address already claimed their airdrop of the given stage.
{
"is_claimed": {
"stage": u8,
"address": String
}
}
stage
: The stage number in which to query the claim status foraddress
: The address of the user to query the airdrop claim status of