コード例 #1
0
        //[TestMethod, Timeout(20000)]
        public async Task ListenForPartialTransactionAdded()
        {
            var keyPair = KeyPair.CreateFromPrivateKey(Config.PrivateKeyMain);

            var aggregateTransaction = AggregateTransaction.CreateBonded(
                NetworkType.Types.MIJIN_TEST,
                Deadline.CreateHours(2),
                new List <Transaction>
            {
                TransferTransactionTests.CreateInnerTransferTransaction("nem:xem"),
            },
                null
                ).SignWith(keyPair);

            var hashLock = LockFundsTransaction.Create(NetworkType.Types.MIJIN_TEST, Deadline.CreateHours(2), 0, duration: 10000, mosaic: new Mosaic(new MosaicId("nem:xem"), 10000000), transaction: aggregateTransaction)
                           .SignWith(KeyPair.CreateFromPrivateKey(Config.PrivateKeyMain));

            await new TransactionHttp("http://" + Config.Domain + ":3000").Announce(hashLock);

            var listener = new Listener(Config.Domain);

            await listener.Open();

            await listener.ConfirmedTransactionsGiven(Address.CreateFromPublicKey(
                                                          keyPair.PublicKeyString,
                                                          NetworkType.Types.MIJIN_TEST)
                                                      ).Take(1);

            await new TransactionHttp("http://" + Config.Domain + ":3000").AnnounceAggregateBonded(aggregateTransaction);

            var result = await listener.AggregateBondedAdded(Address.CreateFromPublicKey(
                                                                 keyPair.PublicKeyString,
                                                                 NetworkType.Types.MIJIN_TEST)
                                                             ).Take(1);

            Assert.AreEqual("10CC07742437C205D9A0BC0434DC5B4879E002114753DE70CDC4C4BD0D93A64A", result.Signer);
        }