```\nit('pending deposit pushed by 1 epoch causing shares difference', async () => {\n      const smallDeposit = utils.parseEther('1000')\n      const smallestDeposit = utils.parseEther('0.000001')\n\n      await updateOracleEth() // epoch now stale\n      // make a pending deposit\n      await vault.connect(user).deposit(smallDeposit, user.address)\n      await updateOracleBtc()\n      await vault.sync()\n\n      await updateOracleEth() // epoch now stale\n      /* \n      user2 deposits for user1, thereby pushing the pending deposit ahead and causing the \n      global settlement flywheel and user settlement flywheel to get out of sync\n      */\n      await vault.connect(user2).deposit(smallestDeposit, user.address)\n      await updateOracleBtc()\n      await vault.sync()\n\n      await updateOracle()\n      // pending deposit for user1 is now processed in the user settlement flywheel\n      await vault.syncAccount(user.address)\n\n      const totalSupply = await vault.totalSupply()\n      const balanceUser1 = await vault.balanceOf(user.address)\n      const balanceUser2 = await vault.balanceOf(user2.address)\n\n      /*\n      totalSupply is bigger than the amount of shares of both users together\n      this is because user1 loses out on some shares that he is entitled to\n      -> loss of funds\n      */\n      console.log(totalSupply);\n      console.log(balanceUser1.add(balanceUser2));\n\n})\n```\n