diff --git a/bca-token-solidity/contracts/BCA_ERC20_nf.sol b/bca-token-solidity/contracts/BCA_ERC20_nf.sol index 97ecb99..d892323 100644 --- a/bca-token-solidity/contracts/BCA_ERC20_nf.sol +++ b/bca-token-solidity/contracts/BCA_ERC20_nf.sol @@ -21,6 +21,9 @@ contract BCAServiceToken is ERC20, AccessControl { constructor(string memory setName, string memory setSymbol, address setMinter, address setBurner) ERC20(setName, setSymbol) { + require(setMinter != address(0), "Invalid minter address"); + require(setBurner != address(0), "Invalid burner address"); + serviceAddress = msg.sender; minterAddress = setMinter; burnerAddress = setBurner; diff --git a/bca-token-solidity/contracts/BCA_Service.sol b/bca-token-solidity/contracts/BCA_Service.sol index bed91bf..5d29fd6 100644 --- a/bca-token-solidity/contracts/BCA_Service.sol +++ b/bca-token-solidity/contracts/BCA_Service.sol @@ -25,6 +25,9 @@ contract BCAService is IService, ReentrancyGuard { constructor(address setProviderAddress, address tokAddress, uint16 setMaxInstances, uint256 setDayPrice) { + require(setProviderAddress != address(0), "Invalid provider address"); + require(tokAddress != address(0), "Invalid token address"); + tokToken = IERC20(tokAddress); dayPrice = setDayPrice; providerAddress = setProviderAddress; diff --git a/bca-token-solidity/contracts/BCA_ServiceInstance.sol b/bca-token-solidity/contracts/BCA_ServiceInstance.sol index c6f394d..92985e8 100644 --- a/bca-token-solidity/contracts/BCA_ServiceInstance.sol +++ b/bca-token-solidity/contracts/BCA_ServiceInstance.sol @@ -35,6 +35,10 @@ contract BCAServiceInstance is IServiceInstance, ReentrancyGuard { constructor(address setProviderAddress, address tokAddress, address setUserAddress, uint256 setDayPrice) { + require(setProviderAddress != address(0), "Invalid provider address"); + require(tokAddress != address(0), "Invalid token address"); + require(setUserAddress != address(0), "Invalid user address"); + tokToken = IERC20(tokAddress); dayPrice = setDayPrice; providerAddress = setProviderAddress; diff --git a/bca-token-solidity/contracts/BCA_ServiceManager.sol b/bca-token-solidity/contracts/BCA_ServiceManager.sol index 1f4faec..79821b7 100644 --- a/bca-token-solidity/contracts/BCA_ServiceManager.sol +++ b/bca-token-solidity/contracts/BCA_ServiceManager.sol @@ -19,6 +19,9 @@ contract BCAServiceManager is IServiceManager, ReentrancyGuard { event ServiceDeployed(address contractAddress); constructor(address setProviderAddress, address tokAddress) { + require(setProviderAddress != address(0), "Invalid provider address"); + require(tokAddress != address(0), "Invalid token address"); + tokToken = IERC20(tokAddress); providerAddress = setProviderAddress; }