Minting the full 1,000,000,000 FDP in one transaction is perfectly fine and a common practice, especially when using upgradeable contracts.
Your use of OpenZeppelin’s upgradeable pattern with AccessControl looks good and follows standard practices. Not having a capped supply isn’t an issue as long as it suits your tokenomics.
I noticed only the implementation contract is verified on XDCScan — the proxy contract (token address) isn’t verified yet. Verifying that as well would help with transparency, but overall, the setup seems good.
For further actions, you may consider blocking this person and/or reporting abuse
Minting the full 1,000,000,000 FDP in one transaction is perfectly fine and a common practice, especially when using upgradeable contracts.
Your use of OpenZeppelin’s upgradeable pattern with AccessControl looks good and follows standard practices. Not having a capped supply isn’t an issue as long as it suits your tokenomics.
I noticed only the implementation contract is verified on XDCScan — the proxy contract (token address) isn’t verified yet. Verifying that as well would help with transparency, but overall, the setup seems good.