We use the Oracle anchored by uniswap in mainnet, first obtain the token price from Coinbase or other exchanges, submit it to the smart contract, and use the price of uniswap as the verification. See in the project: amplify-open-oracle
Simpleprice Oracle can be released for testing. It can be launched in the early stage in order to avoid Oracle attack.
Set Timelock as the administrator of each governed contract
This step is to set TimeLock contract as administrator for all contracts deployed
At the early stage, setting admin when deploying contracts with a privately > owned account, will be easier for debugging and adjusting
Change admin to TimeLock at the mature stage to make everything more decentralized
_setPendingAdmin - as an administrator, call this method in each governed contract to set the timelock contract as pendingAdmin.
By calling queueTransaction and executeTransaction methods of timelock, let timelock contract invoke _acceptAdmin method of governed contracts so that a new administrator of governed contracts can be set.
Set GovernorAlpha as the administrator of Timelock
Same as above step, use private address as admin at early stage.
Use queueTransaction and executetransaction methods of the Timelock contract to invoke TimeLock contract's setPendingAdmin method.
Invoke _acceptAdmin method of GovernorAlpha contract so that it will be an admin for TimeLock contract.