They are now defined in the contract constructor and the singletons are saved in the destructor.
This simplifies access to instance variables, particularly the singletons.
This also prevents potential bugs caused by forgetting to save or, worse, have inconsistent instances of the singleton that save over each other from different internal functions that may be called by contract actions now or in the future.
In making these changes I noticed a significant security hole in the contract that needs some futher work but I thought this is not the right place to highlight them. What is your preferred comms platform for such matters?
They are now defined in the contract constructor and the singletons are saved in the destructor. This simplifies access to instance variables, particularly the singletons.
This also prevents potential bugs caused by forgetting to save or, worse, have inconsistent instances of the singleton that save over each other from different internal functions that may be called by contract actions now or in the future.
In making these changes I noticed a significant security hole in the contract that needs some futher work but I thought this is not the right place to highlight them. What is your preferred comms platform for such matters?