Ztm.Data.Entity.Contexts.Main.Transaction ToEntity(Transaction tx) { var entity = new Ztm.Data.Entity.Contexts.Main.Transaction() { Hash = tx.GetHash(), Version = tx.Version, LockTime = tx.LockTime }; // Outputs. for (int i = 0; i < tx.Outputs.Count; i++) { var output = new Ztm.Data.Entity.Contexts.Main.Output() { TransactionHash = entity.Hash, Index = i, Value = tx.Outputs[i].Value, Script = tx.Outputs[i].ScriptPubKey, Transaction = entity }; entity.Outputs.Add(output); } // Inputs. for (int i = 0; i < tx.Inputs.Count; i++) { var input = new Ztm.Data.Entity.Contexts.Main.Input() { TransactionHash = entity.Hash, Index = i, OutputHash = tx.Inputs[i].PrevOut.Hash, OutputIndex = tx.Inputs[i].PrevOut.N, Script = tx.Inputs[i].ScriptSig, Sequence = tx.Inputs[i].Sequence, Transaction = entity }; entity.Inputs.Add(input); } // Exodus payload. var exodusTx = tx.GetExodusTransaction(); if (exodusTx != null) { entity.ExodusPayload = new Ztm.Data.Entity.Contexts.Main.ExodusPayload { TransactionHash = tx.GetHash(), Receiver = exodusTx.Receiver.ToString(), Sender = exodusTx.Sender.ToString(), Data = this.exodusEncoder.Encode(exodusTx) }; } return(entity); }
Ztm.Data.Entity.Contexts.Main.Transaction ToEntity(Transaction tx) { var entity = new Ztm.Data.Entity.Contexts.Main.Transaction() { Hash = tx.GetHash(), Version = tx.Version, LockTime = tx.LockTime }; // Outputs. for (int i = 0; i < tx.Outputs.Count; i++) { var output = new Ztm.Data.Entity.Contexts.Main.Output() { TransactionHash = entity.Hash, Index = i, Value = tx.Outputs[i].Value, Script = tx.Outputs[i].ScriptPubKey, Transaction = entity }; entity.Outputs.Add(output); } // Inputs. for (int i = 0; i < tx.Inputs.Count; i++) { var input = new Ztm.Data.Entity.Contexts.Main.Input() { TransactionHash = entity.Hash, Index = i, OutputHash = tx.Inputs[i].PrevOut.Hash, OutputIndex = tx.Inputs[i].PrevOut.N, Script = tx.Inputs[i].ScriptSig, Sequence = tx.Inputs[i].Sequence, Transaction = entity }; entity.Inputs.Add(input); } return(entity); }