Submitted by Kaysoft, also found by spark, immeas, Arz, tnquanghuy0512, perseus, btk, holydevoti0n, fibonacci, T1MOH, and hals
https://github.com/open-dollar/od-contracts/blob/f4f0246bb26277249c1d5afe6201d4d9096e52e6/src/contracts/gov/ODGovernor.sol#L41 
https://github.com/open-dollar/od-contracts/blob/v1.5.5-audit/src/contracts/gov/ODGovernor.sol#L31-L41
It is practically impossible for enough users to vote within a voting period of 4 seconds from the voting start time.
The problem lies in the votingDelay and votingPeriod that are set in the ODGovernor.sol this way.
In the constructor above the GovernorSettings constructor is used to set the votingDelay and votingPeriod.
The voting delay and voting period are measured in blocks. Since this project is built `specifically for Arbitrum, we will consider Arbitrum particularly to set this values.
It will be more practical to set atleast 1 day voting delay and atleast 1 week voting period as set in OZ governance examples.
To convert these times to blocks on Arbitrum based on 0.26 secs avg blocktime:
1 day = 86400 / 0.26 = ~332, 308 blocks per day
So 1 week will be 332, 308 * 7 = 2,326,156 blocks per week.
So it will be more practical for GovernorSettings parameters to be set this way:
Calculation reference from OZ docs: https://docs.openzeppelin.com/contracts/4.x/governance#governor
In the inherited OZs Governor.sol, the voting delay and voting period are used to set each proposals voting start time and deadline in the propose function this way.
Openzeppelin Governance docs, OZs smart contract wizard. 
https://docs.openzeppelin.com/contracts/4.x/governance#governor
OZs wizard example: https://wizard.openzeppelin.com/#governor
MiloTruck (Judge) commented:
pi0neerpat (OpenDollar) commented:
