func (this *Tx) ReadFrom(r io.Reader) (int64, error) { var err error var dr dataio.DataReader dr.Init(r) this.Version, err = dr.ReadUint32() if err != nil { return dr.Count(), err } if this.Version > 2 { return 0, UnsupportedTxVersionError(this.Version) } inputCount, err := dr.ReadVarInt() if err != nil { return dr.Count(), err } this.Inputs = make([]TxIn, inputCount) for txInNum := uint64(0); txInNum < inputCount; txInNum++ { err = dr.ReadReaderFrom(&this.Inputs[txInNum]) if err != nil { return dr.Count(), err } } outputCount, err := dr.ReadVarInt() if err != nil { return dr.Count(), err } this.Outputs = make([]TxOut, outputCount) for txOutNum := uint64(0); txOutNum < outputCount; txOutNum++ { err = dr.ReadReaderFrom(&this.Outputs[txOutNum]) if err != nil { return dr.Count(), err } } this.LockTime, err = dr.ReadUint32() if err != nil { return dr.Count(), err } return dr.Count(), nil }
func (this *VersionNetworkAddress) ReadFrom(r io.Reader) (int64, error) { var err error var dr dataio.DataReader dr.Init(r) this.Services, err = dr.ReadUint64() if err != nil { return dr.Count(), err } this.Address, err = dr.ReadTCPAddr() return dr.Count(), err }
func (this *NetworkAddress) ReadFrom(r io.Reader) (int64, error) { var err error var dr dataio.DataReader dr.Init(r) this.Time, err = dr.ReadTime32() if err != nil { return dr.Count(), err } err = dr.ReadReaderFrom(&this.VersionNetworkAddress) return dr.Count(), err }
func (this *TxIn) ReadFrom(r io.Reader) (int64, error) { var err error var dr dataio.DataReader dr.Init(r) err = dr.ReadFull(this.Previous.Hash[:]) if err != nil { return dr.Count(), err } this.Previous.Index, err = dr.ReadUint32() if err != nil { return dr.Count(), err } this.Script, err = dr.ReadVarBytes() if err != nil { return dr.Count(), err } this.Sequence, err = dr.ReadUint32() if err != nil { return dr.Count(), err } return dr.Count(), nil }
func (this *Version) ReadFrom(r io.Reader) (int64, error) { var err error var dr dataio.DataReader dr.Init(r) this.Version, err = dr.ReadInt32() if err != nil { return dr.Count(), err } this.Services, err = dr.ReadUint64() if err != nil { return dr.Count(), err } this.Time, err = dr.ReadTime64() if err != nil { return dr.Count(), err } err = dr.ReadReaderFrom(&this.Receive) if err != nil { return dr.Count(), err } err = dr.ReadReaderFrom(&this.From) if err != nil { return dr.Count(), err } this.Nonce, err = dr.ReadUint64() if err != nil { return dr.Count(), err } this.UserAgent, err = dr.ReadVarString() if err != nil { return dr.Count(), err } this.StartHeight, err = dr.ReadInt32() if err != nil { return dr.Count(), err } return dr.Count(), nil }
func (this *TxOut) ReadFrom(r io.Reader) (int64, error) { var err error var dr dataio.DataReader dr.Init(r) this.Value, err = dr.ReadInt64() if err != nil { return dr.Count(), err } this.Script, err = dr.ReadVarBytes() if err != nil { return dr.Count(), err } return dr.Count(), nil }