Lossless Wrapped ERC20

Overview

The smart contract is one of the types of wrapping protections a protocol is able to choose.By default it has all the related protection for the Lossless Core Protocol, allowing any protocol to protect their tokens without the need of relaunching. Once the contract is deployed any user has the ability to swap and lock the original token for a wrapped version of it.Over the wrapped tokens, any user is able to generate reports, stake on said reports, and the report be voted by Lossless, the Committee and the UMA oracle.The base version of the Lossless Wrapped ERC20 does not have any of the admin related functions so their behavior is static as when it was deployed.For an Ownable version please refer to ​

Workflow

Variables

isLosslessOn

Type

bool

Visibility

public

Description

Determines if lossless protection is on.

lossless

Type

ILssController

Visibility

public

Description

Address of the lossless controller.

Functions

transferOutBlacklistedFunds

Type

external

Restrictions

Only called by Lossless Controller

Parameters

address[]

Returns

-

Description

This function gets called only by the Lossless Controller when a report gets solved. The main objective is to transfer the stolen funds from a list of addresses back to the Lossless Contracts to be distributed once again to the rightful owner.

requestWithdraw

Type

public

Restrictions

Must have wrapped tokens

Parameters

uint256

Returns

-

Description

This function can be called by any holder of the corresponding wrapped token. It will place an unwrapping request in order to leave the wrapping and retrieve the underlying token.

withdrawTo

Type

public override(ERC20Wrapper)

Restrictions

Must have placed a withdraw requestThe unwrapping delay must have pased

Parameters

addressuint256

Returns

-

Description

Last updated