diff --git a/hardhat.config.ts b/hardhat.config.ts
index 413224c1e..d0e7619f0 100644
--- a/hardhat.config.ts
+++ b/hardhat.config.ts
@@ -22,6 +22,11 @@ const config: HardhatUserConfig = {
       accounts: {
         count: 252,
       },
+      mining: {
+        mempool: {
+          order: "fifo",
+        },
+      },
     },
   },
   solidity: {
diff --git a/test/hardhat/Blue.spec.ts b/test/hardhat/Blue.spec.ts
index a40e8cb51..5a12d6470 100644
--- a/test/hardhat/Blue.spec.ts
+++ b/test/hardhat/Blue.spec.ts
@@ -1,5 +1,5 @@
 import { defaultAbiCoder } from "@ethersproject/abi";
-import { mine, setBalance } from "@nomicfoundation/hardhat-network-helpers";
+import { mine } from "@nomicfoundation/hardhat-network-helpers";
 import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
 import { expect } from "chai";
 import { BigNumber, constants, utils } from "ethers";
@@ -119,6 +119,9 @@ describe("Blue", () => {
   });
 
   it("should simulate gas cost [main]", async () => {
+    await hre.network.provider.send("evm_setAutomine", [false]);
+    await hre.network.provider.send("evm_setIntervalMining", [0]);
+
     for (let i = 0; i < signers.length; ++i) {
       if (i % 20 == 0) console.log("[main]", Math.floor((100 * i) / signers.length), "%");
 
@@ -129,8 +132,10 @@ describe("Blue", () => {
       let amount = BigNumber.WAD.mul(1 + Math.floor(random() * 100));
 
       if (random() < 2 / 3) {
-        await blue.connect(user).supply(market, amount, user.address, "0x");
-        await blue.connect(user).withdraw(market, amount.div(2), user.address, user.address);
+        Promise.all([
+          blue.connect(user).supply(market, amount, user.address, []),
+          blue.connect(user).withdraw(market, amount.div(2), user.address, user.address),
+        ]);
       } else {
         const totalSupply = await blue.totalSupply(id);
         const totalBorrow = await blue.totalBorrow(id);
@@ -139,13 +144,17 @@ describe("Blue", () => {
         amount = BigNumber.min(amount, BigNumber.from(liquidity).div(2));
 
         if (amount > BigNumber.from(0)) {
-          await blue.connect(user).supplyCollateral(market, amount, user.address, "0x");
-          await blue.connect(user).borrow(market, amount.div(2), user.address, user.address);
-          await blue.connect(user).repay(market, amount.div(4), user.address, "0x");
-          await blue.connect(user).withdrawCollateral(market, amount.div(8), user.address, user.address);
+          Promise.all([
+            blue.connect(user).supplyCollateral(market, amount, user.address, []),
+            blue.connect(user).borrow(market, amount.div(2), user.address, user.address),
+            blue.connect(user).repay(market, amount.div(4), user.address, []),
+            blue.connect(user).withdrawCollateral(market, amount.div(8), user.address, user.address),
+          ]);
         }
       }
     }
+
+    await hre.network.provider.send("evm_setAutomine", [true]);
   });
 
   it("should simulate gas cost [liquidations]", async () => {