Код сломан с новым обновлением v0.5 с использованием Truffle v5.0.1 (ядро: 5.0.1)
struct Bidder {
address bidders_address;
uint productId;
uint bidValue;
}
struct Product {
uint productId;
uint bidStartPrice;
uint32 bidStartTime;
Bidder latestBid;
string productName;
bool isAvailable;
uint32 bidSession;
}
И отображение как
mapping(uint => Product) product;
удалил общедоступный геттер, но все же ошибка возникает.
Это мой полный код:
pragma solidity >=0.4.21 <0.6.0;
import "./AucSters.sol";
import "../libraries/SafeMath.sol";
contract BiddingContract {
using SafeMath for uint;
address admin;
AucSters public tokenContract;
uint256 public tokenPrice;
uint256 public tokensSold;
//structs
struct Seller {
uint256 sellerId;
string sellerName;
bool isValidSeller;
}
struct Bidder {
address bidders_address;
uint productId;
uint bidValue;
}
struct Product {
uint productId;
uint bidStartPrice;
uint32 bidStartTime;
Bidder latestBid;
string productName;
bool isAvailable;
uint32 bidSession;
}
mapping(address => Seller) registeredSeller;
mapping(uint => address) public productIdToOwner;
mapping(address => uint) public productCount;
mapping(uint => Product) product;
mapping(address => mapping(uint => uint)) public latestBidStore;
//ARRAYS
address[] public regSellers;
Product[] public productsForSale;
address[] public bidders;
constructor(AucSters _tokenContract, uint _tokenPrice) public {
//Assign an admin
admin = msg.sender;
// token Contract
tokenContract = _tokenContract;
//Token price
tokenPrice = _tokenPrice;
}
}
Я решил проблему!
Массив объявляет productsForSale также дает геттер по умолчанию, поскольку он общедоступен, удалите, public
и он будет работать
Product[] public productsForSale;
заменить его на
Product[] productsForSale;
struct
( Bidder
), а запрошенный «бесплатный» геттер public
не поддерживает это.
пользователь19510
Криптоскроллер
пользователь19510
public
из объявленияproduct
, я удалил все строки, которые ссылаются наAucSters
контракт (для которого вы не предоставили определение). Я преобразовал безопасные математические ссылки в обычные математические операции. После этого код скомпилировался нормально.пользователь19510
Криптоскроллер
пользователь19510
пользователь19510
Криптоскроллер