I am able to sign following transaction with Complete=true result, but when trying to decode signed transaction, it returns error "TX decode failed" both from DecodeRawTransaction and SendRawTransaction RPC calls.
signed_Tx = "020000000103d3049e968d8b3e3e967aa90b45d3f64b5e2117ee9610b0c9d5a96081a24e3e000000004847304402201921a1acf601acb0f9e6297a55eeb853c2dd6cd246ea05f060eaa4d327d4124a02206e08e2c90b92113a64d6de1447f81bf19703f88bffeacc6d2cc4bf0e21ed8ac501ffffffff0200e1f5050000000017a9140796253e13d88cda530bf88b07eb1672952a3a7887608a0e24010000001976a914957b73da3bf34440ab2f78937a7a420835255a0988ac00000000"
[TestMethod()]
public async Task CreateRawTxTest()
{
Dictionary<string, object> prevTx = new Dictionary<string, object>() {
{ "txid","3e4ea28160a9d5c9b01096ee17215e4bf6d3450ba97a963e3e8b8d969e04d303"} ,
{ "scriptPubKey", "21033ff1181726af279fb2328e9ae041d71f323a91483f76841fe23aa03f87ecf3d3ac" },
{ "vout", 0} };
List<object> txIn = new List<object>()
{
new Dictionary<string, object>() {
{ "txid","3e4ea28160a9d5c9b01096ee17215e4bf6d3450ba97a963e3e8b8d969e04d303"},
{ "vout", 0} }
};
List<object> txOut = new List<object>()
{
new Dictionary<string, float>
{
{ TestNet_ReceiverAddress, 1.0f}
},
new Dictionary<string, float>
{
{ "TestNet_SenderAddress", 48.99900f }
},
};
RPCResultPrime<string> rawResult = await disp.CreateRawTransactionAsync(txIn, txOut);
if (rawResult.Error == null)
{
string TxRaw = rawResult.Result;
Dictionary<string, object> param = new Dictionary<string, object>()
{
{"hexstring", TxRaw },
{"privkeys", new string[] { PrivateKey }},
{"prevtxs", new List<object>(){ prevTx } }
{"sighashtype", "ALL" }
};
string signedTx = await disp.SignTransactionAsync(param);
//at this point transaction signed successfully but could not be Decoded in the next step
string decode = await disp.DecodeRawTransactionAsync(signedTx);
string jsonSend = await disp.SendRawTransactionAsync(signedTx);
Debugger.Break();
}
}