const { proposals } = require('./contracts'); const read = require('./read'); const { sendNewProposalEvent } = require('./matrix'); // Subscribe to proposal events const start = () => { proposals.on('NewProposal', async (proposalIndex) => { console.log('New Proposal, index', proposalIndex); const proposal = await proposals.proposals(proposalIndex); console.log('postId:', proposal.postId); // Read post from database const post = await read(proposal.postId); console.log('post.content:', post.content); // Send matrix room event let message = `Proposal ${proposalIndex}\n\n${post.content}`; if (post.embeddedData && Object.entries(post.embeddedData).length) { message += `\n\n${JSON.stringify(post.embeddedData, null, 2)}`; } sendNewProposalEvent(proposalIndex, message); }); }; module.exports = { start, };