Staking ProtocolvirtualAmountMultipliernoVirtualAmountMultiplier

NoVirtualAmountMultiplierFacet

This facet implementation disables the application of amount multipliers when users allocate assets within staking campaigns, ensuring that rewards are calculated based on the actual raw balance of positions, without any additional scaling from amount multipliers (which would result in "virtual balances").

In addition to amount scaling, staking campaigns may also scale rewards based on the lock period (i.e., lock multipliers). This implementation focuses solely on preventing any adjustments related to staked amounts, ensuring that users receive rewards without the influence of amount multipliers.

setCampaignVirtualAmountMultipliers

function setCampaignVirtualAmountMultipliers(uint256 campaignId, bytes campaignVirtualAmountMultipliersData) external

Setter function for configuring amount multipliers for the specified staking campaign.

Setter functions are executed during the creation process of campaigns (see CampaignCreationSkeleton.sol). This function is intentionally left empty, as no amount multipliers should be applied when using this facet.

Parameters

NameTypeDescription
campaignIduint256The unique identifier of the targeted staking campaign.
campaignVirtualAmountMultipliersDatabytesThe ABI-encoded data containing the amount multipliers configuration.

applyVirtualAmountMultiplier

function applyVirtualAmountMultiplier(uint256, uint256, uint256 totalAmountStaked) external view returns (uint256)

Returns the virtual balance of the specified position, which is the position's actual raw balance multiplied by the respective applicable amount multiplier.

This function returns the provided actual raw balance since no amount multipliers are applied.

Parameters

NameTypeDescription
uint256
uint256
totalAmountStakeduint256The actual raw balance (in staked input packets) of the position.

Return Values

NameTypeDescription
[0]uint256The specified actual raw balance of the position.

getAmountMultiplier

function getAmountMultiplier(uint256) external pure returns (uint256)

Retrieves the amount multiplier applied to the specified staking position.

Amount multipliers are scaled by 1e18, allowing for 18 decimal precision.

Return Values

NameTypeDescription
[0]uint256The base value of 1e18, indicating that no amount multiplier is applied.

On this page