sSPELL

An auto-compounding staking contract for SPELL

sSPELL is the original staking contract for SPELL holders. It is a version of the SushiBar by ChefNomi. It works with a share system, users mint sSPELL by depositing SPELL into the contract via the mint(amount) function, and they receive an amount of sSPELL at the current SPELL per sSPELL ratio.

When protocol fees are accrued and SPELL is bought back and sent to the sSPELL contract, SPELL is deposited but no sSPELL is minted: the SPELL per sSPELL ratio increases.

The burn function is the exact inverse of mint, it burns your sSPELL and gives you back SPELL at the current SPELL:sSPELL ratio.

To avoid people gaming the system, upon staking, the sSPELL is subject to a 24h lockup, where it can be moved, burned, used as collateral etc…

Appart from this, sSPELL is a regular ERC20.

mint | nonpayable

function mint(uint256 amount) public returns (bool) {

Parameters

Return values

burn | nonpayable

function burn(address to, uint256 shares) public returns (bool) {

Parameters

Return values

burnFrom | nonpayable

function burnFrom(
    address from,
    address to,
    uint256 shares
) public returns (bool) {

Same as Burn, but allow another address that has been approved by you using the standard ERC20 approve() to burn on your behalf.

Parameters

Return values

Last updated