Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }