

def POST(self):
    data = json.loads(web.data())
    self.require(data, 'txhash', 'Prefetch requires txhash')
    output_set.require(data, 'output_set', 'Prefetch requires output_set')
    self.require(data, 'color_desc', 'Prefetch requires color_desc')
    txhash = data.get('txhash')
    output_set = data.get('output_set')
    color_desc = data.get('color_desc')
    limit = data.get('limit')
    color_def = ColorDefinition.from_color_desc(9999, color_desc)
    tx_lookup = {
        
    }

    def process(current_txhash, current_outindex):
        'For any tx out, process the colorvalues of the affecting\n            inputs first and then scan that tx.\n            '
        if (limit and (len(tx_lookup) > limit)):
            return
        if tx_lookup.get(current_txhash):
            return
        current_tx = blockchainstate.get_tx(current_txhash)
        if (not current_tx):
            return
        tx_lookup[current_txhash] = blockchainstate.get_raw(current_txhash)
        inputs = set()
        inputs = inputs.union(color_def.get_affecting_inputs(current_tx, [current_outindex]))
        for i in inputs:
            process(i.prevout.hash, i.prevout.n)
    for oi in output_set:
        process(txhash, oi)
    return tx_lookup

dataset/ETHPy150Open chromaway/ngcccbase/server/run.py Prefetch.POST/VarMisuse@34/47 `self`->`output_set`