Skip to content

Enrich commit-specific storage to support contract bytecodes #450

@miloszm

Description

@miloszm

Summary

Currently, contract bytecode, contract module and contract metadata are stored at the global scope, which implies that after session commit, if session has done a deployment, the deployment cannot be undone. This implies similar logic for migration, as migration involves deployment. It would be desired to have contract bytecode/module/medadata storage performed at commit scope, so that upon commit the main scope is not overwritten. The proper place for main overwrite should be commit finalisation, not a session commit.

Possible solution design or implementation

Extend the storage mechanism so that contract's bytecode/module/metadata are stored in commit storage rather than main storage. Upon commit finalisation, move commit store content into the main store.

Additional context

This is related to Rusk migration tests as per #3898

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions