Skip to content

Releases: storyprotocol/protocol-periphery-v1

v1.3.1

08 Feb 18:58
7e84f1b
Compare
Choose a tag to compare

This release builds on v1.3.0 with enhanced security, improved code efficiency, and expanded test coverage, while ensuring workflow contract backward compatibility and improving permission handling.

What's Changed

Backward Compatibility

  • Ensured workflow contracts maintain backward compatibility (#165, #166)

Security Improvements

  • Replaced permanent permission with transient permission (#176)
  • Other security fixes (#175):
    • Ensured msg.sender matches signer in workflow contracts
    • Used safeERC20 in SPGNFT
    • Added initializers for future-proofing
    • Made nonReentrant modifier precede all other modifiers in TokenizerModule
    • Allowed setting TotalLicenseTokenLimit to 0 (no limit) in licensing hook
    • Replaced _mint with _safeMint in SPGNFT

Story NFT

  • Refactored OrgStoryNFTFactory contract to reduce code redundancy (#156)

Documentation, Tests & Miscellaneous Fixes

Contributors

@sebsadface, @nnsW3, @lukema95, @VolodymyrBg, @Marcofann, @Dimitrolito, @Himess


Full Changelog: v1.3.0...v1.3.1

v1.3.0

08 Jan 04:46
ea88959
Compare
Choose a tag to compare

What's Changed

  • StoryNFT & SPGNFT
    Introduced Story NFT, enabled post-deployment URI changes, added upgrade scripts, added ERC-7572 contract-level metadata, included deduplication support, extracted OrgNFT logic to BaseOrgStoryNFT, made StoryBadgeNFT upgradeable, implemented IP metadata setting, and resolved a reentrancy vulnerability.
    (#87, #91, #92, #95, #98, #108, #109, #111, #113)

  • Cacheable NFT
    Introduced cacheable features for StoryBadgeNFT, added auto-cache capabilities, fixed removal from cache, and provided a cache state getter.
    (#114, #115, #116, #117)

  • Licensing
    Added permission handling to registerPILTermsAndAttach, introduced hooks to limit total license tokens and lock licensing, supported custom license templates, enabled multi-license attachment (including during IP registration), added maxRevenueShare parameter, enforced data validation, and restored v1.2 compatibility in licensing workflows.
    (#89, #99, #100, #102, #123, #128, #133, #134, #145, #146, #150, #154)

  • Grouping & Royalty
    Added royalty claiming for group IPs, introduced RoyaltyTokenDistributionWorkflows, removed snapshots in RoyaltyWorkflows/GroupingWorkflows, deployed royalty vaults for IPs without one, updated royalty logic to align with core changes, tested collectRoyaltiesAndClaimReward, and restored v1.2 compatibility.
    (#97, #105, #118, #136, #139, #148, #152)

  • Tokenizer Module
    Introduced the Tokenizer Module and implemented OwnableERC20.
    (#143, #144)

  • Derivatives
    Restored v1.2 compatibility to DerivativeWorkflows and introduced batch permissions for derivative registration.
    (#147, #155)

  • Registration
    Restored v1.2 compatibility to RegistrationWorkflows.
    (#151)

  • Deployment & Testing
    Updated tests, scripts, and integrations to reflect core PoC changes, used pre-deployed CREATE3, and applied minor fixes.
    (#93, #101, #103, #140, #141, #160)

  • Refactoring & Chores
    Replaced direct permission calls with executeWithSig, reverted those changes when necessary, cleaned up storage, added missing documentation, and fixed typos.
    (#121, #133, #137, #149, #158)

New Contributors

Full Changelog: v1.2.3...v1.3.0

v1.2.4

22 Oct 21:16
d0081ee
Compare
Choose a tag to compare

What's Changed

  • Introduced Story NFT (#87) with various enhancements:
    • Enabled URI changes post deployment (#91)
    • Added upgrade scripts (#92)
    • Resolved reentrancy vulnerability (#98)
  • Implemented ERC-7572 contract-level metadata support (#95)
  • Added permission handling in registerPILTermsAndAttach (#89)
  • Added royalty claiming for group IPs (#97)
  • Added logic deploy royalty vault for group member IPs without existing vaults (#105)

Full Changelog: v1.2.3...v1.2.4

v1.2.3

01 Oct 05:40
6acb0db
Compare
Choose a tag to compare

What's Changed

  • Refactored SPG into "workflow" contracts and introduced RoyaltyWorkflows for IP revenue claiming (#68, #74)
  • Fixed and enhanced tests and upgrade scripts: changed mock IPGraph precompile address, added integration tests, improved test logs, and added missing run function calls. (#69, #79, #80, #81)
  • Optimized royalty and licensing: removed currencyTokens parameter, extracted batch claim functions, and removed hasIpAttachedLicenseTerms check (#75, #84)
  • Added registerGroupAndAttachLicense function for grouping (#85)
  • Repo enhancement, bumped solidity version to 0.8.26, and misc. (#70, #77, #78, #86)

Full Changelog: v1.2.1...v1.2.3

v1.2.2

24 Sep 03:38
e69ac3d
Compare
Choose a tag to compare

What's Changed

  • Introduced RoyaltyWorkflows for IP revenue claiming (#74, #75, #76)

Full Changelog: v1.2.1...v1.2.2

v1.2.1

16 Sep 20:24
08499bb
Compare
Choose a tag to compare

What's Changed

  • Added support for public minting in SPG and SPGNFT (#65).
  • Added support for setting and retrieving base URI for SPGNFT (#66).
  • Made license attachment idempotent in SPG (#59).
  • Integrated predictMintingLicenseFee from the licensing module for minting fee calculations (#64).
  • Bumped protocol-core dependencies to v1.2.1 and other minor updates (#63, #67).

Full Changelog: v1.2.0...v1.2.1

v1.2.0

09 Sep 20:13
d09498c
Compare
Choose a tag to compare

What's Changed

  • Introduced workflow contracts and Group IPA features, including deployment scripts for GroupingWorkflows (#43, #50)
  • Introduced DeployHelper to encapsulate deployment logic for periphery contracts deployment (#52)
  • Added support for custom license templates in GroupingWorkflows(#55)
  • Added public minting fee recipient control and resolved inconsistent licensing issues (#16, #48)
  • Updated documentation and added a gas analysis report (#47, #53)
  • Bumped protocol-core dependencies to v1.2.0 and misc. (#51, #56)

Full Changelog: v1.1.0...v1.2.0

v1.1.0

24 Aug 18:31
48a9cf9
Compare
Choose a tag to compare
  • Migrate periphery contracts from protocol core repo (#1)
  • Revamped SPG with NFT collection and mint token logic. (#5, #6)
  • Added support for batch transactions via multicall (#38)
  • Added functionality for registering IP with metadata and supporting metadata for SPG NFT. (#8, #20, #37)
  • Addressed ownership transfer issues in deployment script. (#18, #39)
  • Fixed issues with derivative registration, including minting fees for commercial licenses, license token flow, and making register and attach PIL terms idempotent. (#23, #25, #30)
  • Added SPG & SPG NFT upgrade scripts (#10)
  • Added IP Graph, Solady's ERC6551 integration, and core protocol package bumps. (#30)
  • Enhance CI/CD, repo, and misc.(#2, #3, #11, #32)

Full Changelog: v1.1.0