1

I had an issue with a solidity contract in which the error demanded I write my code as an abstract. Abstract means my code will be non-deployable.

This is a contract that aims to transfer assets and acquisition. Just random stuff!

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
import './StringUtils.sol';

// @dev contract for rock,paper game0
contract AssetAcquisition is Ownable, ERC20 {
    string private _tokenname = "MATTokens";
    string private _tokensymbol = "MAT";
    address public _owner;
    uint randNonce = 0;
    uint modulus = 0;
    uint maxWaitTime = 100;

    struct Assets {
        address owner;
        address sender;
        address payable receiver;
        uint256 amountleft;
        uint256 datesent;
    }

    uint256 public _totalSupply = 1000000;
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => Assets) public assetstore;
    Assets newasset;
    Assets[] public assetstorage;

    event AssetTransferAndMergerEvent(address payable _companyaddress, address payable _mergeraddress, uint256 amount);
    event AssetTransferMergerDetails(address owner, address sender, address payable receiver, uint256 amountleft, uint256 datesent);

    constructor(address __owner, string memory _tokenName, string memory _tokenSymbol) ERC20(_tokenName, _tokenSymbol) {
        _owner = __owner;
    }

 
} ```
   
Bonsu
  • 67
  • 1
  • 5

1 Answers1

1

I replaced the constructor with this since it is expecting initial address.

constructor(address initialOwner) Ownable(initialOwner) ERC20(_tokenname, _tokensymbol) {
_owner = initialOwner;

}

Also for inheriting contracts this was the procedure

constructor(address _themergeraddress, address _initialOwner) AssetAcquisition(_initialOwner) {
themergeraddress = _themergeraddress;

}

Bonsu
  • 67
  • 1
  • 5