Can fetch storage requests from chain
This commit is contained in:
parent
2be31a4d3b
commit
75757e37fb
|
@ -1,7 +1,6 @@
|
|||
using Logging;
|
||||
using Nethereum.RPC.Eth.DTOs;
|
||||
using Nethereum.Web3;
|
||||
using Org.BouncyCastle.Asn1.X509;
|
||||
using Utils;
|
||||
|
||||
namespace NethereumWorkflow
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using GethPlugin;
|
||||
using CodexContractsPlugin.Marketplace;
|
||||
using GethPlugin;
|
||||
using Logging;
|
||||
using Utils;
|
||||
|
||||
|
@ -14,7 +15,7 @@ namespace CodexContractsPlugin
|
|||
TestToken GetTestTokenBalance(IHasEthAddress owner);
|
||||
TestToken GetTestTokenBalance(EthAddress ethAddress);
|
||||
|
||||
void GetStorageRequests(TimeRange range);
|
||||
Request[] GetStorageRequests(TimeRange range);
|
||||
}
|
||||
|
||||
public class CodexContractsAccess : ICodexContracts
|
||||
|
@ -57,10 +58,14 @@ namespace CodexContractsPlugin
|
|||
return balance.TestTokens();
|
||||
}
|
||||
|
||||
public void GetStorageRequests(TimeRange timeRange)
|
||||
public Request[] GetStorageRequests(TimeRange timeRange)
|
||||
{
|
||||
var events = gethNode.GetEvents<Marketplace.StorageRequestedEventDTO>(Deployment.MarketplaceAddress, timeRange);
|
||||
var iii = 0;
|
||||
var events = gethNode.GetEvents<StorageRequestedEventDTO>(Deployment.MarketplaceAddress, timeRange);
|
||||
var i = StartInteraction();
|
||||
return events
|
||||
.Select(e => i.GetRequest(Deployment.MarketplaceAddress, e.Event.RequestId))
|
||||
.Select(r => r.ReturnValue1)
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
private ContractInteractions StartInteraction()
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
using GethPlugin;
|
||||
using CodexContractsPlugin.Marketplace;
|
||||
using GethPlugin;
|
||||
using Logging;
|
||||
using Nethereum.ABI.FunctionEncoding.Attributes;
|
||||
using Nethereum.Contracts;
|
||||
using Nethereum.Hex.HexConvertors.Extensions;
|
||||
using NethereumWorkflow;
|
||||
using System.Numerics;
|
||||
|
||||
|
@ -59,6 +61,17 @@ namespace CodexContractsPlugin
|
|||
return gethNode.Call<GetTokenBalanceFunction, BigInteger>(tokenAddress, function).ToDecimal();
|
||||
}
|
||||
|
||||
public GetRequestOutputDTO GetRequest(string marketplaceAddress, byte[] requestId)
|
||||
{
|
||||
|
||||
log.Debug($"({marketplaceAddress}) {requestId.ToHex(true)}");
|
||||
var func = new GetRequestFunction
|
||||
{
|
||||
RequestId = requestId
|
||||
};
|
||||
return gethNode.Call<GetRequestFunction, GetRequestOutputDTO>(marketplaceAddress, func);
|
||||
}
|
||||
|
||||
public bool IsSynced(string marketplaceAddress, string marketplaceAbi)
|
||||
{
|
||||
log.Debug();
|
||||
|
|
|
@ -88,6 +88,12 @@ namespace CodexTests.BasicTests
|
|||
|
||||
purchaseContract.WaitForStorageContractStarted(fileSize);
|
||||
|
||||
var requests = contracts.GetStorageRequests(GetTestRunTimeRange());
|
||||
Assert.That(requests.Length, Is.EqualTo(1));
|
||||
var request = requests.Single();
|
||||
Assert.That(request.Client, Is.EqualTo(buyer.EthAddress.Address));
|
||||
Assert.That(request.Ask.Slots, Is.EqualTo(1));
|
||||
|
||||
AssertBalance(contracts, seller, Is.LessThan(sellerInitialBalance), "Collateral was not placed.");
|
||||
|
||||
purchaseContract.WaitForStorageContractFinished();
|
||||
|
@ -96,8 +102,6 @@ namespace CodexTests.BasicTests
|
|||
AssertBalance(contracts, buyer, Is.LessThan(buyerInitialBalance), "Buyer was not charged for storage.");
|
||||
|
||||
//CheckLogForErrors(seller, buyer);
|
||||
|
||||
contracts.GetStorageRequests(new TimeRange(Get().TestStart, DateTime.UtcNow));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
@ -143,6 +143,11 @@ namespace DistTestCore
|
|||
Stopwatch.Measure(Get().Log, name, action);
|
||||
}
|
||||
|
||||
protected TimeRange GetTestRunTimeRange()
|
||||
{
|
||||
return new TimeRange(Get().TestStart, DateTime.UtcNow);
|
||||
}
|
||||
|
||||
protected virtual void Initialize(FixtureLog fixtureLog)
|
||||
{
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue