Пример #1
0
        public ChainBuilder(IndexerTester indexerTester)
        {
            this._Tester = indexerTester;
            var genesis = indexerTester.Indexer.Configuration.Network.GetGenesis();

            _Blocks.Add(genesis.GetHash(), genesis);
        }
Пример #2
0
 public MiniNode(IndexerTester tester, NodeServer server)
 {
     _Generator = new ChainBuilder(tester);
     _Server    = server;
     server.AllMessages.AddMessageListener(new NewThreadMessageListener <IncomingMessage>(ProcessMessage));
 }
Пример #3
0
        private static void NonStandardScriptPubKeyDoesNotReturnsWrongBalanceCore(IndexerTester tester, Key bob, Key alice, BalanceId bobId)
        {
            var chainBuilder = tester.CreateChainBuilder();
            chainBuilder.EmitMoney(bob, "50.0");


            var prev = chainBuilder.Emit(new Transaction()
            {
                Outputs =
                    {
                        new TxOut(Money.Coins(1.0m), bob.ScriptPubKey + OpcodeType.OP_NOP)
                    }
            });
            chainBuilder.SubmitBlock();
            chainBuilder.SyncIndexer();

            var bobBalance = tester.Client.GetOrderedBalance(bobId).ToArray();
            Assert.True(bobBalance.Length == 1);

            var tx = new Transaction();
            tx.Inputs.Add(new TxIn()
            {
                PrevOut = prev.Outputs.AsCoins().First().Outpoint,
                ScriptSig = bob.ScriptPubKey
            });
            tx.Outputs.Add(new TxOut(Money.Coins(0.1m), alice));
            tx.Sign(bob, false);
            chainBuilder.Emit(tx);
            chainBuilder.SubmitBlock();
            chainBuilder.SyncIndexer();

            for(int i = 0; i < 2; i++)
            {
                bobBalance = tester.Client.GetOrderedBalance(bobId).ToArray();
                Assert.True(bobBalance.Length < 2); //OP_NOP spending should not appear
            }
        }
 public ChainBuilder(IndexerTester indexerTester)
 {
     this._Tester = indexerTester;
     var genesis = indexerTester.Indexer.Configuration.Network.GetGenesis();
     _Blocks.Add(genesis.GetHash(), genesis);
 }