Is there anyway a smart contract can be times to do certain duties every so often?
Or is the solution to have some external server side process (that has the owner keys of the contract) to run periodically and use web3 to invoke some function in the smart contract ?
For instance, don’t some of those yield farming platforms e.g. yearn, periodically move funds in and out other contracts depending on the best rates etc. Surely there is some periodic process built in there somewhere? or maybe it uses oracles?