35 lines
1.4 KiB
JavaScript
35 lines
1.4 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')
|
|
socket.emit('welcome', {chainInfo, vaultInitCodeHash:VAULT_INIT_CODE_HASH})
|
|
});
|
|
|
|
// 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)
|