"TransparentUpgradeableProxy" hit a require or revert statement somewhere in its constructor

I’m trying to deploy my contract but keep getting this error. Does anyone know how to fix this or why it could be reverting? Also, I removed wallets and added the notes for reference here.

My contract’s initialize function:

function initialize () public initializer {
        _rOwned[_msgSender()] = _rTotal;
		
         _transfer(_msgSender(), _initialWallets, _initialAmounts * 10**10 * 10**9);
		
		_admin = (admin wallet here);
		admin = _admin;
		//require(msg.sender == admin);
		
		_rTotal = (MAX - (MAX % _tTotal));
		_decimals = 9;
		
        holders = (wallet 3 here);
        addStakeholder(holders);
        
		tokName = "FFCoin";
		tokSymbol = "FFC";
		_initialWallets = (wallet 1 here);
		_charityWallet = (wallet 2 here);
		_initialAmounts = 10;
		
        charityWallet = _charityWallet;
        _name = tokName;
        _symbol = tokSymbol;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

deploy:

const FFCoin = artifacts.require("FFCoin");

module.exports = async function (deployer) {
  await deployer.deploy(FFCoin);
};

deploy_upgradeable:

const { deployProxy } = require('@openzeppelin/truffle-upgrades');

const FFCoin = artifacts.require('FFCoin');
 
module.exports = async function (deployer) {
  await deployProxy(FFCoin, { deployer, initializer: 'initialize' });
};

Error from CMD:

Error:  *** Deployment Failed ***

"TransparentUpgradeableProxy" hit a require or revert statement somewhere in its constructor. Try:
   * Verifying that your constructor params satisfy all require conditions.
   * Adding reason strings to your require statements.

    at C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\deployer\src\deployment.js:365:1
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at Object.deploy (C:\Users\brand\FFCoin\node_modules\@openzeppelin\truffle-upgrades\src\utils\deploy.ts:9:48)
    at deployProxy (C:\Users\brand\FFCoin\node_modules\@openzeppelin\truffle-upgrades\src\deploy-proxy.ts:63:9)
    at module.exports (C:\Users\brand\FFCoin\migrations\3_deploy_upgradeable_FFC.js:7:3)
    at Migration._deploy (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:80:1)
    at Migration._load (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:61:1)
    at Migration.run (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:218:1)
    at Object.runMigrations (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\migrate\index.js:150:1)
    at Object.runFrom (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\migrate\index.js:110:1)
    at Object.run (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\migrate\index.js:87:1)
    at runMigrations (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\core\lib\commands\migrate.js:258:1)
    at Object.run (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\core\lib\commands\migrate.js:223:1)
    at Command.run (C:\Users\brand\FFCoin\node_modules\truffle\build\webpack:\packages\core\lib\command.js:147:1)
Truffle v5.3.9 (core: 5.3.9)
Node v16.1.0

I suggest you comment out everything until it is working and then you remove the comments one section at a time … that being said, the only places where this could be failing are _transfer and addStakeholder

I’ll check them. It worked perfectly until I converted it to upgradeable (constructor to initialize).

Change your provider key. for example infra key. This solution worked for me.