コード例 #1
0
        public IEnumerator LogsGetAllChangesTest()
        {
            return(testContext.ContractTest(async() =>
            {
                BigInteger bigValue = new BigInteger(ulong.MaxValue) * ulong.MaxValue;
                BroadcastTxResult firstEvent1Result = await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 1);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 2);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 3);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", bigValue);
                EvmEvent <EvmTestContext.TestIndexedEvent1> event1 = this.testContext.Contract.GetEvent <EvmTestContext.TestIndexedEvent1>("TestIndexedEvent1");
                List <EventLog <EvmTestContext.TestIndexedEvent1> > decodedEvents1 = await event1.GetAllChanges(event1.EventAbi.CreateFilterInput(new BlockParameter(firstEvent1Result.Height), BlockParameter.CreatePending()));

                Assert.AreEqual((BigInteger)1, decodedEvents1[0].Event.Number1);
                Assert.AreEqual((BigInteger)2, decodedEvents1[1].Event.Number1);
                Assert.AreEqual((BigInteger)3, decodedEvents1[2].Event.Number1);
                Assert.AreEqual(bigValue, decodedEvents1[3].Event.Number1);

                BroadcastTxResult firstEvent2Result = await this.testContext.Contract.CallAsync("emitTestIndexedEvent2", 4, 5);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent2", 6, 7);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent2", 8, 9);
                EvmEvent <EvmTestContext.TestIndexedEvent2> event2 = this.testContext.Contract.GetEvent <EvmTestContext.TestIndexedEvent2>("TestIndexedEvent2");
                List <EventLog <EvmTestContext.TestIndexedEvent2> > decodedEvents2 = await event2.GetAllChanges(event2.EventAbi.CreateFilterInput(new BlockParameter(firstEvent2Result.Height), BlockParameter.CreatePending()));

                Assert.AreEqual((BigInteger)4, decodedEvents2[0].Event.Number1);
                Assert.AreEqual((BigInteger)5, decodedEvents2[0].Event.Number2);
                Assert.AreEqual((BigInteger)6, decodedEvents2[1].Event.Number1);
                Assert.AreEqual((BigInteger)7, decodedEvents2[1].Event.Number2);
                Assert.AreEqual((BigInteger)8, decodedEvents2[2].Event.Number1);
                Assert.AreEqual((BigInteger)9, decodedEvents2[2].Event.Number2);
            }, 20000));
        }
コード例 #2
0
        public void EventFilterInputTest()
        {
            ContractBuilder contractBuilder = new ContractBuilder(this.testContext.TestsAbi, Address.FromPublicKey(CryptoUtils.PublicKeyFromPrivateKey(CryptoUtils.GeneratePrivateKey())).LocalAddress);
            EvmEvent <EvmTestContext.TestIndexedEvent1> event1 = new EvmEvent <EvmTestContext.TestIndexedEvent1>(null, contractBuilder.GetEventAbi("TestIndexedEvent1"));
            NewFilterInput filterInput = event1.EventAbi.CreateFilterInput(2, new BlockParameter(3), BlockParameter.CreatePending());

            Assert.NotNull(filterInput);
        }
コード例 #3
0
ファイル: EvmTests.cs プロジェクト: asyncrun/unity-sdk
        public IEnumerator LogsGetAllChangesTest()
        {
            return(ContractTest(async() =>
            {
                await this.contract.CallAsync("emitTestIndexedEvent1", 1);
                await this.contract.CallAsync("emitTestIndexedEvent1", 2);
                await this.contract.CallAsync("emitTestIndexedEvent1", 3);
                EvmEvent <TestIndexedEvent1> event1 = this.contract.GetEvent <TestIndexedEvent1>("TestIndexedEvent1");
                List <EventLog <TestIndexedEvent1> > decodedEvents = await event1.GetAllChanges(event1.CreateFilterInput(BlockParameter.CreateEarliest(), BlockParameter.CreatePending()));

                Assert.AreEqual(1, decodedEvents[decodedEvents.Count - 3].Event.Number1);
                Assert.AreEqual(2, decodedEvents[decodedEvents.Count - 2].Event.Number1);
                Assert.AreEqual(3, decodedEvents[decodedEvents.Count - 1].Event.Number1);
            }));
        }
コード例 #4
0
ファイル: EvmTests.cs プロジェクト: asyncrun/unity-sdk
        public IEnumerator LogsGetAllChangesFilteredTest()
        {
            return(ContractTest(async() =>
            {
                await this.contract.CallAsync("emitTestIndexedEvent1", 1);
                await this.contract.CallAsync("emitTestIndexedEvent1", 2);
                await this.contract.CallAsync("emitTestIndexedEvent1", 3);
                EvmEvent <TestIndexedEvent1> event1 = this.contract.GetEvent <TestIndexedEvent1>("TestIndexedEvent1");
                List <EventLog <TestIndexedEvent1> > decodedEvents =
                    await event1.GetAllChanges(event1.CreateFilterInput(new object[] { 2 }, BlockParameter.CreateEarliest(), BlockParameter.CreatePending()));

                Assert.NotZero(decodedEvents.Count);
                decodedEvents.ForEach(log => Assert.AreEqual(2, log.Event.Number1));

                Debug.Log(JsonConvert.SerializeObject(decodedEvents, Formatting.Indented));
            }));
        }
コード例 #5
0
        public IEnumerator LogsGetAllChangesFilteredTest()
        {
            return(testContext.ContractTest(async() =>
            {
                BroadcastTxResult firstEvent1Result = await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 1);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 2);
                await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 3);
                EvmEvent <EvmTestContext.TestIndexedEvent1> event1 = this.testContext.Contract.GetEvent <EvmTestContext.TestIndexedEvent1>("TestIndexedEvent1");
                NewFilterInput filterInput = event1.EventAbi.CreateFilterInput(2, new BlockParameter(firstEvent1Result.Height), BlockParameter.CreatePending());
                List <EventLog <EvmTestContext.TestIndexedEvent1> > decodedEvents = await event1.GetAllChanges(filterInput);

                Assert.NotZero(decodedEvents.Count);
                decodedEvents.ForEach(log => Assert.AreEqual((BigInteger)2, log.Event.Number1));

                Debug.Log(JsonConvert.SerializeObject(decodedEvents, Formatting.Indented));
            }, 20000));
        }