¡Advertencia! Error encontrado durante la ejecución del contrato [ejecución revertida]

Tengo un token ERC20 Mintable+Burnable creado en solidity 6.11 y un contrato de venta en solidity 5.0 Recibo un error cuando envío ETH al contrato de venta.

https://rinkeby.etherscan.io/tx/0xb793a7b7f3d5667a2ad5c38ecae273bd4c2fb7d627aa0383da7ab25a2ee71510

Le he dado rol de minter al contrato de venta.

Este es el código del contrato de venta:

pragma solidity ^0.5.0;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1/contracts/crowdsale/emission/MintedCrowdsale.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1/contracts/crowdsale/validation/CappedCrowdsale.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1/contracts/crowdsale/Crowdsale.sol";

contract BotSale is Crowdsale, MintedCrowdsale, CappedCrowdsale {
constructor (
uint256 rate,
address payable wallet,
IERC20 token,
uint256 cap
)
MintedCrowdsale()
Crowdsale(rate, wallet, token)
CappedCrowdsale(cap)
public
{
// solhint-disable-previous-line no-empty-blocks
    }
}

He establecido Tasa: 10000000000000000000 y Cap to: 96000000000000000000000000

Solo en caso de que eso ayude. Aunque quiero preguntar, ¿este límite es de tokens o ETH? ¿Y debo agregar decimales al límite? También he leído en los documentos de Openzeppelin para establecer la tasa en 1 si quiero dar 1 token a cambio de 1 ETH. Entonces, ¿debería agregar decimales en la tasa o no?

Respuestas (1)

Si desea emitir a alguien "1 TKN for every 1 ETH", y sus decimales son 18, su tasa es 1.

Para calcular la tarifa, consulte la documentación de contratos de OpenZeppelin: https://docs.openzeppelin.com/contracts/2.x/crowdsales#crowdsale-rate


Si tiene preguntas sobre el uso de OpenZeppelin, puede preguntar en el foro de la comunidad: https://forum.openzeppelin.com/

Divulgación: soy el administrador de la comunidad en OpenZeppelin