2020-10-20 02:21:05 -07:00
|
|
|
import express from "express";
|
2020-11-11 01:43:43 -08:00
|
|
|
import { SerumApi } from "./exchange/api";
|
|
|
|
import expressAsyncHandler from "express-async-handler";
|
|
|
|
import { logger } from "./utils";
|
2020-10-20 02:21:05 -07:00
|
|
|
|
|
|
|
const router = express.Router();
|
2020-11-11 01:43:43 -08:00
|
|
|
let api: SerumApi;
|
2020-10-20 02:21:05 -07:00
|
|
|
|
|
|
|
router.get("/", (req, res, next) => {
|
2020-11-11 01:43:43 -08:00
|
|
|
res.send("Hello from the Serum rest server!");
|
2020-10-20 02:21:05 -07:00
|
|
|
});
|
|
|
|
|
2020-11-11 01:43:43 -08:00
|
|
|
router.use(
|
|
|
|
"/",
|
|
|
|
expressAsyncHandler(async (req, res, next) => {
|
|
|
|
if (!api) {
|
|
|
|
logger.debug("Creating api.");
|
|
|
|
api = await SerumApi.create();
|
|
|
|
}
|
|
|
|
next();
|
|
|
|
})
|
|
|
|
);
|
|
|
|
|
|
|
|
router.get(
|
|
|
|
"/market_info",
|
|
|
|
expressAsyncHandler(async (req, res, next) => {
|
|
|
|
logger.info("Received request to get market_info");
|
|
|
|
api
|
|
|
|
.getMarketInfo()
|
|
|
|
.then((marketInfo) => res.send({ status: "ok", data: marketInfo }))
|
|
|
|
.catch((err) => next(err));
|
|
|
|
})
|
|
|
|
);
|
|
|
|
|
2020-10-20 02:21:05 -07:00
|
|
|
export { router as default };
|