{
"factory": String,
"custody": String,
"astroport_factory": String,
"nebula_token": String,
"base_denom": String,
"owner": String
}
factory
: address of thecluster-factory
contractcustody
: address of thenebula-incentives-custody
contractastroport_factory
: address of the Astroport factory contractnebula_token
: contract address of Nebula Token (NEB)base_denom
: contract's base denomination (usuallyuusd
)owner
: address of the owner of theincentives
contract
Updates general contract parameters.
{
"update_config": {
"owner": String
}
}
owner
: address of the new owner of theincentives
contract
Can be called during a CW20 token transfer when the Gov contract is the recipient. Allows the token transfer to execute a Receive Hook as a subsequent action within the same transaction.
{
"receive": {
"amount": Uint128,
"sender": String,
"msg": Option<Binary>
}
}
amount
: amount of tokens receivedsender
: Sender of the token transfermsg
: Base64-encoded JSON of the Receive Hook
Withdraws all incentives rewards
{
"withdraw": {}
}
Initiates a new incentives penalty period and make the reward from the previous period claimable
{
"new_penalty_period": {}
}
Initiates an arbitrage mint transaction. This comprises of:
- using
assets
to mint newcluster_contract
cluster tokens - selling the minted tokens on Astroport, controlling the slippage with the
min_ust
option
{
"arb_cluster_create": {
"cluster_contract": String,
"assets": Vec<Asset>,
"min_ust": Option<Uint128>
}
}
cluter_contract
: address of the clsuter contract to mint tokens fromassets
: list of assets and amounts to use to mint the cluster tokensmin_ust
: minimum amount of UST expected to receive back when selling the minted cluster tokens on Astroport (for slippage control)
Initiates an arbitrage burn transaction. This comprises of:
- Using UST to buy cluster tokens from the CT-UST Astroport pool, controlling the slippage with
min_cluster
- Burning the swapped cluster tokens for the cluster's inventory asset tokens
{
"arb_cluster_redeem": {
"cluster_contract": String,
"asset": Asset,
"min_cluster": Option<Uint128>
}
}
cluster_contract
: address of the clsuter contract to buy from Astroport and burn tokens fromasset
: asset to use to buy cluster tokens from Astroport (alwaysuusd
)min_cluster
: minimum amount of cluster tokens expected to receive back when buying from Astroport pool (for slippage control)
NEB-incentivized version of the cluster
's mint/CREATE
{
"incentives_create": {
"cluster_contract": String,
"asset_amounts": Vec<Asset>,
"min_tokens": Option<Uint128>
}
}
cluster_contract
: cluster contract to do the mint/create transaction onasset_amount
: list of assets to use to mint the cluster tokens withmin_tokens
minimum expected cluster tokens received from the mint (transaction will fail is output is below)
NEB-incentivized version of the cluster
's burn/REDEEM
{
"incentives_redeem": {
"cluster_contract": String,
"max_tokens": Uint128,
"asset_amounts": Option<Vec<Asset>>
}
}
cluster_contract
: cluster contract to do the burn/redeem transaction onmax_tokens
: maximum amount of cluster tokens expected to be burnede to receive theasset_amounts
out (transaction will fail if more thanmax_tokens
cluster tokens are required)asset_amounts
assets amount to receive back from the burn/redeem
Deposits incentives rewards. Callable by anyone.
{
"deposit_rewards": {
"rewards": Vec<(u16, String, Uint128)>
}
}
rewards
: The rewards distribution
The vector struct is:
pool_type
(u16): either REBALANCE (0) or ARBITRAGE (1)cluster_contract
(String): cluster contract addressamount
: Amount of NEB rewards to deposit for thispool_type
/cluster_contract
combination
Returns the current configuration information for the contract
{
"config": {}
}
Returns the current penalty period
{
"penalty_period": {}
}
Returns information related to a specific pool
{
"pool_info": {
"pool_type": u16,
"cluster_address": String,
"n": Option<u64>
}
}
pool_type
: either REBALANCE (0) or ARBITRAGE (1)cluster_address
: address of the cluster to query the pool info forn
: penalty period to query the pool info for
Returns the information related to an incentives contributor
{
"current_contributor_info": {
"pool_type": u16,
"contributor_address": String,
"cluster_address": String
}
}
pool_type
: either REBALANCE (0) or ARBITRAGE (1)contributor_address
: address of the contributor address to query the info forcluster_address
: address of the cluster to query the contribution info for
Returns the information on the pending rewards for a contributor
{
"contributor_pending_rewards": {
"contributor_address": String
}
}
contributor_address
: address of the contributor to query the pending rewards info for