eosdac / eosdac-contracts

All the EOSDAC smart contracts
MIT License
19 stars 11 forks source link

Globals consolidation #117

Closed angelol closed 2 years ago

angelol commented 2 years ago

This PR merges config and state2 into a new singleton dacglobals. The new singleton uses std::strings as key for the map to make it more user-friendly. The memory-overhead is negligible since the table has only one row.

The old state singleton was no longer needed and simply deleted from the code.

Deployment process:

It's a single-stage deployment process, there is no need to run migrations and redeploy etc etc.

The first time dacglobal gets accessed, the singleton is initialized and the initial data automatically pulled over from config and state2.

In order to force migration for dacs that might be inactive, one can also call daccustodian::migratestate(dac_id) if needed to manually kick-off the migration.

Once all dacs have been migrated, the old tables can be deleted (this will be a separate PR).