refactor(SPG): refactor SPG into "workflow" contracts #68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR refactors the monolithic
StoryProtocolGateway
into three "workflow" contracts. The associated tests, deployment, and upgrade scripts have been updated accordingly. Following this change, the Story PoC Periphery now includes the following five main contracts:RegistrationWorkflows
(new)LicenseAttachmentWorkflows
(new)DerivativeWorkflows
(new)GroupingWorkflows
(existing)SPGNFT
(existing)Key Changes
StoryProtocolGateway.sol
into three separate contracts:RegistrationWorkflows.sol
,LicenseAttachmentWorkflows.sol
, andDerivativeWorkflows.sol
. Their interfaces were also separated accordingly.WorkflowStructs
to contain shared struct definitions across the different workflows.DeployHelper
to support the deployment of the new workflow contracts.BaseTest
toDeployHelper
.Users
utility library to setup mock users and secret keys for tests.UpgradeHelper
to house shared logic for upgrading workflow contracts.Test Plan
All new and existing tests pass locally.
Related Issue
Notes
This PR introduces significant changes to the contract interfaces, which will require updates to existing integrations.