El código se rompe con la nueva actualización v0.5, usando Truffle v5.0.1 (núcleo: 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;
}
Y el mapeo como
mapping(uint => Product) product;
eliminó la venerabilidad del captador público, pero aún así, el error está llegando.
Este es mi código completo:
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;
}
}
¡Tengo el problema resuelto!
La matriz declara productsForSale también proporciona un captador predeterminado, ya que es público, elimínelo public
y funcionará.
Product[] public productsForSale;
reemplazarlo por
Product[] productsForSale;
struct
( Bidder
) y el getter "gratuito" solicitado public
no lo admite.
usuario19510
CryptoScroller
usuario19510
public
de la declaración deproduct
, eliminé todas las líneas que hacen referencia alAucSters
contrato (para el cual no proporcionó una definición). Convertí las referencias matemáticas seguras a operaciones matemáticas normales. Después de eso, el código se compiló bien.usuario19510
CryptoScroller
usuario19510
usuario19510
CryptoScroller