def make_etx_spec(self, our, their):
        our_color_def = self.resolve_color_spec(our['color_spec'])
        our_color_set = ColorSet.from_color_ids(self.model.get_color_map(),
                                                  [our_color_def.get_color_id()])
        their_color_def = self.resolve_color_spec(their['color_spec'])
        their_color_set = ColorSet.from_color_ids(self.model.get_color_map(),
                                                  [their_color_def.get_color_id()])
        extra_value = 0
        if our_color_def == UNCOLORED_MARKER:
            # pay fee + padding for one colored outputs
            extra_value = 10000 + 8192 * 1
        c_utxos, c_change = self.select_inputs(
            SimpleColorValue(colordef=our_color_def,
                             value=our['value'] + extra_value))
        inputs = {our['color_spec']:
                  [utxo.get_outpoint() for utxo in c_utxos]}
        wam = self.model.get_address_manager()

        our_address = wam.get_change_address(their_color_set)
        targets = [(our_address.get_address(),
                    their['color_spec'], their['value'])]
        if c_change > 0:
            our_change_address = wam.get_change_address(our_color_set)
            targets.append((our_change_address.get_address(),
                            our['color_spec'], c_change.get_value()))
        return ETxSpec(inputs, targets, c_utxos)
dataset/ETHPy150Open chromaway/ngcccbase/ngcccbase/p2ptrade/ewctrl.py/EWalletController.make_etx_spec/original