public void Can_trace_sender_recipient_miner_when_all_are_same() { byte[] code = Prepare.EvmCode .PushData(SampleHexData1) .Done; SenderRecipientAndMiner addresses = new SenderRecipientAndMiner(); addresses.RecipientKey = SenderKey; addresses.MinerKey = SenderKey; (ProofTxTracer trace, _, _) = ExecuteAndTraceProofCall(addresses, code); Assert.AreEqual(1, trace.Accounts.Count, "count"); Assert.True(trace.Accounts.Contains(Sender)); }
protected (ProofTxTracer trace, Block block, Transaction transaction) ExecuteAndTraceProofCall(SenderRecipientAndMiner addresses, params byte[] code) { (Block block, Transaction transaction) = PrepareTx(BlockNumber, 100000, code, addresses); ProofTxTracer tracer = new ProofTxTracer(_treatSystemAccountDifferently); _processor.Execute(transaction, block.Header, tracer); return(tracer, block, transaction); }
protected (AccessTxTracer trace, Block block, Transaction transaction) ExecuteAndTraceAccessCall(SenderRecipientAndMiner addresses, params byte[] code) { (Block block, Transaction transaction) = PrepareTx(BlockNumber, 100000, code, addresses); AccessTxTracer tracer = new(); _processor.Execute(transaction, block.Header, tracer); return(tracer, block, transaction); }
private (UserOperationTxTracer trace, Block block, Transaction transaction) ExecuteAndTraceAccessCall(SenderRecipientAndMiner addresses, params byte[] code) { (Block block, Transaction transaction) = PrepareTx(BlockNumber, 100000, code, addresses); UserOperationTxTracer tracer = new(transaction, TestState, TestItem.AddressA, TestItem.AddressB, TestItem.AddressC, TestItem.AddressD, NullLogger.Instance); _processor.Execute(transaction, block.Header, tracer); return(tracer, block, transaction); }
private (UserOperationTxTracer trace, Block block, Transaction transaction) ExecuteAndTraceAccessCall(SenderRecipientAndMiner addresses, byte[] code, bool paymasterWhitelisted = false, bool firstSimulation = true) { (Block block, Transaction transaction) = PrepareTx(BlockNumber, 100000, code, addresses, 0); UserOperationTxTracer tracer = new(transaction, paymasterWhitelisted, firstSimulation, TestItem.AddressA, TestItem.AddressB, TestItem.AddressD, NullLogger.Instance); _processor.Execute(transaction, block.Header, tracer); return(tracer, block, transaction); }