diff --git a/chain.js b/chain.js index 564acc3..04d7b80 100644 --- a/chain.js +++ b/chain.js @@ -52,6 +52,7 @@ for (const chain of _chains) { const coinAddr = await mock.COIN() const usdAddr = await mock.USD() chain.mockenv = tx.contractAddress + chain.mockCoins = [coinAddr, usdAddr] chain.tokens = [ { name: 'Mockcoin', diff --git a/main.js b/main.js index dbb0619..2507739 100644 --- a/main.js +++ b/main.js @@ -4,6 +4,7 @@ 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 @@ -14,8 +15,8 @@ io.on("connection", (socket) => { lookupToken(chainId, address).then((result)=>callback(result)).catch(()=>callback(null)) }) socket.on('address', (chainId, address) => loginAddress(socket, chainId, address) ) - socket.on('subPools', (chainId, addresses) => { for(const address of addresses) socket.join(`${chainId}|${address}`) } ) - socket.on('unsubPools', (chainId, addresses) => { for(const address of addresses) socket.leave(`${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}) diff --git a/pool.js b/pool.js new file mode 100644 index 0000000..abf5590 --- /dev/null +++ b/pool.js @@ -0,0 +1,16 @@ + +export function subPools( socket, chainId, addresses) { + for(const address of addresses) { + const room = `${chainId}|${address}`; + socket.join(room) + console.log('joined room', room) + } +} + +export function unsubPools( socket, chainId, addresses ) { + for(const address of addresses) { + const room = `${chainId}|${address}`; + socket.leave(room) + console.log('left room', room) + } +}