Я вызываю контракт с помощью следующего вызова и получаю ClientServiceService.createClient (): failed: Error: возвращенная ошибка: учетная запись отправителя не распознана
return await this.web3ClientsService.contract.methods.addClient (userAddress, pwd, clientID, clientName) .send ({from: userAddress, gas: 3000000});
Я работаю локально на ganache-cli, и адрес, который я использую, является одной из учетных записей для userAddress.
Это метод контракта:
function addClient(
address _userAddress,
string memory _pwd,
address _clientID,
string memory _name
)
public
userOnly(_userAddress, _name)
isValidPassword(_userAddress, _pwd)
noDupClient(_userAddress, _clientID, _name)
{
clientMap[_name].clientID = _clientID;
clientMap[_name].name = _name;
clientMap[_name].flag = true;
// clientNameArray.push(_name);
if (userClientIDMap[_userAddress] == address(0x0)) {
userClientIDMap[_userAddress] = _clientID;
}
clientNameAddressMap[_name] = _clientID;
//clientNameInvoiceCountMap[_name] = 0;
userClientIDMap[_userAddress] = _clientID;
usersToClientsMap[_userAddress].push(Client(_clientID, _name, true));
userToNumClientsMap[_userAddress] += 1;
emit addClientEvent(_userAddress, _clientID, _name);
}