@@ -331,6 +331,33 @@ public function testRejectsInvalidSigHashType()
331
331
$ input ->getSigHash (20 );
332
332
}
333
333
334
+ public function testSetCheckerCreatorNoInputs ()
335
+ {
336
+ $ signer = new Signer ((new TxBuilder ())
337
+ ->get (), Bitcoin::getEcAdapter ());
338
+ $ ecAdapter = Bitcoin::getEcAdapter ();
339
+ $ checkerCreator = \BitWasp \Bitcoin \Transaction \Factory \Checker \CheckerCreator::fromEcAdapter ($ ecAdapter );
340
+ $ signer ->setCheckerCreator ($ checkerCreator );
341
+ }
342
+
343
+ public function testSetCheckerCreator ()
344
+ {
345
+ $ outpoint = new OutPoint (new Buffer ('' , 32 ), 0xffffffff );
346
+ $ txOut = new TransactionOutput (5000000000 , ScriptFactory::scriptPubKey ()->p2pkh ((new Random ())->bytes (20 )));
347
+ $ signer = new Signer ((new TxBuilder ())
348
+ ->inputs ([new TransactionInput ($ outpoint , new Script ())])
349
+ ->outputs ([new TransactionOutput (4900000000 , new Script )])
350
+ ->get (), Bitcoin::getEcAdapter ());
351
+ $ input = $ signer ->input (0 , $ txOut );
352
+ $ ecAdapter = Bitcoin::getEcAdapter ();
353
+ $ checkerCreator = \BitWasp \Bitcoin \Transaction \Factory \Checker \CheckerCreator::fromEcAdapter ($ ecAdapter );
354
+
355
+ $ this ->expectException (SignerException::class);
356
+ $ this ->expectExceptionMessage ("Cannot change CheckerCreator after inputs have been parsed " );
357
+
358
+ $ signer ->setCheckerCreator ($ checkerCreator );
359
+ }
360
+
334
361
public function testDiscouragesInvalidKeysInScripts ()
335
362
{
336
363
$ caught = false ;
0 commit comments