Staking
Last updated
Last updated
The Staking Contract contains the logic for LP Token staking and reward distribution. Staking rewards for LP stakers come from the new VKR tokens generated at each block by the Factory Contract and are split between all combined staking pools.
Receive
Can be called during a CW20 token transfer when the Mint contract is the recipient. Allows the token transfer to execute a Receive Hook as a subsequent action within the same transaction.
* = optional
Unbond
Users can issue the unbond message at any time to remove their staked LP tokens from a staking position.
Withdraw
Withdraws a user's rewards for a specific staking position.
AutoStake
When providing liquidity in Valkyrie Protocol, asset pair is first sent to Staking contract, and it acts as a relay. When defined assets are sent to the contract, the contract provides liquidity to receive LP tokens and starts AutoStakeHook
Note: Executor of the transaction should first increase allowance to spend CW20 tokens
* = optional
AutoStakeHook
[INTERNAL]
Hook to stake the minted LP tokens from providing liquidity.
Bond
WARNING
If you send LP Tokens to the Staking contract without issuing this hook, they will not be staked and will BE LOST FOREVER.
Can be issued when the user sends LP Tokens to the Staking contract. The LP token must be recognized by the staking pool of the specified asset token.
DepositReward
Config
State
StakerInfo
Key
Type
Description
token
String
Contract address of the Valkyrie Token (VKR)
pair
String
Terraswap pairs (TerraUSD)
lp_token
String
Contract address of the LP token to be staked
Key
Type
Description
amount
Uint128
Token amount received
sender
Addr
Sender of token transaction
msg
*
Binary
Base64-encoded JSON of Receive Hook message
Key
Type
Description
amount
Uint128
Amount of LP tokens to unbond
Key
Type
Description
token_amount
Uint128
Amount of VKR token that are provided into liquidity pool
slippage_tolerance*
Decimal
Maximum price slippage allowed to execute this transaction
Key
Type
Description
staker_addr
String
Address of the staker
prev_staking_token_amount
Uint128
LP staking balance of the staker before this transaction
Key
Type
Description
staker_addr
String
Wallet address of Lp staker
Key
Type
Description
staker
String
Address of the staker
bond_amount
Uint128
Amount of LP or sLP tokens staked
pending_reward
Uint128
Amount of reward that are not claimed