/eth-token-recover

Primary LanguageJavaScriptMIT LicenseMIT

ETH Token Recover

NPM Package CI Coverage Status MIT licensed

TokenRecover allows the contract owner to recover any ERC20 token sent into the contract for error.

Motivation

There are lots of tokens lost forever into Smart Contracts (see OMG token balances). Each Ethereum contract is a potential token trap for ERC20 tokens. They can't be recovered so it means money losses for end users.

Install

npm install eth-token-recover

Usage

pragma solidity ^0.8.0;

import "eth-token-recover/contracts/TokenRecover.sol";

contract MyContract is TokenRecover {
  // your stuff
}

Code

This repo contains:

Contract has a recoverERC20 function that transfers a tokenAmount amount of tokenAddress token to the contract owner.

function recoverERC20(address tokenAddress, uint256 tokenAmount) public virtual onlyOwner;

Note: only owner can call the recoverERC20 function so be careful when use on contracts generated from other contracts.

Development

Install dependencies

npm install

Usage (using Hardhat)

Open the console

npm run console

Compile

npm run compile

Test

npm test

Code Coverage

npm run coverage

Linter

Check Solidity files

npm run lint:sol

Check JS/TS files

npm run lint:js

Fix JS and Solidity files

npm run lint:fix

License

Code released under the MIT License.