Beispiel #1
0
        public CliqueContext SendTransaction(TransactionForRpc tx)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc($"send tx to {TestBuilder.CurrentNode.HttpPort}", "eth_sendTransaction",
                              () => client.PostAsync <string>("eth_SendTransaction", new object[] { tx })));
        }
Beispiel #2
0
        public NdmContext MakeDeposit(Func <MakeDepositDto> deposit, string name = "Make deposit",
                                      Func <string, bool> validator = null, Action <NdmState, JsonRpcResponse <string> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_makeDeposit", () => client.PostAsync <string>(nameof(MakeDeposit), new object[] { deposit() }), validator, stateUpdater));
        }
Beispiel #3
0
        public NdmContext SendData(Func <DataAssetDataDto> data, string name = "Send data",
                                   Func <string, bool> validator             = null, Action <NdmState, JsonRpcResponse <string> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_sendData", () => client.PostAsync <string>(nameof(SendData), new object[] { data() }), validator, stateUpdater));
        }
Beispiel #4
0
        public CliqueContext Discard(Address address)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc($"discard vote for {address}", "clique_discard",
                              () => client.PostAsync <string>("clique_discard", new object[] { address })));
        }
Beispiel #5
0
        public CliqueContext Propose(Address address, bool vote)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc($"vote {vote} for {address}", "clique_propose",
                              () => client.PostAsync <string>("clique_propose", new object[] { address, vote })));
        }
Beispiel #6
0
        public NdmContext PullData(Func <string> depositId, string name = "Pull data",
                                   Func <string, bool> validator        = null, Action <NdmState, JsonRpcResponse <string> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_pullData",
                              () => client.PostAsync <string>(nameof(PullData), new object[] { depositId() }), validator, stateUpdater));
        }
        public NdmContext AddDataHeader(Func <DataHeaderDto> dataHeader, string name = "Add data header",
                                        Func <string, bool> validator = null, Action <NdmState, JsonRpcResponse <string> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_addDataHeader",
                              () => client.PostAsync <string>(nameof(AddDataHeader), new object[] { dataHeader() }), validator, stateUpdater));
        }
Beispiel #8
0
        public AuRaContext ReadBlockNumber()
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc("Read block number", "eth_blockNumber",
                              () => client.PostAsync <long>("eth_blockNumber"), stateUpdater: (s, r) => s.BlocksCount = r.Result
                              ));
        }
Beispiel #9
0
        public NdmContext GetDeposits(string name = "Get deposits",
                                      Func <DepositDetailsDto[], bool> validator = null,
                                      Action <NdmState, JsonRpcResponse <DepositDetailsDto[]> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_getDeposits",
                              () => client.PostAsync <DepositDetailsDto[]>(nameof(GetDeposits)), validator, stateUpdater));
        }
Beispiel #10
0
        public NdmContext EnableDataStream(Func <string> depositId, string[] args,
                                           string name = "Enable data stream", Func <string, bool> validator = null,
                                           Action <NdmState, JsonRpcResponse <string> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_enableDataStream",
                              () => client.PostAsync <string>(nameof(EnableDataStream), new object[] { depositId(), args }), validator, stateUpdater));
        }
Beispiel #11
0
        public NdmContext GetDiscoveredDataHeaders(string name = "Get discovered data headers",
                                                   Func <DataHeaderDto[], bool> validator = null,
                                                   Action <NdmState, JsonRpcResponse <DataHeaderDto[]> > stateUpdater = null)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "npm_getDiscoveredDataHeaders",
                              () => client.PostAsync <DataHeaderDto[]>(nameof(GetDiscoveredDataHeaders)), validator, stateUpdater));
        }
Beispiel #12
0
        private AuRaContext ReadBlockAuthor(long blockNumber)
        {
            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc("Read block", "eth_getBlockByNumber",
                              () => client.PostAsync <JObject>("eth_getBlockByNumber", new object[] { blockNumber, false }),
                              stateUpdater: (s, r) => s.Blocks.Add(
                                  Convert.ToInt64(r.Result["number"].Value <string>(), 16),
                                  (r.Result["miner"].Value <string>(), Convert.ToInt64(r.Result["step"].Value <string>(), 16)))));
        }
Beispiel #13
0
        public NdmContext DeployNdmContract(string name = "Deploy contract")
        {
            TransactionForRpc deployContract = new TransactionForRpc();

            deployContract.From     = new DevWallet(new WalletConfig(), LimboLogs.Instance).GetAccounts()[0];
            deployContract.Gas      = 4000000;
            deployContract.Data     = Bytes.FromHexString(File.ReadAllText("contractCode.txt"));
            deployContract.Value    = 0;
            deployContract.GasPrice = 20.GWei();

            IJsonRpcClient client = TestBuilder.CurrentNode.JsonRpcClient;

            return(AddJsonRpc(name, "eth_sendTransaction",
                              () => client.PostAsync <string>("eth_sendTransaction", new object[] { deployContract })));
        }