From 0d7a12bb1a13802fceef307760d7ea225338ed18 Mon Sep 17 00:00:00 2001 From: Sebastian Liu Date: Mon, 23 Sep 2024 20:20:59 -0700 Subject: [PATCH 1/2] docs(royalty): add docs for `RoyaltyWorkflows` --- docs/WORKFLOWS.md | 55 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index b6ef01e..77a1ff7 100644 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -4,26 +4,53 @@ ### [Registration Workflows](../contracts/interfaces/workflows/IRegistrationWorkflows.sol) -- `createCollection`: Creates a SPGNFT Collection -- `registerIp`: Registers an IP -- `mintAndRegisterIp`: Mints a NFT → Registers it as an IP +- `createCollection`: + - Creates a SPGNFT Collection +- `registerIp`: + - Registers an IP +- `mintAndRegisterIp`: + - Mints a NFT → Registers it as an IP ### [License Attachment Workflows](../contracts/interfaces/workflows/ILicenseAttachmentWorkflows.sol) -- `registerPILTermsAndAttach`: Registers PIL terms → Attaches them to an IP -- `registerIpAndAttachPILTerms`: Registers an IP → Registers PIL terms → Attaches them to the IP -- `mintAndRegisterIpAndAttachPILTerms`: Mints a NFT → Registers it as an IP → Registers PIL terms → Attaches them to the IP. +- `registerPILTermsAndAttach`: + - Registers PIL terms → Attaches them to an IP +- `registerIpAndAttachPILTerms`: + - Registers an IP → Registers PIL terms → Attaches them to the IP +- `mintAndRegisterIpAndAttachPILTerms`: + - Mints a NFT → Registers it as an IP → Registers PIL terms → Attaches them to the IP ### [Derivative Workflows](../contracts/interfaces/workflows/IDerivativeWorkflows.sol) -- `registerIpAndMakeDerivative`: Registers an IP → Registers it as a derivative of another IP -- `mintAndRegisterIpAndMakeDerivative`: Mints a NFT → Registers it as an IP → Registers the IP as a derivative of another IP - -- `registerIpAndMakeDerivativeWithLicenseTokens`: Registers an IP → Registers it as a derivative of another IP using the license tokens -- `mintAndRegisterIpAndMakeDerivativeWithLicenseTokens`: Mints a NFT → Registers it as an IP → Registers the IP as a derivative of another IP using the license tokens +- `registerIpAndMakeDerivative`: + - Registers an IP → Registers it as a derivative of another IP +- `mintAndRegisterIpAndMakeDerivative`: + - Mints a NFT → Registers it as an IP → Registers the IP as a derivative of another IP +- `registerIpAndMakeDerivativeWithLicenseTokens`: + - Registers an IP → Registers the IP as a derivative of another IP using the license tokens +- `mintAndRegisterIpAndMakeDerivativeWithLicenseTokens`: + - Mints a NFT → Registers it as an IP → Registers the IP as a derivative of another IP using the license tokens ### [Grouping Workflows](../contracts/interfaces/workflows/IGroupingWorkflows.sol) -- `mintAndRegisterIpAndAttachLicenseAndAddToGroup`: Mints a NFT → Registers it as an IP → Attaches the given license terms to the IP → Adds the IP to a group IP -- `registerIpAndAttachLicenseAndAddToGroup`: Registers an IP → Attaches the given license terms to the IP → Adds the IP to a group IP -- `registerGroupAndAttachLicenseAndAddIps`: Registers a group IP → Attaches the given license terms to the group IP → Adds existing IPs to the group IP +- `mintAndRegisterIpAndAttachLicenseAndAddToGroup`: + - Mints a NFT → Registers it as an IP → Attaches the given license terms to the IP → Adds the IP to a group IP +- `registerIpAndAttachLicenseAndAddToGroup`: + - Registers an IP → Attaches the given license terms to the IP → Adds the IP to a group IP +- `registerGroupAndAttachLicenseAndAddIps`: + - Registers a group IP → Attaches the given license terms to the group IP → Adds existing IPs to the group IP + +### [Royalty Workflows](../contracts/interfaces/workflows/IRoyaltyWorkflows.sol) + +- `transferToVaultAndSnapshotAndClaimByTokenBatch`: + - Transfers revenue tokens to ancestor IP’s royalty vault → Takes a snapshot of the royalty vault → Claims all available revenue tokens from the snapshot to the claimer’s wallet + - *Use Case*: For IP royalty token holders who want to claim both their direct revenue and royalties from descendant IPs. +- `transferToVaultAndSnapshotAndClaimBySnapshotBatch`: + - Transfers revenue tokens to ancestor IP’s royalty vault → Takes a snapshot of the royalty vault → Claims all available revenue tokens from the new snapshot to the claimer’s wallet → Claims all available revenue tokens from each provided unclaimed snapshot to the claimer’s wallet + - *Use Case*: For IP royalty token holders who want to claim both direct revenue and descendant royalties from the latest snapshot and previously taken snapshots. +- `snapshotAndClaimByTokenBatch`: + - Takes a snapshot of the royalty vault → Claims all available revenue tokens from the new snapshot to the claimer’s wallet + - *Use Case*: For IP royalty token holders who want to claim the current revenue in their IP’s royalty vault (which may or may not include descendant royalties). +- `snapshotAndClaimBySnapshotBatch`: + - Takes a snapshot of the royalty vault → Claims all available revenue tokens from the new snapshot to the claimer’s wallet → Claims all available revenue tokens from each provided unclaimed snapshot to the claimer’s wallet + - *Use Case*: For IP royalty token holders who want to claim the current revenue in their IP’s royalty vault from the latest snapshot and previously taken snapshots. From a904feb576d65492b29ce600d6baccc0837aae8c Mon Sep 17 00:00:00 2001 From: Sebastian Liu Date: Mon, 23 Sep 2024 20:21:36 -0700 Subject: [PATCH 2/2] release v1.2.2 --- CHANGELOG.md | 4 ++++ README.md | 1 + deploy-out/deployment-1513.json | 1 + package.json | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cf1134..6db52b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ # CHANGELOG +## v1.2.2 +* Introduced `RoyaltyWorkflows` for IP Revenue Claiming + +**Full Changelog**: [v1.2.1...v1.2.2](https://github.com/storyprotocol/protocol-periphery-v1/compare/v1.2.1...v1.2.2) ## v1.2.1 diff --git a/README.md b/README.md index 9353364..09b0a35 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ Batch calling functions is supported both natively and through the `Multicall3` ```json { "GroupingWorkflows": "0xDed2AF44142489d5c380322A22cB9A0B8f22111A", + "RoyaltyWorkflows": "0xA07f6f4258440d8128Ab86362F17361391F4CA2B", "SPG": "0xAceb5E631d743AF76aF69414eC8D356c13435E59", "SPGNFTBeacon": "0x769A0F5197D427a7fC4378317437e924c8c74b33", "SPGNFTImpl": "0xbE0EB11e256093e22c8802977023970Da6B97fAB", diff --git a/deploy-out/deployment-1513.json b/deploy-out/deployment-1513.json index 0dfd88d..db9ed80 100644 --- a/deploy-out/deployment-1513.json +++ b/deploy-out/deployment-1513.json @@ -1,6 +1,7 @@ { "main": { "GroupingWorkflows": "0xDed2AF44142489d5c380322A22cB9A0B8f22111A", + "RoyaltyWorkflows": "0xA07f6f4258440d8128Ab86362F17361391F4CA2B", "SPG": "0xAceb5E631d743AF76aF69414eC8D356c13435E59", "SPGNFTBeacon": "0x769A0F5197D427a7fC4378317437e924c8c74b33", "SPGNFTImpl": "0xbE0EB11e256093e22c8802977023970Da6B97fAB" diff --git a/package.json b/package.json index 79be7de..d9095f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@story-protocol/protocol-periphery", - "version": "v1.2.1", + "version": "v1.2.2", "description": "Story Proof-of-Creativity protocol periphery smart contracts", "main": "", "directories": {