import {io} from "./io.js"; import {lookupToken} from "./token.js"; import {requestVault, loginAddress} from "./vault.js"; import {subOHLCs, subPools, unsubOHLCs, unsubPools} from "./pool.js"; import {gib} from "./faucet.js"; import {approveRegion, approveTOS} from "./approval.js"; import {joinChain} from "./chain.js"; import {share, shared} from "./snapshare.js"; // Server route handling export function initIO() { io.on("connection", (socket) => { socket.on('lookupToken', (chainId, address, respond) => { lookupToken(chainId, address).then((result) => respond(result)).catch(() => respond(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('subOHLCs', async (chainId, poolPeriods) => await subOHLCs(socket, chainId, poolPeriods)) socket.on('unsubOHLCs', (chainId, poolPeriods) => unsubOHLCs(socket, chainId, poolPeriods)) socket.on('ensureVault', (chainId, owner, num) => requestVault(socket, chainId, owner, num)) socket.on('gib', async (chainId, owner, vault, tokenAmounts) => await gib(chainId, owner, vault, tokenAmounts)) socket.on('approveTOS', (time, version, callback) => approveTOS(socket, time, version, callback)) socket.on('approveRegion', (bypass) => approveRegion(socket, bypass)) socket.on('chain', async (chainId) => await joinChain(socket, chainId)) socket.on('share', async (data, snapshot, respond) => await share(socket, data, snapshot, respond)) socket.on('shared', async (code, respond) => await shared(socket, code, respond)) socket.join('public') }); }