Files
server/main.js
2023-11-08 23:18:36 -04:00

32 lines
1.2 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";
// setup socket.io
io.on("connection", (socket) => {
// initially, only anonymous messages are allowed
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) )
socket.join('public')
socket.emit('welcome', {chainInfo, vaultInitCodeHash:VAULT_INIT_CODE_HASH})
});
io.on("disconnection", (socket)=>{
socket.leave('public')
})
const port = parseInt(process.env.DEXORDER_PORT) || 3000;
httpServer.listen(port)
console.log('Started server on port '+port)