Now returns correct aggregated markets list when calling "getmarkets"

self.getmarkets invokes callback with "markets" parameter which is - in current Cryptsy API - an array (not a dictionnary). I think you would return the "self.market" instead, because it is the generated dictionnary with currencies_pair as keys.