message: Allow the server to serve requets while synchronizing, temprary out of date data is probably preferable to 500 errors
diff: @@ -95,6 +95,7 @@ app.use('/trpc', trpcMiddleware);
  */
  db.then(async () => {
  + async function sync() {
  const lastBlock = await startupSync(OPTS);
  try {
  @@ -104,9 +105,20 @@ db.then(async () => {
  subscribeToEvents(OPTS);
  }
  } catch (err) {
  - console.error('An error occurred while setting up the blockchain event handlers', err)
  - throw err
  + console.error('An error occurred while setting up the blockchain event handlers', err);
  + throw err;
  }
  + }
  + // call this without await so the server can sync but also serve other requests in the meantime
  + // unless we are on hardhat where to would conflict with the auto sync middleware
  + // this means we do not throw 500 errors while this is still loading but the tokens
  + // will show up with out of date or 0 balances until they are done loading
  + if (network_name !== 'hardhat') {
  + sync();
  + } else {
  + await sync();
  + }
  +
  app.listen(Number(PORT), '0.0.0.0', () => {
  console.log(`Server is listening on ${PORT}\n`)
  });
  