DATABASES * Database operations have to be optimized - in terms of not repeating too often - Save changes only when all business logic is approved, since we are working with multiple databases currently * Too much of repitition in database operations right now * Database model classes, for SQL alchemy, have to be optimized ie. base classes for tokenswap and one-time-event totally different right now * Make all database operations to follow SQLAlchemy, no direct SQL commands * Remove all position based queries PROGRAM STRUCTURE * Optimize overall program structure NEW FEATURES * Rollback feature * When processing blocks from the websocket API, check the blockheight of the new block vs the latest block in the database | this is to make sure none of the transactions go missing ----- processBlocks * find the last scanned block in the database * find the latest block at the API * for loop for lastscannedblock to latestblock * processEach transaction based on business logic * Update system.db to reflect currently scanned block as the latest block * Check for local smart contract triggers * Check if any token swap contract deposits have to be returned