Files
server/main.js
2024-01-03 16:07:10 -04:00

34 lines
1.3 KiB
JavaScript

import 'dotenv/config'
import {lookupToken} from "./token.js";
import {httpServer, io} from "./io.js";
import {ensureVault, loginAddress} from "./vault.js";
import {chainInfo, VAULT_INIT_CODE_HASH} from "./chain.js";
import {subPools, unsubPools} from "./pool.js";
import {faucet} from "./faucet.js";
// setup socket.io
io.on("connection", (socket) => {
socket.on('lookupToken', (chainId, address, callback) => {
lookupToken(chainId, address).then((result)=>callback(result)).catch(()=>callback(null))
})
socket.on('address', (chainId, address) => loginAddress(socket, chainId, address) )
socket.on('subPools', (chainId, addresses) => subPools(socket, chainId, addresses) )
socket.on('unsubPools', (chainId, addresses) => unsubPools(socket, chainId, addresses) )
socket.on('ensureVault', (chainId,owner,num) => ensureVault(socket, chainId, owner, num) )
if( 31337 in chainInfo && chainInfo[31337]?.mockenv || 53261 in chainInfo && chainInfo[53261]?.mockenv )
socket.on('faucet', async (chainId, owner) => await faucet(chainId, owner))
socket.join('public')
});
// io.on("disconnection", (socket)=>{
// socket.leave('public') // todo isn't this automatic?
// todo unsub pools etc?
// })
const port = parseInt(process.env.DEXORDER_PORT) || 3001;
httpServer.listen(port)
console.log('Started server on port '+port)