我遇到了一个 Solidity 合约的问题,其中的错误要求我将代码编写为摘要。摘要意味着我的代码将不可部署。
这是一份旨在转让资产和收购的合同。只是随机的东西!
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;
}
} ```
我用它替换了构造函数,因为它需要初始地址。
constructor(address initialOwner) Ownable(initialOwner) ERC20(_tokenname, _tokensymbol) {
_owner = initialOwner;
}
对于继承合约来说,这也是程序
constructor(address _themergeraddress, address _initialOwner) AssetAcquisition(_initialOwner) {
themergeraddress = _themergeraddress;
}
在 Solidity 中,Contract 可以使用
is
关键字从另一个合约继承。在这种情况下,派生合约需要通过以下两种方式之一指定基本合约的参数:
contract Base {
uint x;
constructor(uint x_) { x = x_; }
}
// Either directly specify in the inheritance list...
contract Derived1 is Base(7) {
constructor() {}
}
// or through a "modifier" of the derived constructor...
contract Derived2 is Base {
constructor(uint y) Base(y * y) {}
}