public async Task TestExternalCallDataArgs() { Address[] addresses1 = new Address[] { new Address("0x7777777777777777777777777777777777777777"), new Address("0x8888888888888888888888888888888888888888"), new Address("0x9999999999999999999999999999999999999999") }; Address[] addresses2 = new Address[] { new Address("0x6666666666666666666666666666666666666666") }; await _contract.throwExternalCallDataArgs(addresses1, 10, 11).ExpectRevertTransaction(); await _contract.throwExternalCallDataArgs2(addresses1, addresses2, 10, 11).ExpectRevertTransaction(); await _contract.throwExternalCallDataArgs3(10, addresses1, addresses2, 11).ExpectRevertTransaction(); // TODO: Verify variables. Assert.Inconclusive(); }
public async Task TestExternalCallDataArgs() { Address[] addresses = new Address[] { new Address("0x7777777777777777777777777777777777777777"), new Address("0x8888888888888888888888888888888888888888"), new Address("0x9999999999999999999999999999999999999999") }; await _contract.throwExternalCallDataArgs(addresses, 10, 10).ExpectRevertTransaction(); // Obtain an execution trace and parse locals from the last point in it (where the exception occurred). var executionTrace = await RpcClient.GetExecutionTrace(); ExecutionTraceAnalysis traceAnalysis = new ExecutionTraceAnalysis(executionTrace); // Obtain our local/state variables. var localVariables = traceAnalysis.GetLocalVariables(RpcClient); var stateVariables = traceAnalysis.GetStateVariables(RpcClient); // TODO: Verify variables. Assert.Inconclusive(); }