public static UnsignedTransaction Create(UnspentCoin[] inputs, params TransactionOutput[] outputs) { if (inputs == null) throw new ArgumentNullException(nameof(inputs)); if (inputs.Length == 0 || outputs.Length == 0) throw new ArgumentException(); if (inputs.Sum(p => p.Value) < outputs.Sum(p => p.Value)) throw new ArgumentException(); return new UnsignedTransaction { Version = 1, Inputs = inputs, Outputs = outputs, LockTime = 0 }; }