Skip to content

Latest commit

 

History

History
264 lines (233 loc) · 8.71 KB

Recoverable.md

File metadata and controls

264 lines (233 loc) · 8.71 KB

Recoverable Contract (Recoverable.sol)

View Source: contracts/core/Recoverable.sol

↗ Extends: ReentrancyGuard, IRecoverable ↘ Derived Contracts: AaveStrategy, BondPoolBase, CompoundStrategy, CoverBase, CoverReassurance, CoverStake, cxToken, cxTokenFactory, FakeRecoverable, Finalization, LiquidityEngine, NeptuneRouterV1, Policy, PolicyAdmin, Processor, ProtoBase, StakingPoolBase, VaultBase, VaultDelegateBase, VaultFactory, Witness

Recoverable

The recoverable contract enables "Recovery Agents" to recover Ether and ERC-20 tokens sent to this address. To learn more about our recovery policy, please refer to the following doc: https://docs.neptunemutual.com/usage/recovering-cryptocurrencies

Contract Members

Constants & Variables

contract IStore public s;

Functions

function (IStore store) internal nonpayable

Arguments

Name Type Description
store IStore
Source Code
constructor(IStore store) {
    require(address(store) != address(0), "Invalid Store");
    s = store;
  }

recoverEther

Recover all Ether held by the contract. On success, no event is emitted because the recovery feature does not have any significance in the SDK or the UI.

function recoverEther(address sendTo) external nonpayable nonReentrant 

Arguments

Name Type Description
sendTo address
Source Code
function recoverEther(address sendTo) external override nonReentrant {
    s.mustNotBePaused();
    AccessControlLibV1.mustBeRecoveryAgent(s);
    BaseLibV1.recoverEtherInternal(sendTo);
  }

recoverToken

Recover all ERC-20 compatible tokens sent to this address. On success, no event is emitted because the recovery feature does not have any significance in the SDK or the UI.

function recoverToken(address token, address sendTo) external nonpayable nonReentrant 

Arguments

Name Type Description
token address ERC-20 The address of the token contract
sendTo address
Source Code
function recoverToken(address token, address sendTo) external override nonReentrant {
    s.mustNotBePaused();
    AccessControlLibV1.mustBeRecoveryAgent(s);
    BaseLibV1.recoverTokenInternal(token, sendTo);
  }

Contracts