From 31233ddba1551f009820c865825ca4cde17ebf6f Mon Sep 17 00:00:00 2001 From: Sebastian Liu Date: Tue, 27 Aug 2024 19:36:33 -0700 Subject: [PATCH] chore: spec bump and update change log --- .env.example | 4 +-- CHANGELOG.md | 14 ++++++++ foundry.toml | 2 +- package.json | 2 +- script/utils/BroadcastManager.s.sol | 6 ++-- script/utils/upgrades/ERC7201Helper.s.sol | 2 +- yarn.lock | 44 +++++++++++------------ 7 files changed, 44 insertions(+), 30 deletions(-) diff --git a/.env.example b/.env.example index 9bd729a..7b0371a 100644 --- a/.env.example +++ b/.env.example @@ -3,8 +3,8 @@ MAINNET_RPC_URL = https://eth-mainnet.g.alchemy.com/v2/1234123412341234 # TODO: Remove private key in favor of forge cast wallet MAINNET_PRIVATEKEY= 12341234123412341234123412341234 -# SEPOLIA -SEPOLIA_RPC_URL = https://eth-mainnet.g.alchemy.com/v2/1234123412341234 +# TESTNET +TESTNET_RPC_URL = https://eth-mainnet.g.alchemy.com/v2/1234123412341234 # TODO: Remove private key in favor of forge cast wallet # ETHSCAN diff --git a/CHANGELOG.md b/CHANGELOG.md index e5cccb3..0f004f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,22 @@ # CHANGELOG +## v1.1.0 +- 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](https://github.com/storyprotocol/protocol-periphery-v1/commits/v1.1.0) + ## v1.0.0-beta-rc1 This is the first release of the Story Protocol Gateway - Adds the SPG, a convenient wrapper around the core contracts for registration - Includes NFT minting management tooling for registering and minting in one-shot + diff --git a/foundry.toml b/foundry.toml index 098f105..681c47e 100644 --- a/foundry.toml +++ b/foundry.toml @@ -14,7 +14,7 @@ fs_permissions = [{ access = 'read', path = './' }, { access = 'read-write', pat # Comment out for local development (testing requires 0xSplit forks — will add Mock soon) # pin fork by using --fork-block-number 19042069 to reduce wait time mainnet = "https://rpc.ankr.com/eth" -sepolia = "${SEPOLIA_RPC_URL}" +testnet = "${TESTNET_RPC_URL}" # See more config options https://github.com/foundry-rs/foundry/tree/master/config diff --git a/package.json b/package.json index 044efa0..6de87a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@story-protocol/protocol-periphery", - "version": "v1.0.0-rc1", + "version": "v1.1.0", "description": "Story Protocol periphery smart contracts", "main": "", "directories": { diff --git a/script/utils/BroadcastManager.s.sol b/script/utils/BroadcastManager.s.sol index ba9261d..5bbcca5 100644 --- a/script/utils/BroadcastManager.s.sol +++ b/script/utils/BroadcastManager.s.sol @@ -17,9 +17,9 @@ contract BroadcastManager is Script { multisig = vm.envAddress("MAINNET_MULTISIG_ADDRESS"); vm.startBroadcast(deployerPrivateKey); } else if (block.chainid == 1513 || block.chainid == 11155111) { - deployerPrivateKey = vm.envUint("SEPOLIA_PRIVATEKEY"); - deployer = vm.envAddress("SEPOLIA_DEPLOYER_ADDRESS"); - multisig = vm.envAddress("SEPOLIA_MULTISIG_ADDRESS"); + deployerPrivateKey = vm.envUint("TESTNET_PRIVATEKEY"); + deployer = vm.envAddress("TESTNET_DEPLOYER_ADDRESS"); + multisig = vm.envAddress("TESTNET_MULTISIG_ADDRESS"); vm.startBroadcast(deployerPrivateKey); } else if (block.chainid == 31337) { multisig = address(0x456); diff --git a/script/utils/upgrades/ERC7201Helper.s.sol b/script/utils/upgrades/ERC7201Helper.s.sol index 3eb69f4..f30967f 100644 --- a/script/utils/upgrades/ERC7201Helper.s.sol +++ b/script/utils/upgrades/ERC7201Helper.s.sol @@ -14,7 +14,7 @@ contract ERC7201HelperScript is Script { string constant NAMESPACE = "story-protocol-periphery"; string constant CONTRACT_NAME = "SPG"; - function run() external { + function run() external pure { bytes memory erc7201Key = abi.encodePacked(NAMESPACE, ".", CONTRACT_NAME); bytes32 hash = keccak256(abi.encode(uint256(keccak256(erc7201Key)) - 1)) & ~bytes32(uint256(0xff)); diff --git a/yarn.lock b/yarn.lock index 6e29777..cc280b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -436,7 +436,7 @@ "@story-protocol/protocol-core@github:storyprotocol/protocol-core-v1#main": version "1.1.0" - resolved "https://codeload.github.com/storyprotocol/protocol-core-v1/tar.gz/8133cd54641341b7efd116318ff93cf3d8a17a1a" + resolved "https://codeload.github.com/storyprotocol/protocol-core-v1/tar.gz/4d961e5f4dc4605013d4237d9705236fd5e2fba2" dependencies: "@openzeppelin/contracts" "5.0.2" "@openzeppelin/contracts-upgradeable" "5.0.2" @@ -490,9 +490,9 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/node@*": - version "22.4.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.4.0.tgz#c295fe1d6f5f58916cc61dbef8cf65b5b9b71de9" - integrity sha512-49AbMDwYUz7EXxKU/r7mXOsxwFr4BYbvB7tWYxVuLdb2ibd30ijjXINSMAHiEEZk5PCRBmW1gUeisn2VMKt3cQ== + version "22.5.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.1.tgz#de01dce265f6b99ed32b295962045d10b5b99560" + integrity sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw== dependencies: undici-types "~6.19.2" @@ -1529,9 +1529,9 @@ http2-wrapper@^2.1.10: resolve-alpn "^1.2.0" husky@^9.0.11: - version "9.1.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.4.tgz#926fd19c18d345add5eab0a42b2b6d9a80259b34" - integrity sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA== + version "9.1.5" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.5.tgz#2b6edede53ee1adbbd3a3da490628a23f5243b83" + integrity sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag== ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: version "5.3.2" @@ -1587,9 +1587,9 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-core-module@^2.13.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== dependencies: hasown "^2.0.2" @@ -1805,9 +1805,9 @@ micro-ftch@^0.3.1: integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -2086,9 +2086,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier-plugin-solidity@^1.1.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.0.tgz#9eaa6e1d380c8d2b58e4c533ee36eda5c65870c1" - integrity sha512-XXEOjKaY4nC0Hjqv+DMo+A7ZNbS70jil0phl1mdMAbKf45pkxfhPXrNBMDSWsTYTldwSX+8JOwsUynO3enVc5A== + version "1.4.1" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.1.tgz#8060baf18853a9e34d2e09e47e87b4f19e15afe9" + integrity sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg== dependencies: "@solidity-parser/parser" "^0.18.0" semver "^7.5.4" @@ -2545,9 +2545,9 @@ tslib@2.4.0: integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== tslib@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -2600,9 +2600,9 @@ uglify-js@^3.1.4: integrity sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ== undici-types@~6.19.2: - version "6.19.6" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.6.tgz#e218c3df0987f4c0e0008ca00d6b6472d9b89b36" - integrity sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org== + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== universalify@^0.1.0: version "0.1.2"