From 4f2539c59f6635109bf5dfb8191b2b0279228576 Mon Sep 17 00:00:00 2001 From: benbierens Date: Tue, 19 Dec 2023 15:43:26 +0100 Subject: [PATCH] Adds marketplace generated code --- .../NethereumWorkflow/NethereumInteraction.cs | 6 +- .../Marketplace/Marketplace.cs | 517 ++++++++++++++++++ .../Marketplace/README.md | 1 + ProjectPlugins/GethPlugin/GethNode.cs | 8 +- 4 files changed, 523 insertions(+), 9 deletions(-) create mode 100644 ProjectPlugins/CodexContractsPlugin/Marketplace/Marketplace.cs create mode 100644 ProjectPlugins/CodexContractsPlugin/Marketplace/README.md diff --git a/Framework/NethereumWorkflow/NethereumInteraction.cs b/Framework/NethereumWorkflow/NethereumInteraction.cs index 1139175..48a62f2 100644 --- a/Framework/NethereumWorkflow/NethereumInteraction.cs +++ b/Framework/NethereumWorkflow/NethereumInteraction.cs @@ -79,7 +79,7 @@ namespace NethereumWorkflow } } - public List> GetEvent(string address, DateTime from, DateTime to) where TEvent : IEventDTO, new() + public List> GetEvents(string address, DateTime from, DateTime to) where TEvent : IEventDTO, new() { if (from >= to) throw new Exception("Time range is invalid."); @@ -88,10 +88,10 @@ namespace NethereumWorkflow var fromBlock = blockTimeFinder.GetLowestBlockNumberAfter(from); var toBlock = blockTimeFinder.GetHighestBlockNumberBefore(to); - return GetEvent(address, fromBlock, toBlock); + return GetEvents(address, fromBlock, toBlock); } - public List> GetEvent(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new() + public List> GetEvents(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new() { var eventHandler = web3.Eth.GetEvent(address); var from = new BlockParameter(fromBlockNumber); diff --git a/ProjectPlugins/CodexContractsPlugin/Marketplace/Marketplace.cs b/ProjectPlugins/CodexContractsPlugin/Marketplace/Marketplace.cs new file mode 100644 index 0000000..507334a --- /dev/null +++ b/ProjectPlugins/CodexContractsPlugin/Marketplace/Marketplace.cs @@ -0,0 +1,517 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; +using System.Numerics; + +// Generated code, do not modify. + +#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. +namespace CodexContractsPlugin.Marketplace +{ + public partial class ConfigFunction : ConfigFunctionBase { } + + [Function("config", typeof(ConfigOutputDTO))] + public class ConfigFunctionBase : FunctionMessage + { + + } + + public partial class FillSlotFunction : FillSlotFunctionBase { } + + [Function("fillSlot")] + public class FillSlotFunctionBase : FunctionMessage + { + [Parameter("bytes32", "requestId", 1)] + public virtual byte[] RequestId { get; set; } + [Parameter("uint256", "slotIndex", 2)] + public virtual BigInteger SlotIndex { get; set; } + [Parameter("bytes", "proof", 3)] + public virtual byte[] Proof { get; set; } + } + + public partial class FreeSlotFunction : FreeSlotFunctionBase { } + + [Function("freeSlot")] + public class FreeSlotFunctionBase : FunctionMessage + { + [Parameter("bytes32", "slotId", 1)] + public virtual byte[] SlotId { get; set; } + } + + public partial class GetActiveSlotFunction : GetActiveSlotFunctionBase { } + + [Function("getActiveSlot", typeof(GetActiveSlotOutputDTO))] + public class GetActiveSlotFunctionBase : FunctionMessage + { + [Parameter("bytes32", "slotId", 1)] + public virtual byte[] SlotId { get; set; } + } + + public partial class GetChallengeFunction : GetChallengeFunctionBase { } + + [Function("getChallenge", "bytes32")] + public class GetChallengeFunctionBase : FunctionMessage + { + [Parameter("bytes32", "id", 1)] + public virtual byte[] Id { get; set; } + } + + public partial class GetHostFunction : GetHostFunctionBase { } + + [Function("getHost", "address")] + public class GetHostFunctionBase : FunctionMessage + { + [Parameter("bytes32", "slotId", 1)] + public virtual byte[] SlotId { get; set; } + } + + public partial class GetPointerFunction : GetPointerFunctionBase { } + + [Function("getPointer", "uint8")] + public class GetPointerFunctionBase : FunctionMessage + { + [Parameter("bytes32", "id", 1)] + public virtual byte[] Id { get; set; } + } + + public partial class GetRequestFunction : GetRequestFunctionBase { } + + [Function("getRequest", typeof(GetRequestOutputDTO))] + public class GetRequestFunctionBase : FunctionMessage + { + [Parameter("bytes32", "requestId", 1)] + public virtual byte[] RequestId { get; set; } + } + + public partial class IsProofRequiredFunction : IsProofRequiredFunctionBase { } + + [Function("isProofRequired", "bool")] + public class IsProofRequiredFunctionBase : FunctionMessage + { + [Parameter("bytes32", "id", 1)] + public virtual byte[] Id { get; set; } + } + + public partial class MarkProofAsMissingFunction : MarkProofAsMissingFunctionBase { } + + [Function("markProofAsMissing")] + public class MarkProofAsMissingFunctionBase : FunctionMessage + { + [Parameter("bytes32", "slotId", 1)] + public virtual byte[] SlotId { get; set; } + [Parameter("uint256", "period", 2)] + public virtual BigInteger Period { get; set; } + } + + public partial class MissingProofsFunction : MissingProofsFunctionBase { } + + [Function("missingProofs", "uint256")] + public class MissingProofsFunctionBase : FunctionMessage + { + [Parameter("bytes32", "slotId", 1)] + public virtual byte[] SlotId { get; set; } + } + + public partial class MyRequestsFunction : MyRequestsFunctionBase { } + + [Function("myRequests", "bytes32[]")] + public class MyRequestsFunctionBase : FunctionMessage + { + + } + + public partial class MySlotsFunction : MySlotsFunctionBase { } + + [Function("mySlots", "bytes32[]")] + public class MySlotsFunctionBase : FunctionMessage + { + + } + + public partial class RequestEndFunction : RequestEndFunctionBase { } + + [Function("requestEnd", "uint256")] + public class RequestEndFunctionBase : FunctionMessage + { + [Parameter("bytes32", "requestId", 1)] + public virtual byte[] RequestId { get; set; } + } + + public partial class RequestStateFunction : RequestStateFunctionBase { } + + [Function("requestState", "uint8")] + public class RequestStateFunctionBase : FunctionMessage + { + [Parameter("bytes32", "requestId", 1)] + public virtual byte[] RequestId { get; set; } + } + + public partial class RequestStorageFunction : RequestStorageFunctionBase { } + + [Function("requestStorage")] + public class RequestStorageFunctionBase : FunctionMessage + { + [Parameter("tuple", "request", 1)] + public virtual Request Request { get; set; } + } + + public partial class SlotStateFunction : SlotStateFunctionBase { } + + [Function("slotState", "uint8")] + public class SlotStateFunctionBase : FunctionMessage + { + [Parameter("bytes32", "slotId", 1)] + public virtual byte[] SlotId { get; set; } + } + + public partial class SubmitProofFunction : SubmitProofFunctionBase { } + + [Function("submitProof")] + public class SubmitProofFunctionBase : FunctionMessage + { + [Parameter("bytes32", "id", 1)] + public virtual byte[] Id { get; set; } + [Parameter("bytes", "proof", 2)] + public virtual byte[] Proof { get; set; } + } + + public partial class TokenFunction : TokenFunctionBase { } + + [Function("token", "address")] + public class TokenFunctionBase : FunctionMessage + { + + } + + public partial class WillProofBeRequiredFunction : WillProofBeRequiredFunctionBase { } + + [Function("willProofBeRequired", "bool")] + public class WillProofBeRequiredFunctionBase : FunctionMessage + { + [Parameter("bytes32", "id", 1)] + public virtual byte[] Id { get; set; } + } + + public partial class WithdrawFundsFunction : WithdrawFundsFunctionBase { } + + [Function("withdrawFunds")] + public class WithdrawFundsFunctionBase : FunctionMessage + { + [Parameter("bytes32", "requestId", 1)] + public virtual byte[] RequestId { get; set; } + } + + public partial class ProofSubmittedEventDTO : ProofSubmittedEventDTOBase { } + + [Event("ProofSubmitted")] + public class ProofSubmittedEventDTOBase : IEventDTO + { + [Parameter("bytes32", "id", 1, false)] + public virtual byte[] Id { get; set; } + [Parameter("bytes", "proof", 2, false)] + public virtual byte[] Proof { get; set; } + } + + public partial class RequestCancelledEventDTO : RequestCancelledEventDTOBase { } + + [Event("RequestCancelled")] + public class RequestCancelledEventDTOBase : IEventDTO + { + [Parameter("bytes32", "requestId", 1, true)] + public virtual byte[] RequestId { get; set; } + } + + public partial class RequestFailedEventDTO : RequestFailedEventDTOBase { } + + [Event("RequestFailed")] + public class RequestFailedEventDTOBase : IEventDTO + { + [Parameter("bytes32", "requestId", 1, true)] + public virtual byte[] RequestId { get; set; } + } + + public partial class RequestFulfilledEventDTO : RequestFulfilledEventDTOBase { } + + [Event("RequestFulfilled")] + public class RequestFulfilledEventDTOBase : IEventDTO + { + [Parameter("bytes32", "requestId", 1, true)] + public virtual byte[] RequestId { get; set; } + } + + public partial class SlotFilledEventDTO : SlotFilledEventDTOBase { } + + [Event("SlotFilled")] + public class SlotFilledEventDTOBase : IEventDTO + { + [Parameter("bytes32", "requestId", 1, true)] + public virtual byte[] RequestId { get; set; } + [Parameter("uint256", "slotIndex", 2, false)] + public virtual BigInteger SlotIndex { get; set; } + } + + public partial class SlotFreedEventDTO : SlotFreedEventDTOBase { } + + [Event("SlotFreed")] + public class SlotFreedEventDTOBase : IEventDTO + { + [Parameter("bytes32", "requestId", 1, true)] + public virtual byte[] RequestId { get; set; } + [Parameter("uint256", "slotIndex", 2, false)] + public virtual BigInteger SlotIndex { get; set; } + } + + public partial class StorageRequestedEventDTO : StorageRequestedEventDTOBase { } + + [Event("StorageRequested")] + public class StorageRequestedEventDTOBase : IEventDTO + { + [Parameter("bytes32", "requestId", 1, false)] + public virtual byte[] RequestId { get; set; } + [Parameter("tuple", "ask", 2, false)] + public virtual Ask Ask { get; set; } + [Parameter("uint256", "expiry", 3, false)] + public virtual BigInteger Expiry { get; set; } + } + + public partial class ConfigOutputDTO : ConfigOutputDTOBase { } + + [FunctionOutput] + public class ConfigOutputDTOBase : IFunctionOutputDTO + { + [Parameter("tuple", "collateral", 1)] + public virtual CollateralConfig Collateral { get; set; } + [Parameter("tuple", "proofs", 2)] + public virtual ProofConfig Proofs { get; set; } + } + + + + + + public partial class GetActiveSlotOutputDTO : GetActiveSlotOutputDTOBase { } + + [FunctionOutput] + public class GetActiveSlotOutputDTOBase : IFunctionOutputDTO + { + [Parameter("tuple", "", 1)] + public virtual ActiveSlot ReturnValue1 { get; set; } + } + + public partial class GetChallengeOutputDTO : GetChallengeOutputDTOBase { } + + [FunctionOutput] + public class GetChallengeOutputDTOBase : IFunctionOutputDTO + { + [Parameter("bytes32", "", 1)] + public virtual byte[] ReturnValue1 { get; set; } + } + + public partial class GetHostOutputDTO : GetHostOutputDTOBase { } + + [FunctionOutput] + public class GetHostOutputDTOBase : IFunctionOutputDTO + { + [Parameter("address", "", 1)] + public virtual string ReturnValue1 { get; set; } + } + + public partial class GetPointerOutputDTO : GetPointerOutputDTOBase { } + + [FunctionOutput] + public class GetPointerOutputDTOBase : IFunctionOutputDTO + { + [Parameter("uint8", "", 1)] + public virtual byte ReturnValue1 { get; set; } + } + + public partial class GetRequestOutputDTO : GetRequestOutputDTOBase { } + + [FunctionOutput] + public class GetRequestOutputDTOBase : IFunctionOutputDTO + { + [Parameter("tuple", "", 1)] + public virtual Request ReturnValue1 { get; set; } + } + + public partial class IsProofRequiredOutputDTO : IsProofRequiredOutputDTOBase { } + + [FunctionOutput] + public class IsProofRequiredOutputDTOBase : IFunctionOutputDTO + { + [Parameter("bool", "", 1)] + public virtual bool ReturnValue1 { get; set; } + } + + + + public partial class MissingProofsOutputDTO : MissingProofsOutputDTOBase { } + + [FunctionOutput] + public class MissingProofsOutputDTOBase : IFunctionOutputDTO + { + [Parameter("uint256", "", 1)] + public virtual BigInteger ReturnValue1 { get; set; } + } + + public partial class MyRequestsOutputDTO : MyRequestsOutputDTOBase { } + + [FunctionOutput] + public class MyRequestsOutputDTOBase : IFunctionOutputDTO + { + [Parameter("bytes32[]", "", 1)] + public virtual List ReturnValue1 { get; set; } + } + + public partial class MySlotsOutputDTO : MySlotsOutputDTOBase { } + + [FunctionOutput] + public class MySlotsOutputDTOBase : IFunctionOutputDTO + { + [Parameter("bytes32[]", "", 1)] + public virtual List ReturnValue1 { get; set; } + } + + public partial class RequestEndOutputDTO : RequestEndOutputDTOBase { } + + [FunctionOutput] + public class RequestEndOutputDTOBase : IFunctionOutputDTO + { + [Parameter("uint256", "", 1)] + public virtual BigInteger ReturnValue1 { get; set; } + } + + public partial class RequestStateOutputDTO : RequestStateOutputDTOBase { } + + [FunctionOutput] + public class RequestStateOutputDTOBase : IFunctionOutputDTO + { + [Parameter("uint8", "", 1)] + public virtual byte ReturnValue1 { get; set; } + } + + + + public partial class SlotStateOutputDTO : SlotStateOutputDTOBase { } + + [FunctionOutput] + public class SlotStateOutputDTOBase : IFunctionOutputDTO + { + [Parameter("uint8", "", 1)] + public virtual byte ReturnValue1 { get; set; } + } + + + + public partial class TokenOutputDTO : TokenOutputDTOBase { } + + [FunctionOutput] + public class TokenOutputDTOBase : IFunctionOutputDTO + { + [Parameter("address", "", 1)] + public virtual string ReturnValue1 { get; set; } + } + + public partial class WillProofBeRequiredOutputDTO : WillProofBeRequiredOutputDTOBase { } + + [FunctionOutput] + public class WillProofBeRequiredOutputDTOBase : IFunctionOutputDTO + { + [Parameter("bool", "", 1)] + public virtual bool ReturnValue1 { get; set; } + } + + + + public partial class CollateralConfig : CollateralConfigBase { } + + public class CollateralConfigBase + { + [Parameter("uint8", "repairRewardPercentage", 1)] + public virtual byte RepairRewardPercentage { get; set; } + [Parameter("uint8", "maxNumberOfSlashes", 2)] + public virtual byte MaxNumberOfSlashes { get; set; } + [Parameter("uint16", "slashCriterion", 3)] + public virtual ushort SlashCriterion { get; set; } + [Parameter("uint8", "slashPercentage", 4)] + public virtual byte SlashPercentage { get; set; } + } + + public partial class ProofConfig : ProofConfigBase { } + + public class ProofConfigBase + { + [Parameter("uint256", "period", 1)] + public virtual BigInteger Period { get; set; } + [Parameter("uint256", "timeout", 2)] + public virtual BigInteger Timeout { get; set; } + [Parameter("uint8", "downtime", 3)] + public virtual byte Downtime { get; set; } + } + + public partial class MarketplaceConfig : MarketplaceConfigBase { } + + public class MarketplaceConfigBase + { + [Parameter("tuple", "collateral", 1)] + public virtual CollateralConfig Collateral { get; set; } + [Parameter("tuple", "proofs", 2)] + public virtual ProofConfig Proofs { get; set; } + } + + public partial class Ask : AskBase { } + + public class AskBase + { + [Parameter("uint64", "slots", 1)] + public virtual ulong Slots { get; set; } + [Parameter("uint256", "slotSize", 2)] + public virtual BigInteger SlotSize { get; set; } + [Parameter("uint256", "duration", 3)] + public virtual BigInteger Duration { get; set; } + [Parameter("uint256", "proofProbability", 4)] + public virtual BigInteger ProofProbability { get; set; } + [Parameter("uint256", "reward", 5)] + public virtual BigInteger Reward { get; set; } + [Parameter("uint256", "collateral", 6)] + public virtual BigInteger Collateral { get; set; } + [Parameter("uint64", "maxSlotLoss", 7)] + public virtual ulong MaxSlotLoss { get; set; } + } + + public partial class Content : ContentBase { } + + public class ContentBase + { + [Parameter("string", "cid", 1)] + public virtual string Cid { get; set; } + [Parameter("bytes32", "merkleRoot", 2)] + public virtual byte[] MerkleRoot { get; set; } + } + + public partial class Request : RequestBase { } + + public class RequestBase + { + [Parameter("address", "client", 1)] + public virtual string Client { get; set; } + [Parameter("tuple", "ask", 2)] + public virtual Ask Ask { get; set; } + [Parameter("tuple", "content", 3)] + public virtual Content Content { get; set; } + [Parameter("uint256", "expiry", 4)] + public virtual BigInteger Expiry { get; set; } + [Parameter("bytes32", "nonce", 5)] + public virtual byte[] Nonce { get; set; } + } + + public partial class ActiveSlot : ActiveSlotBase { } + + public class ActiveSlotBase + { + [Parameter("tuple", "request", 1)] + public virtual Request Request { get; set; } + [Parameter("uint256", "slotIndex", 2)] + public virtual BigInteger SlotIndex { get; set; } + } +} +#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. diff --git a/ProjectPlugins/CodexContractsPlugin/Marketplace/README.md b/ProjectPlugins/CodexContractsPlugin/Marketplace/README.md new file mode 100644 index 0000000..bfb23ce --- /dev/null +++ b/ProjectPlugins/CodexContractsPlugin/Marketplace/README.md @@ -0,0 +1 @@ +This code was generated using the Nethereum code generator, here: http://playground.nethereum.com diff --git a/ProjectPlugins/GethPlugin/GethNode.cs b/ProjectPlugins/GethPlugin/GethNode.cs index 8c83d34..126792e 100644 --- a/ProjectPlugins/GethPlugin/GethNode.cs +++ b/ProjectPlugins/GethPlugin/GethNode.cs @@ -21,7 +21,6 @@ namespace GethPlugin decimal? GetSyncedBlockNumber(); bool IsContractAvailable(string abi, string contractAddress); GethBootstrapNode GetBootstrapRecord(); - List> GetEvents(string address) where TEvent : IEventDTO, new(); List> GetEvents(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new(); List> GetEvents(string address, DateTime from, DateTime to) where TEvent : IEventDTO, new(); } @@ -137,17 +136,14 @@ namespace GethPlugin return StartInteraction().IsContractAvailable(abi, contractAddress); } - public List> GetEvents(string address) where TEvent : IEventDTO, new() - { - StartInteraction().GetEvent(); - } - public List> GetEvents(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new() { + return StartInteraction().GetEvents(address, fromBlockNumber, toBlockNumber); } public List> GetEvents(string address, DateTime from, DateTime to) where TEvent : IEventDTO, new() { + return StartInteraction().GetEvents(address, from, to); } protected abstract NethereumInteraction StartInteraction();