def toWire(self, buf, opts=None): Packet.toWire(self, buf, opts) buf.write(struct.pack("<I", self.version)) if get_opt(opts, 'segwit', False): buf.write("\x00\x01") buf.write(encodeVarLength(len(self.inputs))) for i in self.inputs: prev_out, script, sequence = i buf.write(prev_out[0][::-1]) buf.write(struct.pack("<I", prev_out[1])) buf.write(encodeVarString(script)) buf.write(struct.pack("<I", sequence)) buf.write(encodeVarLength(len(self.outputs))) for o in self.outputs: value, script = o buf.write(struct.pack("<Q", value)) buf.write(encodeVarString(script)) if get_opt(opts, 'segwit', False): for w in self.witnesses: buf.write(encodeVarLength(len(w))) for e in w: buf.write(encodeVarString(e)) buf.write(struct.pack("<I", self.lock_time))
def toWire(self, buf, version): Packet.toWire(self, buf, version) buf.write(struct.pack("<I", self.version)) buf.write(encodeVarLength(len(self.inputs))) for i in self.inputs: prev_out, script, sequence = i buf.write(prev_out[0][::-1]) buf.write(struct.pack("<I", prev_out[1])) buf.write(encodeVarString(script)) buf.write(struct.pack("<I", sequence)) buf.write(encodeVarLength(len(self.outputs))) for o in self.outputs: value, script = o buf.write(struct.pack("<Q", value)) buf.write(encodeVarString(script)) buf.write(struct.pack("<I", self.lock_time))
def toWire(self, buf, unused_version): Packet.toWire(self, buf, unused_version) buf.write(struct.pack("<IQQ", self.version, self.services, self.timestamp)) self.addr_recv.toWire(buf, False) self.addr_from.toWire(buf, False) buf.write(self.nonce) buf.write(encodeVarString(self.user_agent)) buf.write(struct.pack("<I", self.best_height))
def toWire(self, buf, opts=None): Packet.toWire(self, buf, opts) buf.write( struct.pack("<IQQ", self.version, self.services, self.timestamp)) self.addr_recv.toWire(buf, {'version': 0}) self.addr_from.toWire(buf, {'version': 0}) buf.write(self.nonce) buf.write(encodeVarString(self.user_agent)) buf.write(struct.pack("<I", self.best_height)) if self.version >= 70001: buf.write(struct.pack('B', 1 if self.relay else 0))
def toWire(self, buf, opts=None): Packet.toWire(self, buf, opts) buf.write(struct.pack("<IQQ", self.version, self.services, self.timestamp)) self.addr_recv.toWire(buf, {'version': 0}) self.addr_from.toWire(buf, {'version': 0}) buf.write(self.nonce) buf.write(encodeVarString(self.user_agent)) buf.write(struct.pack("<I", self.best_height)) if self.version >= 70001: buf.write(struct.pack('B', 1 if self.relay else 0))
def toWire(self, buf, opts): Packet.toWire(self, buf, opts) buf.write(struct.pack('<I', self.bloom_filter_capacity)) buf.write(struct.pack('<I', int(self.fpr * self.fpr_mul))) buf.write(encodeVarString(self.bloom_filter.tobytes())) buf.write(struct.pack('<I', self.iblt.m)) for cell in self.iblt.T: buf.write(struct.pack('<I', cell[0])) buf.write(struct.pack('<32s', cell[1].tobytes())) # buf.write(struct.pack('<32s', cell[2].tobytes())) buf.write(struct.pack('<10s', cell[3].tobytes()))