Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }