├── .env.example ├── .eslintignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yaml │ ├── feature_request.md │ ├── task.md │ └── tracking_issue.md ├── pull_request_template.md └── workflows │ └── test.yml ├── .gitignore ├── .gitmodules ├── .husky └── pre-push ├── .prettierignore ├── .prettierrc ├── .solhint.json ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── contracts ├── StoryProtocolGateway.sol ├── interfaces │ ├── IStoryProtocolDrop.sol │ ├── IStoryProtocolGateway.sol │ ├── IStoryProtocolToken.sol │ └── nft │ │ ├── IERC721MetadataProvider.sol │ │ └── IERC721SPNFT.sol ├── lib │ ├── Errors.sol │ ├── Metadata.sol │ └── SPG.sol └── nft │ ├── ERC721Cloneable.sol │ ├── ERC721MetadataProvider.sol │ ├── ERC721SPNFT.sol │ └── ERC721SPNFTFactory.sol ├── deploy-out └── deployment-11155111.json ├── foundry.toml ├── package.json ├── remappings.txt ├── script ├── Main.s.sol └── utils │ ├── BroadcastManager.s.sol │ ├── JsonDeploymentHandler.s.sol │ ├── StoryProtocolCoreAddressManager.sol │ └── StringUtil.sol ├── test ├── StoryProtocolGateway.t.sol ├── interfaces │ └── IPILPolicyFrameworkManager.sol ├── mocks │ ├── MockStoryProtocolDrop.sol │ └── nft │ │ ├── MockERC721Cloneable.sol │ │ ├── MockERC721MetadataProvider.sol │ │ ├── MockERC721Receiver.sol │ │ └── MockERC721SPNFT.sol ├── nft │ └── erc721 │ │ ├── ERC721Base.t.sol │ │ ├── ERC721Cloneable.t.sol │ │ ├── ERC721MetadataProvider.t.sol │ │ ├── ERC721SPNFT.t.sol │ │ └── TransferHelper.sol └── utils │ ├── Base.t.sol │ └── Fork.t.sol ├── tsconfig.json ├── yarn-error.log └── yarn.lock /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .openzeppelin 3 | .eslintrc.js 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/ISSUE_TEMPLATE/config.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/task.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/ISSUE_TEMPLATE/task.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/tracking_issue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/ISSUE_TEMPLATE/tracking_issue.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.gitmodules -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.husky/pre-push -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.prettierrc -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/.solhint.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/README.md -------------------------------------------------------------------------------- /contracts/StoryProtocolGateway.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/StoryProtocolGateway.sol -------------------------------------------------------------------------------- /contracts/interfaces/IStoryProtocolDrop.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/interfaces/IStoryProtocolDrop.sol -------------------------------------------------------------------------------- /contracts/interfaces/IStoryProtocolGateway.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/interfaces/IStoryProtocolGateway.sol -------------------------------------------------------------------------------- /contracts/interfaces/IStoryProtocolToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/interfaces/IStoryProtocolToken.sol -------------------------------------------------------------------------------- /contracts/interfaces/nft/IERC721MetadataProvider.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/interfaces/nft/IERC721MetadataProvider.sol -------------------------------------------------------------------------------- /contracts/interfaces/nft/IERC721SPNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/interfaces/nft/IERC721SPNFT.sol -------------------------------------------------------------------------------- /contracts/lib/Errors.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/lib/Errors.sol -------------------------------------------------------------------------------- /contracts/lib/Metadata.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/lib/Metadata.sol -------------------------------------------------------------------------------- /contracts/lib/SPG.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/lib/SPG.sol -------------------------------------------------------------------------------- /contracts/nft/ERC721Cloneable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/nft/ERC721Cloneable.sol -------------------------------------------------------------------------------- /contracts/nft/ERC721MetadataProvider.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/nft/ERC721MetadataProvider.sol -------------------------------------------------------------------------------- /contracts/nft/ERC721SPNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/nft/ERC721SPNFT.sol -------------------------------------------------------------------------------- /contracts/nft/ERC721SPNFTFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/contracts/nft/ERC721SPNFTFactory.sol -------------------------------------------------------------------------------- /deploy-out/deployment-11155111.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/deploy-out/deployment-11155111.json -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/foundry.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/package.json -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/remappings.txt -------------------------------------------------------------------------------- /script/Main.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/script/Main.s.sol -------------------------------------------------------------------------------- /script/utils/BroadcastManager.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/script/utils/BroadcastManager.s.sol -------------------------------------------------------------------------------- /script/utils/JsonDeploymentHandler.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/script/utils/JsonDeploymentHandler.s.sol -------------------------------------------------------------------------------- /script/utils/StoryProtocolCoreAddressManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/script/utils/StoryProtocolCoreAddressManager.sol -------------------------------------------------------------------------------- /script/utils/StringUtil.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/script/utils/StringUtil.sol -------------------------------------------------------------------------------- /test/StoryProtocolGateway.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/StoryProtocolGateway.t.sol -------------------------------------------------------------------------------- /test/interfaces/IPILPolicyFrameworkManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/interfaces/IPILPolicyFrameworkManager.sol -------------------------------------------------------------------------------- /test/mocks/MockStoryProtocolDrop.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/mocks/MockStoryProtocolDrop.sol -------------------------------------------------------------------------------- /test/mocks/nft/MockERC721Cloneable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/mocks/nft/MockERC721Cloneable.sol -------------------------------------------------------------------------------- /test/mocks/nft/MockERC721MetadataProvider.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/mocks/nft/MockERC721MetadataProvider.sol -------------------------------------------------------------------------------- /test/mocks/nft/MockERC721Receiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/mocks/nft/MockERC721Receiver.sol -------------------------------------------------------------------------------- /test/mocks/nft/MockERC721SPNFT.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/mocks/nft/MockERC721SPNFT.sol -------------------------------------------------------------------------------- /test/nft/erc721/ERC721Base.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/nft/erc721/ERC721Base.t.sol -------------------------------------------------------------------------------- /test/nft/erc721/ERC721Cloneable.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/nft/erc721/ERC721Cloneable.t.sol -------------------------------------------------------------------------------- /test/nft/erc721/ERC721MetadataProvider.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/nft/erc721/ERC721MetadataProvider.t.sol -------------------------------------------------------------------------------- /test/nft/erc721/ERC721SPNFT.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/nft/erc721/ERC721SPNFT.t.sol -------------------------------------------------------------------------------- /test/nft/erc721/TransferHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/nft/erc721/TransferHelper.sol -------------------------------------------------------------------------------- /test/utils/Base.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/utils/Base.t.sol -------------------------------------------------------------------------------- /test/utils/Fork.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/test/utils/Fork.t.sol -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn-error.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/yarn-error.log -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/storyprotocol/protocol-periphery/HEAD/yarn.lock --------------------------------------------------------------------------------