Skip to content

jake-sanjuan/proxy-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxy Wallet

This set of contracts is meant to be a simple ERC20 wallet for Ethereum users. This wallet consists of a proxy contract that holds the balances delegating logic out to a different contract (ContractLogic.sol) for sending tokens. It cannot receive Ethereum at this time, although that functionality can easily be changed. This wallet can only be used by the person that deploys it, unless the individual decides to give up ownership via the renounceOwnership() or transferOwnership() functions inherited from Ownable.sol.

The test cases in this contract only cover the transferring of ERC20 tokens, and do not test for the ownership functionality of the proxy. This is due to the fact that in the test cases, the abi of ContractLogic.sol is fed to the proxy contracts address. From what I understand, this gives the proxy contract the functionality to actually act as a proxy using the logic contracts abi, at the expense of the proxy contract's own abi being overwritten. This problem only occurs in the test cases however, when tested on Remix IDE, the onlyOwner modifier worked on both the fallback() and receive() functions, and getImplementation() returned the correct address.

About

An ERC20 wallet that delegates functionality to another contract

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published