public async Task <IEthereumFile> AddAsync( string login, string password, string type, string hash, long size, string name, string description, DateTime created) { var param = new { Login = CastHelper.StringToBytes32(login), Password = CastHelper.StringToBytes32(password), Mime = CastHelper.StringToBytes32(type), Hash = CastHelper.ToDescriptionType(hash), Size = CastHelper.StringToBytes32(size.ToString()), Name = CastHelper.ToFileNameType(name), Description = CastHelper.ToDescriptionType(description), Timestamp = (int)((DateTimeOffset)created).ToUnixTimeSeconds() }; // send call to get output value var response = await _contractService.AddFileAsyncCall( param.Login, param.Password, param.Mime, param.Hash, param.Size, param.Name, param.Description, param.Timestamp); // send transaction & wait it to be mined var transactionHash = await _contractService.AddFileAsync( _walletAddress, param.Login, param.Password, param.Mime, param.Hash, param.Size, param.Name, param.Description, param.Timestamp, _gas); var receipt = await _contractService.MineAndGetReceiptAsync(transactionHash); return(await GetAsyncCall(login, password, response.Fileindex)); }
public async Task <bool> SetNameAsync( string login, string password, BigInteger id, string newName, DateTime modified) { var param = new { Login = CastHelper.StringToBytes32(login), Password = CastHelper.StringToBytes32(password), Name = CastHelper.ToFileNameType(newName), Timestamp = (int)((DateTimeOffset)modified).ToUnixTimeSeconds() }; var transactionHash = await _contractService.SetFileNameAsync( _walletAddress, param.Login, param.Password, id, param.Name, param.Timestamp, _gas); var receipt = await _contractService.MineAndGetReceiptAsync(transactionHash); return(true); }