internal void Write(JsonTextWriter jsonWriter) { jsonWriter.WriteStartObject(); if (unknown.Count != 0) { jsonWriter.WritePropertyName("unknown"); jsonWriter.WriteStartObject(); foreach (var el in unknown) { jsonWriter.WritePropertyValue(Encoders.Hex.EncodeData(el.Key), Encoders.Hex.EncodeData(el.Value)); } jsonWriter.WriteEndObject(); } if (this.redeem_script != null) { jsonWriter.WritePropertyValue("redeem_script", redeem_script.ToString()); } if (this.witness_script != null) { jsonWriter.WritePropertyValue("witness_script", witness_script.ToString()); } jsonWriter.WriteBIP32Derivations(this.hd_keypaths); jsonWriter.WriteEndObject(); }
/// <summary> /// Initializes a transaction <see cref="Script"/>, which contains the assembly and a hexadecimal representation of the script. /// </summary> /// <param name="script">A <see cref="NBitcoin.Script"/>.</param> public Script(NBitcoin.Script script) { this.Asm = script.ToString(); this.Hex = Encoders.Hex.EncodeData(script.ToBytes()); }
internal void Write(JsonTextWriter jsonWriter) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyValue("index", Index); if (unknown.Count != 0) { jsonWriter.WritePropertyName("unknown"); jsonWriter.WriteStartObject(); foreach (var el in unknown) { jsonWriter.WritePropertyValue(Encoders.Hex.EncodeData(el.Key), Encoders.Hex.EncodeData(el.Value)); } jsonWriter.WriteEndObject(); } jsonWriter.WritePropertyName("partial_signatures"); jsonWriter.WriteStartObject(); foreach (var sig in partial_sigs) { jsonWriter.WritePropertyValue(sig.Key.ToString(), Encoders.Hex.EncodeData(sig.Value.ToBytes())); } jsonWriter.WriteEndObject(); if (SighashType is SigHash s) { jsonWriter.WritePropertyValue("sighash", GetName(s)); } if (this.FinalScriptSig != null) { jsonWriter.WritePropertyValue("final_script_sig", FinalScriptSig.ToString()); } if (this.FinalScriptWitness != null) { jsonWriter.WritePropertyValue("final_script_witness", FinalScriptWitness.ToString()); } if (this.redeem_script != null) { jsonWriter.WritePropertyValue("redeem_script", redeem_script.ToString()); } if (this.witness_script != null) { jsonWriter.WritePropertyValue("witness_script", witness_script.ToString()); } if (this.NonWitnessUtxo != null) { jsonWriter.WritePropertyName("non_witness_utxo"); jsonWriter.WriteStartObject(); var formatter = new RPC.BlockExplorerFormatter(); formatter.WriteTransaction2(jsonWriter, NonWitnessUtxo); jsonWriter.WriteEndObject(); } if (this.WitnessUtxo != null) { jsonWriter.WritePropertyName("witness_utxo"); jsonWriter.WriteStartObject(); jsonWriter.WritePropertyValue("value", WitnessUtxo.Value.ToString(false, false)); jsonWriter.WritePropertyValue("scriptPubKey", WitnessUtxo.ScriptPubKey.ToString()); jsonWriter.WriteEndObject(); } jsonWriter.WriteBIP32Derivations(this.hd_keypaths); jsonWriter.WriteEndObject(); }