Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }