Beispiel #1
0
 public TraceApiService(IClient client) : base(client)
 {
     TraceBlock          = new TraceBlock(client);
     TraceCall           = new TraceCall(client);
     TraceFilter         = new TraceFilter(client);
     TraceGet            = new TraceGet(client);
     TraceRawTransaction = new TraceRawTransaction(client);
     TraceTransaction    = new TraceTransaction(client);
 }
Beispiel #2
0
        /// <summary>
        /// Traces the specified message.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="arguments">The arguments.</param>
        public static void Trace(string message, params object[] arguments)
        {
            var current = CurrentTraceBlock;

            if (current == null)
            {
                //No block in current scope, create temporary new one.
                using (current = TraceBlock.New())
                {
                    current.Trace(message, arguments);
                }
            }
            else
            {
                //Trace to block in scope.
                current.Trace(message, arguments);
            }
        }
Beispiel #3
0
        public override async Task <JArray> ExecuteAsync(IClient client)
        {
            var senderAddress = "0x12890d2cce102216644c59daE5baed380d84830c";
            var privateKey    = "0xb5b1870957d373ef0eeffecc6e4812c0fd08f554b37b233526acc331bf1544f7";
            var abi           = @"[{""constant"":false,""inputs"":[{""name"":""val"",""type"":""int256""}],""name"":""multiply"",""outputs"":[{""name"":""d"",""type"":""int256""}],""type"":""function""},{""inputs"":[{""name"":""multiplier"",""type"":""int256""}],""type"":""constructor""}]";
            var byteCode      =
                "0x60606040526040516020806052833950608060405251600081905550602b8060276000396000f3606060405260e060020a60003504631df4f1448114601a575b005b600054600435026060908152602090f3";

            var multiplier = 7;

            var web3 = new Web3.Web3(new Account(privateKey), client);

            var receipt = await
                          web3.Eth.DeployContract.SendRequestAndWaitForReceiptAsync(abi, byteCode, senderAddress, new HexBigInteger(900000), null, multiplier);


            var traceTransaction = new TraceBlock(client);

            return(await traceTransaction.SendRequestAsync(receipt.BlockNumber));
        }
Beispiel #4
0
 /// <summary>
 /// Creates a new instance.
 /// </summary>
 /// <returns></returns>
 public static ITraceBlock CreateBlock()
 {
     return(TraceBlock.New());
 }