public ChainBuilder(IndexerTester indexerTester) { this._Tester = indexerTester; var genesis = indexerTester.Indexer.Configuration.Network.GetGenesis(); _Blocks.Add(genesis.GetHash(), genesis); }
public MiniNode(IndexerTester tester, NodeServer server) { _Generator = new ChainBuilder(tester); _Server = server; server.AllMessages.AddMessageListener(new NewThreadMessageListener <IncomingMessage>(ProcessMessage)); }
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); }