async def get(self): redis = self.application.redis keys = await redis.hlen('public_res') logger.debug('Length = %d', keys) if keys: cached = await redis.hgetall('public_res', encoding='utf-8') return self.json_response( {k: json.loads(v) for k, v in cached.items()}) relayers = [ model_to_dict(relayer or {}) for relayer in Relayer.select() ] contracts = [ model_to_dict(c or {}) for c in Contract.select().where(Contract.obsolete == False) ] tokens = [model_to_dict(token or {}) for token in Token.select()] self.json_response({ 'Relayers': relayers, 'Contracts': contracts, 'Tokens': tokens }) await redis.hmset_dict('public_res', Relayers=json.dumps(relayers), Contracts=json.dumps(contracts), Tokens=json.dumps(tokens))
async def get(self): relayers = [model_to_dict(relayer or {}) for relayer in Relayer.select()] tokens = [model_to_dict(token or {}) for token in Token.select()] domains = [model_to_dict(domain or {}) for domain in Domain.select()] contracts = Blockchain.contracts self.json_response({ 'Relayers': relayers, 'Contracts': contracts, 'Tokens': tokens, 'Domains': domains })
async def post(self, user=None): """Add new tokens""" tokens = self.request_body if not tokens: raise InvalidValueException('Invalid empty payload') b = Blockchain() if not isinstance(tokens, list): token = tokens address = b.web3.toChecksumAddress(token['address']) b.updateToken(address) obj = Token.select().where(Token.address == address).get() return self.json_response(model_to_dict(obj)) result = [] for token in tokens: address = b.web3.toChecksumAddress(token['address']) b.updateToken(address) obj = Token.select().where(Token.address == address).get() result.append(model_to_dict(obj)) self.json_response(result)
async def get(self): relayers = [ model_to_dict(relayer or {}) for relayer in Relayer.select() ] contracts = [ model_to_dict(c or {}) for c in Contract.select().where(Contract.obsolete == False) ] tokens = [model_to_dict(token or {}) for token in Token.select()] self.json_response({ 'Relayers': relayers, 'Contracts': contracts, 'Tokens': tokens })
def get(self, user=None): """Return all available tokens for trading""" tokens = [model_to_dict(token or {}) for token in Token.select()] self.json_response(tokens)