Lossless Core Extension
Last updated
Last updated
The Lossless Core Extension is an extension designed for the Lossless WERC20 Extensible. It will allow the wrapped token to interact with the Lossless Core Protocol. Providing it all the features, reporting, staking and voting.
The extension has to be registered and set as Lossless Core Base for it to be applied. On deployment, in its constructor, all the required configurations will be set in order to properly function with the Lossless Controller.
recoveryAdmin
recoveryAdminCandidate
recoveryAdminCandidate
admin
timelockPeriod
losslessTurnOffTimestamp
isLosslessOn
lossless
protectedToken
transferOutBlacklistedFunds
setLosslessAdmin
transferRecoveryAdminOwnership
acceptRecoveryAdminOwnership
proposeLosslessTurnOff
executeLosslessTurnOff
executeLosslessTurnOn
setLosslessCoreExtension
extensionBeforeTransfer
extensionBeforeTransferFrom
Type
address
Visibility
public
Description
Address of the recovery admin. The recovery admin has the power to execute a set of functions in order to not lose ownership of a contract.
Type
address
Visibility
public
Description
This variable is used when proposing a new recovery admin.
Type
bytes32
Visibility
private
Description
Keyhash used to execute the recovery admin change.
Type
address
Visibility
public
Description
Address of the admin.
Type
uint256
Visibility
public
Description
Timeframe to wait to execute a lossless turnoff since proposal.
Type
uint256
Visibility
public
Description
Timestamp of when lossless protection was turned off.
Type
bool
Visibility
public
Description
Determines if lossless protection is on.
Type
ILssController
Visibility
public
Description
Address of the lossless controller.
Type
ILosslessExtensibleWrappedERC20
Visibility
public
Description
Address of the extensible wrapped token where the extension is being registered.
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.
Type
external
Restrictions
Only called by Recovery Admin
Parameters
address
Returns
-
Description
Sets a new admin of the contract.
Type
external
Restrictions
Only called by Recovery Admin
Parameters
address
bytes32
Returns
-
Description
This function allows transferring the recovery admin to another address. It’s a two step process where first an address is proposed, paired with a keyHash. And later on executed.
Type
external
Restrictions
Only called by the recovery admin candidate
Parameters
bytes
Returns
-
Description
This function finishes the recovery adminship transfer. The candidate has to accept the transfer with the correct keyHash.
Type
external
Restrictions
Only called by Recovery Admin
Parameters
-
Returns
-
Description
This function allows to propose turning off lossless protection on the wrapped token. It’s a two step process where later on, after the timelock period, the turn off has to be executed.
Type
external
Restrictions
Only called by Recovery Admin
Parameters
-
Returns
-
Description
This function executes the lossless turnoff proposal.
Type
external
Restrictions
Only called by Recovery Admin
Parameters
-
Returns
-
Description
This function instantly turns on lossless protection.
Type
external
Restrictions
Only called by Recovery Admin
Parameters
Address
Returns
-
Description
This functions will register the Lossless Core Extension as the before transfer base and the Lossless Core base.
Type
external
Restrictions
-
Parameters
address sender,
address recipient,
uint256 amount
Returns
bool
Description
Executes logic before a transfer takes place.
Type
external
Restrictions
-
Parameters
address sender,
address recipient,
uint256 amount
Returns
bool
Description
Executes logic before a transferFrom takes place.