Hi, I've deployed the code above and I'm trying to deploy it with the migration. The following error appears:
2_deploy_contracts.js
var MyToken = artifacts.require("MyToken.sol");
var MyTokenSale = artifacts.require("MyTokenSale.sol");
var MykycContract = artifacts.require("KycContract.sol");
require("dotenv").config({path: "../test/.env"});
console.log(process.env);
module.exports = async function(deployer){
let addr = await web3.eth.getAccounts(); //variável que pega as contas inserimos ela no contrato MyTokenSale que é referente a endereço wallet
await deployer.deploy(MyToken);
await deployer.deploy(MykycContract); //fazendo o deploy do contrato kyc
await deployer.deploy(MyTokenSale, 1, addr[0], MyToken.address, MykycContract.address); // a ordem é o rate = 1, wallet = addr[0], IERC20 = MyToken.address, endereço do kycContract = MykycContract.address
let instance = await MyToken.deployed(); //instancia de publicação do contrato
await instance.transfer(MyTokenSale.address); //instancia de transferencia
}
Error: Invalid number of parameters for "transfer". Got 1 expected 2!
at module.exports (/root/Projetos/Tokenização/migrations/2_deploy_contracts.js:13:20)
at processTicksAndRejections (node:internal/process/task_queues:93:5)
at Migration._deploy (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:75:1)
at Migration._load (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:56:1)
at Migration.run (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:217:1)
at Object.runMigrations (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:150:1)
at Object.runFrom (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:110:1)
at Object.runAll (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:114:1)
at Object.run (/usr/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:79:1)
at runMigrations (/usr/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:258:1)
at Object.run (/usr/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:223:1)
at Command.run (/usr/lib/node_modules/truffle/build/webpack:/packages/core/lib/command.js:172:1)
MyToken.sol:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol";
import "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol";
contract MyToken is ERC20PresetMinterPauser, ERC20Capped {
constructor () ERC20PresetMinterPauser("MyToken", "TKN") ERC20Capped(1000000 * (10 ** uint256(decimals()))) {
}
function decimals() public view virtual override returns(uint8){
return 9;
}
function _mint(address account, uint256 amount) internal virtual override(ERC20, ERC20Capped){
super._mint(account, amount);
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override(ERC20, ERC20PresetMinterPauser){
super._beforeTokenTransfer(from, to, amount);
}
}```