Lossless Wrapped Protection

Objective

The main objective of the Lossless Wrapped Tokens is to provide a more accessible way to integrate the Lossless Core protocol protection into any ERC20 token without the need for relaunching or rewriting the existing smart contract.

With this purpose, there are two contracts from which a Protocol can choose the one that fits their needs the most:

  1. Lossless Wrapped ERC20: Contains default Lossless Core protection. Similar to how the LERC20 works. Lacks admin related functions.

  2. Lossless Wrapped ERC20 Ownable: Contains default Lossless Core protection by inheriting from Lossless Wrapped ERC20 smart contract and adds ownership.

Smart Contracts

Lossless Wrapped ERC20 Repository

Base contracts

Interfaces

Main Workflow

Usage

In order to wrap an ERC20 with Lossless functionality, any of the previously mentioned smart contracts must be deployed.

Ownable variant

For the Ownable tokens, it is recommended that the owners of the original token deploy the smart contract and use a multisig as recoveryAdmin and the admin of the Wrapped contract. It is important to let the community know and reinforce which is the official wrapped contract, as any token can have multiple wrapped contracts deployed.

This will provide access to all the features of a regular LERC20.

Adminless variant

For adminless tokens, anyone is able to deploy the base Lossless Wrapped ERC20 with the desired underlying token. The voting process differs from a regular report related to the LERC20, in which the UMA protocol Optimistic Oracle will take the place of the admin when the voting takes place.

One other difference is that any setting at the deployment time will not be able to be changed.

Withdrawal Process

In order to properly protect the user funds and provide another window for a report, a minor change has been added to the withdrawal process of the ERC20Wrapped contract.

First, a withdrawal request must be placed. This states that a user wants to unwrap their tokens and will have to wait a certain amount of time (unwrappingDelay) before executing the unwrap.

This provides an extra timeframe for users to generate a report on a potential malicious transaction.

Last updated