I'm trying to test out Ampleforth on Rinkbey using Remix. Here are all the files that I copy into remix. https://github.com/cryptoghoulz/based-contracts/tree/master/contracts/v4

They compile fine, but when I deploy UFragments I get this error:

This contract may be abstract, not implement an abstract parent's methods completely or not invoke an inherited contract's constructor correctly.

Anyone know what could be going on? Thanks!

  • Yes: contract UFragments is ERC20Detailed, Ownable, and then contract ERC20Detailed is Initializable, IERC20. So you cannot deploy an instance of UFragments. You need to inherit this contract, and implement all functions not yet implemented (presumably, all of them are declared in IERC20). Aug 22, 2020 at 6:44
  • @goodvibration but UFragments implements all 6 functions in IERC20... Aug 22, 2020 at 19:15
  • Then look for other functions in other contracts which it inherits. Aug 22, 2020 at 19:23
  • I had a same error message. Have you solved it yet? Thanks @Richard Garfield
    – Terrance
    Nov 23, 2020 at 10:04

3 Answers 3


I had the wrong compiled file selected in the remix "deploy" drop down bar -_- for some reason the default file is the highest one in the hierarchy

  • 4
    Oh Man! This just saved my day.... Thx a lot. Dec 5, 2020 at 19:16
  • 4
    I'm a bit embarrased to say it took me over an hour of going over my code several times before I googled and found this answer.
    – MikeyE
    Mar 21, 2021 at 1:20
  • 2
    wow... thank you ... my problem too :/
    – Stormsson
    May 11, 2021 at 19:22

ScreenshotThis is certainly not a code error, not a compiler error. Just proper setting is required on IDE. Just see left hand side, the third tab in 'CONTRACT' section select 'OWNED'


Same problem with me selected the wrong CONTRACT file,

enter image description here

Select the contract file from dropdown and it will deployed

Not the answer you're looking for? Browse other questions tagged or ask your own question.