'Load the market community and tradechain community in a given session.'

@blocking_call_on_reactor_thread
def load_market_community_in_session(self, session, market_member, mc_community):

    wallets = {'BTC': BitcoinWallet(os.path.join(session.config.get_state_dir(), 'wallet')), 'MC': TrustchainWallet(mc_community), 'DUM1': DummyWallet1(), 'DUM2': DummyWallet2()}
    wallets['MC'].check_negative_balance = False
    dispersy = session.get_dispersy_instance()
    tradechain_community = dispersy.define_auto_load(TradeChainCommunityTests, market_member, load=True, kargs={})[0]
    market_kargs = {'tribler_session': session, 'tradechain_community': tradechain_community, 'wallets': wallets}
    self.market_communities[session] = dispersy.define_auto_load(MarketCommunityTests, market_member, kargs=market_kargs, load=True)[0]
    tradechain_community.market_community = self.market_communities[session]
    return self.market_communities[session]
