let buyOffertf2 = 0;
    for (let i = 0; i < offer.itemsToReceive.length; i++) {
      if (
        offer.itemsToReceive[i]["market_hash_name"] ===
        "Mann Co. Supply Crate Key"
      ) {
        buyOffertf2++;
      } else {
        client.chat.sendFriendMessage(
          offer.partner,
          `I have to cancel your trade offer because it has unsupported items (${offer.itemsToReceive[i]["market_hash_name"]}). I currently only accept 'Mann Co. Supply Crate Key'`
        );
        offer.cancel((err) => {
          if (err != null) {
            console.log(
              red,
              `${time} Error in cancelling invalid item trade offer. Offer id: ${offer.id}`
            );
          }
        });
        break;
      }
    }
if (buyOffertf2 === offer.itemsToReceive.length) {
      mongo.users.findOne(
        { steamid: offer.partner.getSteamID64() },
        (err, data) => {
          if (err) {
            console.log(red, `${time} MongoDB buy offer user find error`);
          } else {
            if (data == null) {
              client.chat.sendFriendMessage(
                offer.partner,
                `You have not yet added me and I cannot accept your offer. Please add me before a trade. I have cancelled your offer.`
              );
            } else {
              client.chat.sendFriendTyping(offer.partner);
              client.chat.sendFriendMessage(
                offer.partner,
                `Please wait while I process your order`
              );
              offer.accept((err, status) => {
                client.chat.sendFriendTyping(offer.partner);
                client.chat.sendFriendMessage(
                  offer.partner,
                  `I have accepted your offer. Steam usually transfers items during this time. Please be patient while the trade is complete.`
                );
                if (err) {
                  client.chat.sendFriendTyping(offer.partner);
                  client.chat.sendFriendMessage(
                    offer.partner,
                    `There was an error while accepting your offer`
                  );
                } else {
                  switch (status) {
                    case "accepted":
                      offer.getExchangeDetails(
                        (
                          err,
                          status,
                          tradeInitTime,
                          receivedItems,
                          sentItems
                        ) => {
                          if (err) {
                            console.log(
                              red,
                              `${time} Trade has failed. Status: ${status}`
                            );
                          } else if (status === 3) {
                            let acceptOfferTf2Qty = 0;
                            for (let i = 0; i < receivedItems.length; i++) {
                              if (
                                receivedItems[i]["market_hash_name"] ===
                                "Mann Co. Supply Crate Key"
                              ) {
                                acceptOfferTf2Qty++;
                              }
                            }
                            if (acceptOfferTf2Qty === buyOffertf2) {
                              let buyOfferTf2CostUSD =
                                pricing.buy * acceptOfferTf2Qty;
                              let buyOfferTf2CostBTC =
                                getBTC(buyOfferTf2CostUSD);
                              mongo.users.findOne(
                                { steamid: offer.partner.getSteamID64() },
                                (err, data) => {
                                  if (err) {
                                    console.log(
                                      red,
                                      `${time} Error finding user in MongoDB`
                                    );
                                  } else {
                                    const updatedBTC = parseFloat(
                                      bigDecimal.add(
                                        data["btcbalance"],
                                        buyOfferTf2CostBTC
                                      )
                                    );
                                    mongo.users.findOneAndUpdate(
                                      {
                                        steamid: offer.partner.getSteamID64(),
                                      },
                                      { btcbalance: updatedBTC },
                                      { new: true },
                                      (err, data) => {
                                        if (err) {
                                          console.log(
                                            red,
                                            `${time} Error in writing btc balance to mongoDB.`
                                          );
                                        } else {
                                          client.chat.sendFriendMessage(
                                            offer.partner,
                                            `I have added ${buyOfferTf2CostBTC} BTC ($${buyOfferTf2CostUSD}) to your bitcoin balance at the current bitcoin price of $${usdbtc}. Your updated bitcoin balance is ${data["btcbalance"]}\n\nPlease use the 'withdraw' command to withdraw your bitcoin balance.\n\nThank you for trading with me. If you enjoyed my service please comment a +rep on my profile. `
                                          );
                                        }
                                      }
                                    );
                                  }
                                }
                              );
                            }
                          } else {
                            console.log(
                              red,
                              `${time} Status is not Confirmed. Balance has not been added. Status: ${status}`
                            );
                          }
                        }
                      );
                  }
                }
              });
            }
          }
        }
      );
    }
	Sorry for this huge code with only small parts of your modules. But if you can confirm if the way in which I've handled this trade can there be a chance for error? Thank you for your help