server works with backend via redis, serves chainInfo, more
This commit is contained in:
27
main.js
27
main.js
@@ -1,22 +1,9 @@
|
||||
import 'dotenv/config'
|
||||
|
||||
import {lookupToken} from "./token.js";
|
||||
import {startWatcher} from "./watcher.js";
|
||||
import {chains} from "./blockchain.js";
|
||||
import {watchErc20Transfer, watchVaultCreated} from "./vault.js";
|
||||
import {httpServer, io} from "./io.js";
|
||||
|
||||
|
||||
// setup watcher
|
||||
|
||||
const filterCallbacks = [
|
||||
// format is [[className, eventName, ...eventArgs], callback(provider, database, logInfo)]
|
||||
[['VaultDeployer','VaultCreated', null, null], watchVaultCreated],
|
||||
[['ERC20', 'Transfer'], watchErc20Transfer],
|
||||
]
|
||||
|
||||
for( const chain of Object.values(chains) )
|
||||
await startWatcher( chain.id, 1000, filterCallbacks )
|
||||
import {ensureVault, loginAddress} from "./vault.js";
|
||||
import {chainInfo} from "./misc.js";
|
||||
|
||||
|
||||
// setup socket.io
|
||||
@@ -27,10 +14,16 @@ io.on("connection", (socket) => {
|
||||
lookupToken(chainId, address).then((result)=>callback(result)).catch(()=>callback(null))
|
||||
})
|
||||
socket.on('address', (chainId, address) => loginAddress(socket, chainId, address) )
|
||||
// todo send known tokens or other initial config
|
||||
socket.emit('welcome', {})
|
||||
socket.on('ensureVault', ensureVault )
|
||||
socket.emit('chainInfo', chainInfo)
|
||||
socket.join('public')
|
||||
io.to('room').emit('event', {foo:'bar'})
|
||||
});
|
||||
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user