public ITransaction Build(uint ver, List <UTXO> txToSpend, List <ReceivingAddress> receiveAddr, uint lockTime) { TxIn[] tIns = txToSpend.Select(x => new TxIn() { Outpoint = new Outpoint() { Index = x.OutIndex, TxHash = Base16.ToByteArray(Base16.Reverse(x.TxHash)) }, SigScript = new SignatureScript(), Sequence = uint.MaxValue }).ToArray(); TxOut[] tOuts = receiveAddr.Select(x => new TxOut() { Amount = x.PaymentSatoshi, PubScript = BuildPubkeyScript(x.Address) }).ToArray(); Transaction tx = new Transaction((int)ver, tIns, tOuts, lockTime); return(tx); }