From 2d28a5ccbfd3ac096afca8019d824364452b4762 Mon Sep 17 00:00:00 2001 From: Kingster Date: Thu, 23 Nov 2023 10:01:34 -0800 Subject: [PATCH 1/3] Temporarily Comment Out Unused Modules for Alpha Release Preparation We have temporarily commented out the Collect and Royalty modules to streamline the codebase for the alpha release. These changes are not permanent and these modules will be reintroduced in future releases. --- lcov.info | 2267 +++++++++-------- .../contracts}/ip-accounts/IPAccountImpl.sol | 0 .../ip-accounts/IPAccountRegistry.sol | 0 .../modules/collect/CollectModuleBase.sol | 0 .../collect/CollectPaymentModuleBase.sol | 0 .../modules/collect/SimpleCollectModule.sol | 0 .../modules/collect/nft/CollectNFTBase.sol | 0 .../contracts}/modules/collect/nft/ERC721.sol | 0 .../modules/royalties/RoyaltyDistributor.sol | 0 .../modules/royalties/RoyaltyNFT.sol | 0 .../modules/royalties/RoyaltyNFTFactory.sol | 0 .../MutableRoyaltyProportionPolicy.sol | 0 {test => mvp/test}/foundry/IPAccount.t.sol | 0 .../test}/foundry/IPAccountRegistry.t.sol | 2 +- .../test}/foundry/RoyaltyDistributor.t.sol | 2 +- .../foundry/RoyaltyDistributorFork.t.sol | 2 +- .../collect/BaseCollectModuleTest.sol | 4 +- .../collect/CollectPaymentModuleBase.t.sol | 4 +- .../collect/SimpleCollectModule.t.sol | 0 .../collect/nft/BaseERC721Test.sol | 2 +- .../collect/nft/CollectNFTBase.t.sol | 2 +- .../_old_modules/collect/nft/ERC721.t.sol | 2 +- .../test}/foundry/mocks/MockCollectModule.sol | 12 +- .../foundry/mocks/MockCollectModuleERC721.sol | 0 .../test}/foundry/mocks/MockCollectNFT.sol | 2 +- .../mocks/MockCollectPaymentModule.sol | 0 .../test}/foundry/mocks/MockIPAccount.sol | 0 script/foundry/deployment/Main.s.sol | 7 - test/foundry/IPOrgControllerTest.t.sol | 2 - test/foundry/utils/BaseTest.sol | 22 +- 30 files changed, 1172 insertions(+), 1160 deletions(-) rename {contracts => mvp/contracts}/ip-accounts/IPAccountImpl.sol (100%) rename {contracts => mvp/contracts}/ip-accounts/IPAccountRegistry.sol (100%) rename {contracts => mvp/contracts}/modules/collect/CollectModuleBase.sol (100%) rename {contracts => mvp/contracts}/modules/collect/CollectPaymentModuleBase.sol (100%) rename {contracts => mvp/contracts}/modules/collect/SimpleCollectModule.sol (100%) rename {contracts => mvp/contracts}/modules/collect/nft/CollectNFTBase.sol (100%) rename {contracts => mvp/contracts}/modules/collect/nft/ERC721.sol (100%) rename {contracts => mvp/contracts}/modules/royalties/RoyaltyDistributor.sol (100%) rename {contracts => mvp/contracts}/modules/royalties/RoyaltyNFT.sol (100%) rename {contracts => mvp/contracts}/modules/royalties/RoyaltyNFTFactory.sol (100%) rename {contracts => mvp/contracts}/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol (100%) rename {test => mvp/test}/foundry/IPAccount.t.sol (100%) rename {test => mvp/test}/foundry/IPAccountRegistry.t.sol (97%) rename {test => mvp/test}/foundry/RoyaltyDistributor.t.sol (99%) rename {test => mvp/test}/foundry/RoyaltyDistributorFork.t.sol (93%) rename {test => mvp/test}/foundry/_old_modules/collect/BaseCollectModuleTest.sol (97%) rename {test => mvp/test}/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol (99%) rename {test => mvp/test}/foundry/_old_modules/collect/SimpleCollectModule.t.sol (100%) rename {test => mvp/test}/foundry/_old_modules/collect/nft/BaseERC721Test.sol (99%) rename {test => mvp/test}/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol (98%) rename {test => mvp/test}/foundry/_old_modules/collect/nft/ERC721.t.sol (98%) rename {test => mvp/test}/foundry/mocks/MockCollectModule.sol (75%) rename {test => mvp/test}/foundry/mocks/MockCollectModuleERC721.sol (100%) rename {test => mvp/test}/foundry/mocks/MockCollectNFT.sol (71%) rename {test => mvp/test}/foundry/mocks/MockCollectPaymentModule.sol (100%) rename {test => mvp/test}/foundry/mocks/MockIPAccount.sol (100%) diff --git a/lcov.info b/lcov.info index 55cb93fd..4ec4f97d 100644 --- a/lcov.info +++ b/lcov.info @@ -1,1215 +1,1230 @@ TN: -SF:contracts/FranchiseRegistry.sol -FN:60,FranchiseRegistry.initialize -FN:66,FranchiseRegistry._getFranchiseStorage -FN:72,FranchiseRegistry.version -FN:76,FranchiseRegistry.registerFranchise -FN:95,FranchiseRegistry.ipAssetRegistryForId -FN:108,FranchiseRegistry.isIpAssetRegistry -FN:117,FranchiseRegistry.tokenURI -FN:123,FranchiseRegistry._authorizeUpgrade -FNDA:3,FranchiseRegistry.registerFranchise -FNDA:7466,FranchiseRegistry._getFranchiseStorage -FNDA:2,FranchiseRegistry.tokenURI -FNDA:1,FranchiseRegistry.version -FNDA:0,FranchiseRegistry.initialize -FNDA:0,FranchiseRegistry._authorizeUpgrade -FNDA:13,FranchiseRegistry.isIpAssetRegistry -FNDA:7451,FranchiseRegistry.ipAssetRegistryForId -FNF:8 -FNH:6 -DA:61,0 -DA:62,0 -DA:63,0 -DA:68,7466 -DA:73,1 -DA:77,3 -DA:78,3 -DA:79,3 -DA:85,3 -DA:86,3 -DA:87,3 -DA:90,3 -DA:92,3 -DA:98,7462 -DA:99,7462 -DA:109,13 -DA:118,2 -DA:119,1 -DA:120,1 -LF:19 -LH:16 +SF:contracts/IPAssetRegistry.sol +FN:100,IPAssetRegistry.transferIPOrg +FN:110,IPAssetRegistry.setStatus +FN:118,IPAssetRegistry.status +FN:124,IPAssetRegistry.ipAssetOrg +FN:130,IPAssetRegistry.ipAssetOwner +FN:137,IPAssetRegistry.ipAsset +FN:62,IPAssetRegistry.register +FNDA:0,IPAssetRegistry.transferIPOrg +FNDA:0,IPAssetRegistry.setStatus +FNDA:5,IPAssetRegistry.status +FNDA:0,IPAssetRegistry.ipAssetOrg +FNDA:11,IPAssetRegistry.ipAssetOwner +FNDA:2,IPAssetRegistry.ipAsset +FNDA:7,IPAssetRegistry.register +FNF:7 +FNH:4 +DA:70,7 +DA:71,0 +DA:75,7 +DA:76,7 +DA:77,7 +DA:87,7 +DA:101,0 +DA:102,0 +DA:103,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:119,5 +DA:125,0 +DA:131,11 +DA:132,11 +DA:138,2 +LF:17 +LH:9 +end_of_record +TN: +SF:contracts/StoryProtocol.sol +FN:103,StoryProtocol.registerIPAsset +FN:126,StoryProtocol.transferIPAsset +FN:152,StoryProtocol.addRelationshipType +FN:163,StoryProtocol.removeRelationshipType +FN:178,StoryProtocol.createRelationship +FN:202,StoryProtocol.configureIpOrgLicensing +FN:221,StoryProtocol.createLicenseNft +FN:254,StoryProtocol.createIpaBoundLicense +FN:280,StoryProtocol.activateLicense +FN:297,StoryProtocol.bindLnftToIpa +FN:41,StoryProtocol.setMetadata +FN:61,StoryProtocol.addIPAssetTypes +FN:83,StoryProtocol.registerIpOrg +FNDA:7,StoryProtocol.registerIPAsset +FNDA:0,StoryProtocol.transferIPAsset +FNDA:3,StoryProtocol.addRelationshipType +FNDA:1,StoryProtocol.removeRelationshipType +FNDA:2,StoryProtocol.createRelationship +FNDA:12,StoryProtocol.configureIpOrgLicensing +FNDA:2,StoryProtocol.createLicenseNft +FNDA:5,StoryProtocol.createIpaBoundLicense +FNDA:3,StoryProtocol.activateLicense +FNDA:2,StoryProtocol.bindLnftToIpa +FNDA:3,StoryProtocol.setMetadata +FNDA:0,StoryProtocol.addIPAssetTypes +FNDA:2,StoryProtocol.registerIpOrg +FNF:13 +FNH:11 +DA:46,3 +DA:50,3 +DA:65,0 +DA:69,0 +DA:89,2 +DA:109,7 +DA:110,7 +DA:118,7 +DA:134,0 +DA:138,0 +DA:155,3 +DA:167,1 +DA:184,2 +DA:192,2 +DA:206,12 +DA:228,2 +DA:233,2 +DA:244,2 +DA:261,5 +DA:266,5 +DA:277,4 +DA:284,3 +DA:302,2 +LF:23 +LH:19 end_of_record TN: SF:contracts/access-control/AccessControlSingleton.sol -FN:22,AccessControlSingleton.initialize -FN:34,AccessControlSingleton.setRoleAdmin -FN:42,AccessControlSingleton._authorizeUpgrade -FNDA:256,AccessControlSingleton.setRoleAdmin -FNDA:257,AccessControlSingleton.initialize +FN:26,AccessControlSingleton.initialize +FN:36,AccessControlSingleton.setRoleAdmin +FN:45,AccessControlSingleton._authorizeUpgrade +FNDA:0,AccessControlSingleton.initialize +FNDA:0,AccessControlSingleton.setRoleAdmin FNDA:0,AccessControlSingleton._authorizeUpgrade FNF:3 -FNH:2 -DA:23,257 -DA:24,257 -DA:25,257 -DA:26,257 -DA:35,256 +FNH:0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:40,0 LF:5 -LH:5 +LH:0 end_of_record TN: SF:contracts/access-control/AccessControlled.sol -FN:42,AccessControlled.hasRole -FN:50,AccessControlled.setAccessControl -FNDA:0,AccessControlled.hasRole +FN:35,AccessControlled.setAccessControl +FN:48,AccessControlled.hasRole FNDA:0,AccessControlled.setAccessControl +FNDA:83,AccessControlled.hasRole FNF:2 -FNH:0 -DA:43,0 -DA:51,0 -DA:52,0 -DA:53,0 -LF:4 -LH:0 +FNH:1 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:52,83 +LF:5 +LH:1 end_of_record TN: SF:contracts/access-control/AccessControlledUpgradeable.sol -FN:41,AccessControlledUpgradeable.__AccessControlledUpgradeable_init -FN:48,AccessControlledUpgradeable._getAccessControlledUpgradeable -FN:60,AccessControlledUpgradeable.hasRole -FN:69,AccessControlledUpgradeable.setAccessControl -FN:76,AccessControlledUpgradeable.getAccessControl -FNDA:0,AccessControlledUpgradeable.getAccessControl -FNDA:4,AccessControlledUpgradeable._getAccessControlledUpgradeable -FNDA:4,AccessControlledUpgradeable.hasRole +FN:35,AccessControlledUpgradeable.setAccessControl +FN:45,AccessControlledUpgradeable.getAccessControl +FN:52,AccessControlledUpgradeable.__AccessControlledUpgradeable_init +FN:66,AccessControlledUpgradeable.hasRole +FN:74,AccessControlledUpgradeable._getAccessControlledUpgradeable FNDA:0,AccessControlledUpgradeable.setAccessControl +FNDA:0,AccessControlledUpgradeable.getAccessControl FNDA:0,AccessControlledUpgradeable.__AccessControlledUpgradeable_init +FNDA:0,AccessControlledUpgradeable.hasRole +FNDA:0,AccessControlledUpgradeable._getAccessControlledUpgradeable FNF:5 -FNH:2 +FNH:0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:50,4 -DA:61,4 -DA:62,4 +DA:46,0 +DA:47,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 DA:70,0 DA:71,0 -DA:72,0 -DA:73,0 -DA:77,0 -DA:78,0 -LF:13 -LH:3 -end_of_record -TN: -SF:contracts/ip-accounts/IPAccountImpl.sol -FN:34,IPAccountImpl.supportsInterface -FN:44,IPAccountImpl.token -FN:71,IPAccountImpl.isValidSignature -FN:87,IPAccountImpl.isValidSigner -FN:95,IPAccountImpl.owner -FN:101,IPAccountImpl._isValidSigner -FN:108,IPAccountImpl.safeTransferFrom -FN:115,IPAccountImpl.sendRoyaltyForDistribution -FN:122,IPAccountImpl.onERC721Received -FN:131,IPAccountImpl.onERC1155Received -FN:141,IPAccountImpl.onERC1155BatchReceived -FNDA:2,IPAccountImpl.safeTransferFrom -FNDA:2,IPAccountImpl.sendRoyaltyForDistribution -FNDA:0,IPAccountImpl.owner -FNDA:6,IPAccountImpl.onERC1155Received -FNDA:4,IPAccountImpl._isValidSigner -FNDA:0,IPAccountImpl.supportsInterface -FNDA:2,IPAccountImpl.isValidSigner -FNDA:0,IPAccountImpl.isValidSignature -FNDA:2,IPAccountImpl.onERC721Received -FNDA:0,IPAccountImpl.onERC1155BatchReceived -FNDA:2,IPAccountImpl.token -FNF:11 -FNH:7 -DA:35,0 -DA:54,6 -DA:68,6 -DA:76,0 -DA:77,0 -DA:78,0 -DA:81,0 -DA:88,2 -DA:89,2 -DA:92,0 -DA:96,4 -DA:97,4 -DA:98,4 -DA:102,4 -DA:109,2 -DA:110,1 -DA:111,1 -DA:116,2 -DA:128,2 -DA:138,6 -DA:148,0 -LF:21 -LH:14 +DA:80,0 +LF:15 +LH:0 end_of_record TN: -SF:contracts/ip-accounts/IPAccountRegistry.sol -FN:17,IPAccountRegistry.createAccount -FN:47,IPAccountRegistry.account -FN:66,IPAccountRegistry.getIPAccountImpl -FN:70,IPAccountRegistry._getCreationCode -FNDA:26,IPAccountRegistry.account -FNDA:41,IPAccountRegistry._getCreationCode -FNDA:0,IPAccountRegistry.getIPAccountImpl -FNDA:15,IPAccountRegistry.createAccount -FNF:4 -FNH:3 -DA:23,15 -DA:31,15 -DA:33,15 -DA:35,12 -DA:37,12 -DA:39,12 -DA:40,2 -DA:41,2 -DA:44,11 -DA:52,26 -DA:62,26 -DA:67,0 -DA:77,41 -DA:103,41 -LF:14 +SF:contracts/hooks/TokenGatedHook.sol +FN:24,TokenGatedHook._validateConfig +FN:45,TokenGatedHook._executeSyncCall +FNDA:13,TokenGatedHook._validateConfig +FNDA:6,TokenGatedHook._executeSyncCall +FNF:2 +FNH:2 +DA:25,13 +DA:26,13 +DA:27,13 +DA:28,2 +DA:32,11 +DA:36,1 +DA:49,6 +DA:50,6 +DA:52,6 +DA:53,1 +DA:56,5 +DA:57,1 +DA:60,4 +LF:13 LH:13 end_of_record TN: -SF:contracts/ip-assets/IPAssetRegistry.sol -FN:55,IPAssetRegistry.initialize -FN:69,IPAssetRegistry._getIPAssetRegistryStorage -FN:79,IPAssetRegistry.version -FN:96,IPAssetRegistry.createIPAsset -FN:145,IPAssetRegistry._setNonCommercialRights -FN:170,IPAssetRegistry._setCommercialRights -FN:190,IPAssetRegistry._mintBlock -FN:199,IPAssetRegistry.currentIdFor -FN:209,IPAssetRegistry.description -FN:214,IPAssetRegistry.franchiseId -FN:219,IPAssetRegistry.tokenURI -FN:226,IPAssetRegistry.supportsInterface -FNDA:4,IPAssetRegistry.supportsInterface -FNDA:2,IPAssetRegistry._setCommercialRights -FNDA:4,IPAssetRegistry.initialize -FNDA:1,IPAssetRegistry.tokenURI -FNDA:11,IPAssetRegistry.franchiseId -FNDA:15,IPAssetRegistry.currentIdFor -FNDA:1,IPAssetRegistry.description -FNDA:2850,IPAssetRegistry._mintBlock -FNDA:2850,IPAssetRegistry._setNonCommercialRights -FNDA:4,IPAssetRegistry.version -FNDA:8581,IPAssetRegistry._getIPAssetRegistryStorage -FNDA:2851,IPAssetRegistry.createIPAsset -FNF:12 -FNH:12 -DA:61,4 -DA:62,4 -DA:63,4 -DA:64,4 -DA:65,4 -DA:66,4 -DA:75,8581 -DA:80,4 -DA:107,2851 -DA:108,2850 -DA:109,2850 -DA:110,2850 -DA:111,2850 -DA:112,2850 -DA:115,2850 -DA:116,2850 -DA:118,2850 -DA:121,2850 -DA:123,2 -DA:126,2850 -DA:132,2850 -DA:146,2850 -DA:147,2850 -DA:171,2 -DA:172,2 -DA:191,2850 -DA:192,2850 -DA:193,2850 -DA:194,2850 -DA:195,2850 -DA:196,2850 -DA:200,2865 -DA:201,2865 -DA:202,2865 -DA:203,2843 -DA:205,22 -DA:210,1 -DA:211,1 -DA:215,11 -DA:216,11 -DA:223,1 -DA:235,4 -DA:236,4 -DA:237,3 -LF:44 -LH:44 -end_of_record -TN: -SF:contracts/ip-assets/IPAssetRegistryFactory.sol -FN:30,IPAssetRegistryFactory.createFranchiseIPAssets -FN:51,IPAssetRegistryFactory.upgradeFranchises -FNDA:4,IPAssetRegistryFactory.createFranchiseIPAssets -FNDA:2,IPAssetRegistryFactory.upgradeFranchises +SF:contracts/hooks/base/AsyncBaseHook.sol +FN:114,AsyncBaseHook._handleCallback +FN:55,AsyncBaseHook.executeAsync +FNDA:4,AsyncBaseHook._handleCallback +FNDA:7,AsyncBaseHook.executeAsync FNF:2 FNH:2 -DA:36,4 -DA:43,4 -DA:44,4 -DA:45,4 -DA:47,4 -DA:48,4 -DA:52,1 -DA:53,1 -DA:54,1 -LF:9 -LH:9 +DA:65,6 +DA:66,1 +DA:70,5 +DA:74,1 +DA:77,4 +DA:81,4 +DA:84,4 +DA:86,4 +DA:88,4 +DA:90,4 +DA:119,4 +DA:120,4 +DA:121,1 +DA:128,3 +DA:129,1 +DA:133,2 +DA:136,2 +DA:138,2 +LF:18 +LH:18 end_of_record TN: -SF:contracts/ip-assets/LibIPAssetId.sol -FN:12,LibIPAssetId._zeroId -FN:17,LibIPAssetId._lastId -FN:22,LibIPAssetId._ipAssetTypeFor -FNDA:2843,LibIPAssetId._zeroId -FNDA:2850,LibIPAssetId._lastId -FNDA:2850,LibIPAssetId._ipAssetTypeFor +SF:contracts/hooks/base/BaseHook.sol +FN:22,BaseHook.executeSync +FN:38,BaseHook.executeAsync +FN:55,BaseHook.validateConfig +FNDA:3,BaseHook.executeSync +FNDA:3,BaseHook.executeAsync +FNDA:56,BaseHook.validateConfig FNF:3 FNH:3 -DA:13,2843 -DA:14,2843 -DA:18,2850 -DA:19,2850 -DA:25,2850 -DA:26,2850 -LF:6 -LH:6 +DA:31,2 +DA:48,2 +DA:58,56 +LF:3 +LH:3 end_of_record TN: -SF:contracts/ip-assets/events/CommonIPAssetEventEmitter.sol -FN:18,CommonIPAssetEventEmitter.emitIPAssetCreation -FNDA:2828,CommonIPAssetEventEmitter.emitIPAssetCreation +SF:contracts/hooks/base/SyncBaseHook.sol +FN:34,SyncBaseHook.executeSync +FNDA:17,SyncBaseHook.executeSync FNF:1 FNH:1 -DA:19,2828 -DA:20,2828 -LF:2 -LH:2 -end_of_record -TN: -SF:contracts/ip-assets/storage/IPAssetDataManager.sol -FN:22,IPAssetDataManager.__IPAssetData_init -FN:24,IPAssetDataManager._getIPAssetDataStorage -FN:30,IPAssetDataManager._writeIPAsset -FN:48,IPAssetDataManager.readIPAsset -FNDA:0,IPAssetDataManager.__IPAssetData_init -FNDA:2850,IPAssetDataManager._writeIPAsset -FNDA:2853,IPAssetDataManager._getIPAssetDataStorage -FNDA:2,IPAssetDataManager.readIPAsset -FNF:4 -FNH:3 -DA:26,2853 -DA:36,2850 -DA:37,2850 -DA:38,2850 -DA:39,2850 -DA:41,2850 -DA:42,2850 -DA:43,2850 -DA:44,2850 -DA:45,2850 -DA:49,3 -DA:50,3 -LF:12 -LH:12 -end_of_record -TN: -SF:contracts/modules/collect/CollectModuleBase.sol -FN:55,CollectModuleBase.getCollectNFT -FN:65,CollectModuleBase.initCollect -FN:101,CollectModuleBase.collect -FN:137,CollectModuleBase._initCollect -FN:142,CollectModuleBase._collect -FN:153,CollectModuleBase._getCollectNFT -FN:183,CollectModuleBase._getCollectModuleStorage -FNDA:512,CollectModuleBase._collect -FNDA:1536,CollectModuleBase.collect -FNDA:3362,CollectModuleBase.initCollect -FNDA:768,CollectModuleBase._getCollectNFT -FNDA:2850,CollectModuleBase._initCollect -FNDA:5154,CollectModuleBase._getCollectModuleStorage -FNDA:1280,CollectModuleBase.getCollectNFT -FNF:7 -FNH:7 -DA:56,1280 -DA:57,1280 -DA:68,3362 -DA:69,3362 -DA:72,3362 -DA:74,3362 -DA:75,256 -DA:79,3106 -DA:80,3106 -DA:81,256 -DA:85,2850 -DA:86,0 -DA:88,2850 -DA:91,2850 -DA:104,1536 -DA:105,1536 -DA:108,1536 -DA:109,256 -DA:113,1280 -DA:114,1280 -DA:115,256 -DA:117,1024 -DA:123,768 -DA:126,512 -DA:129,512 -DA:131,512 -DA:156,768 -DA:157,768 -DA:158,768 -DA:159,256 -DA:161,512 -DA:164,512 -DA:165,512 -DA:169,512 -DA:172,512 -DA:177,512 -DA:179,512 -DA:185,5154 -LF:38 -LH:37 -end_of_record -TN: -SF:contracts/modules/collect/SimpleCollectModule.sol -FN:19,MockCollectModule.initialize -FN:25,MockCollectModule._isCollectAuthorized -FN:31,MockCollectModule._authorizeUpgrade -FNDA:0,MockCollectModule._isCollectAuthorized -FNDA:0,MockCollectModule.initialize -FNDA:0,MockCollectModule._authorizeUpgrade -FNF:3 -FNH:0 -DA:20,0 -DA:21,0 -DA:26,0 -DA:27,0 -LF:4 -LH:0 -end_of_record -TN: -SF:contracts/modules/collect/nft/CollectNFTBase.sol -FN:47,CollectNFTBase.totalSupply -FN:54,CollectNFTBase.initialize -FN:80,CollectNFTBase.collect -FN:88,CollectNFTBase._initialize -FN:92,CollectNFTBase._collect -FNDA:1280,CollectNFTBase._collect -FNDA:1538,CollectNFTBase.initialize -FNDA:1536,CollectNFTBase.collect -FNDA:1280,CollectNFTBase._initialize -FNDA:512,CollectNFTBase.totalSupply -FNF:5 -FNH:5 -DA:48,512 -DA:57,1538 -DA:58,257 -DA:61,1281 -DA:62,1281 -DA:63,1281 -DA:64,1281 -DA:67,1281 -DA:73,1280 -DA:81,1280 -DA:82,1280 -DA:83,1280 -LF:12 -LH:12 -end_of_record -TN: -SF:contracts/modules/collect/nft/ERC721.sol -FN:43,ERC721.setApprovalForAll -FN:51,ERC721.approve -FN:93,ERC721.safeTransferFrom -FN:116,ERC721.transferFrom -FN:151,ERC721.supportsInterface -FN:159,ERC721._mint -FN:179,ERC721._burn -FNDA:1536,ERC721.transferFrom -FNDA:5120,ERC721.safeTransferFrom -FNDA:6400,ERC721._mint -FNDA:1280,ERC721._burn -FNDA:1024,ERC721.setApprovalForAll -FNDA:1792,ERC721.approve -FNDA:2,ERC721.supportsInterface -FNF:7 -FNH:7 -DA:44,1024 -DA:45,1024 -DA:52,1792 -DA:55,1792 -DA:56,256 -DA:59,1536 -DA:60,1536 -DA:76,2560 -DA:78,1792 -DA:79,1024 -DA:83,256 -DA:98,2560 -DA:100,1792 -DA:101,1024 -DA:105,256 -DA:121,6656 -DA:122,768 -DA:126,5888 -DA:127,2304 -DA:128,1536 -DA:130,768 -DA:133,5120 -DA:134,768 -DA:137,4352 -DA:140,4352 -DA:141,4352 -DA:144,4352 -DA:145,4352 -DA:152,2 -DA:153,1 -DA:160,6400 -DA:161,256 -DA:164,6144 -DA:165,256 -DA:169,5888 -DA:170,5888 -DA:173,5888 -DA:174,5888 -DA:180,1280 -DA:182,1280 -DA:183,512 -DA:187,768 -DA:188,768 -DA:191,768 -DA:192,768 -DA:193,768 -LF:46 -LH:46 -end_of_record -TN: -SF:contracts/modules/licensing/LicenseRegistry.sol -FN:34,LicenseRegistry.mint -FN:38,LicenseRegistry.exists -FN:42,LicenseRegistry._beforeTokenTransfer -FN:55,LicenseRegistry.getRightsManager -FN:59,LicenseRegistry.name -FN:63,LicenseRegistry.symbol -FNDA:10,LicenseRegistry.mint -FNDA:11,LicenseRegistry._beforeTokenTransfer -FNDA:2,LicenseRegistry.getRightsManager -FNDA:2,LicenseRegistry.name -FNDA:26,LicenseRegistry.exists -FNDA:2,LicenseRegistry.symbol -FNF:6 -FNH:6 -DA:35,9 -DA:39,26 +DA:42,16 +DA:46,16 +DA:47,14 +DA:48,11 DA:49,11 -DA:50,2 -DA:52,10 -DA:56,2 -DA:60,2 -DA:64,2 -LF:8 -LH:8 -end_of_record -TN: -SF:contracts/modules/licensing/LicensingModule.sol -FN:46,LicensingModule.initialize -FN:51,LicensingModule._getLicensingModuleStorage -FN:58,LicensingModule.getNonCommercialLicenseURI -FN:66,LicensingModule.setNonCommercialLicenseURI -FN:78,LicensingModule.configureFranchiseLicensing -FN:92,LicensingModule._verifyRootLicense -FN:106,LicensingModule.getFranchiseConfig -FN:110,LicensingModule._authorizeUpgrade -FNDA:5663,LicensingModule._getLicensingModuleStorage -FNDA:2830,LicensingModule.getFranchiseConfig -FNDA:12,LicensingModule._verifyRootLicense -FNDA:0,LicensingModule.initialize -FNDA:0,LicensingModule._authorizeUpgrade -FNDA:2829,LicensingModule.getNonCommercialLicenseURI -FNDA:0,LicensingModule.setNonCommercialLicenseURI -FNDA:8,LicensingModule.configureFranchiseLicensing -FNF:8 -FNH:5 -DA:47,0 -DA:48,0 -DA:52,5663 -DA:54,5663 -DA:59,2829 -DA:67,0 -DA:68,0 -DA:79,8 -DA:80,1 -DA:82,6 -DA:83,6 -DA:84,5 -DA:85,1 -DA:87,4 -DA:88,4 -DA:89,4 -DA:93,12 -DA:94,2 -DA:95,2 -DA:98,0 -DA:100,2 -DA:101,1 -DA:107,2830 -LF:23 -LH:18 -end_of_record -TN: -SF:contracts/modules/licensing/RightsManager.sol -FN:79,RightsManager.__RightsManager_init -FN:87,RightsManager.setLicenseRegistry -FN:94,RightsManager._getRightsManagerStorage -FN:117,RightsManager.createLicense -FN:156,RightsManager.createFranchiseRootLicense -FN:180,RightsManager._createLicense -FN:258,RightsManager.revokeLicense -FN:274,RightsManager.executeTerms -FN:289,RightsManager.isLicenseActive -FN:303,RightsManager._isActiveAndTermsOk -FN:308,RightsManager.getLicense -FN:315,RightsManager._beforeTokenTransfer -FN:332,RightsManager._verifyRightsTransfer -FN:347,RightsManager._verifyTerms -FN:354,RightsManager.getLicenseTokenId -FN:360,RightsManager.getParentLicenseId -FN:367,RightsManager.getLicenseHolder -FN:381,RightsManager.getLicenseURI -FN:387,RightsManager.getLicenseRevoker -FN:393,RightsManager.getLicenseIdByTokenId -FN:403,RightsManager.getLicenseRegistry -FN:407,RightsManager.isRootLicense -FN:413,RightsManager.isLicenseSet -FN:423,RightsManager.transferSublicense -FNDA:8,RightsManager.createLicense -FNDA:13,RightsManager.getLicenseIdByTokenId -FNDA:2989,RightsManager._getRightsManagerStorage -FNDA:0,RightsManager.__RightsManager_init -FNDA:4,RightsManager.setLicenseRegistry -FNDA:2872,RightsManager._verifyTerms -FNDA:0,RightsManager.getLicenseHolder -FNDA:4,RightsManager.getLicenseRegistry -FNDA:13,RightsManager.getLicense -FNDA:2,RightsManager.revokeLicense -FNDA:0,RightsManager.isRootLicense -FNDA:2863,RightsManager._beforeTokenTransfer -FNDA:16,RightsManager.isLicenseActive -FNDA:0,RightsManager.getLicenseRevoker -FNDA:2,RightsManager.executeTerms -FNDA:9,RightsManager.getLicenseTokenId -FNDA:24,RightsManager._isActiveAndTermsOk -FNDA:4,RightsManager.createFranchiseRootLicense -FNDA:0,RightsManager.isLicenseSet -FNDA:4,RightsManager.getLicenseURI -FNDA:4,RightsManager.getParentLicenseId -FNDA:0,RightsManager._verifyRightsTransfer -FNDA:3,RightsManager.transferSublicense -FNDA:2881,RightsManager._createLicense -FNF:24 -FNH:18 -DA:83,4 -DA:89,4 -DA:90,4 -DA:91,4 -DA:100,2989 -DA:127,8 -DA:128,2 -DA:130,6 -DA:131,5 -DA:165,4 -DA:166,3 -DA:192,2881 -DA:193,2880 -DA:197,2880 -DA:198,2877 -DA:199,1 -DA:203,2879 -DA:204,2864 -DA:205,1 -DA:208,15 -DA:209,15 -DA:211,11 -DA:212,11 -DA:213,10 -DA:214,9 -DA:215,6 -DA:219,2872 -DA:222,2871 -DA:223,2871 -DA:237,2871 -DA:238,9 -DA:241,2862 -DA:245,2871 -DA:253,2871 -DA:254,2871 -DA:259,2 -DA:260,2 -DA:261,2 -DA:262,2 -DA:263,2 -DA:264,2 -DA:275,2 -DA:276,2 -DA:277,2 -DA:278,2 -DA:279,2 -DA:280,2 -DA:281,1 -DA:282,1 -DA:285,2 -DA:293,18 -DA:294,18 -DA:295,33 -DA:296,24 -DA:297,24 -DA:298,15 -DA:300,9 -DA:304,24 -DA:305,24 -DA:309,13 -DA:321,2863 -DA:322,0 -DA:323,0 -DA:325,0 -DA:329,2863 -DA:338,0 -DA:341,0 -DA:342,0 -DA:343,0 -DA:344,0 -DA:348,2872 -DA:349,2849 -DA:350,1 -DA:357,9 -DA:363,4 -DA:370,25 -DA:371,25 -DA:372,4 -DA:374,21 -DA:377,21 -DA:384,4 -DA:390,0 -DA:397,15 -DA:404,4 -DA:410,0 -DA:414,2 -DA:427,3 -DA:428,3 -DA:429,2 -DA:430,1 -LF:90 -LH:80 +LF:5 +LH:5 end_of_record TN: -SF:contracts/modules/licensing/terms/BaseTermsProcessor.sol -FN:37,BaseTermsProcessor.executeTerms -FN:45,BaseTermsProcessor.supportsInterface -FNDA:3,BaseTermsProcessor.supportsInterface -FNDA:4,BaseTermsProcessor.executeTerms -FNF:2 -FNH:2 -DA:38,2 -DA:48,3 -LF:2 -LH:2 +SF:contracts/ip-org/IPOrg.sol +FN:103,IPOrg.mint +FN:111,IPOrg.burn +FN:120,IPOrg.transferFrom +FN:55,IPOrg.owner +FN:60,IPOrg.ownerOf +FN:66,IPOrg.tokenURI +FN:74,IPOrg.contractURI +FN:82,IPOrg.ipAssetId +FN:90,IPOrg.initialize +FNDA:7,IPOrg.mint +FNDA:0,IPOrg.burn +FNDA:0,IPOrg.transferFrom +FNDA:45,IPOrg.owner +FNDA:16,IPOrg.ownerOf +FNDA:0,IPOrg.tokenURI +FNDA:0,IPOrg.contractURI +FNDA:0,IPOrg.ipAssetId +FNDA:3,IPOrg.initialize +FNF:9 +FNH:4 +DA:56,45 +DA:61,16 +DA:69,0 +DA:70,0 +DA:75,0 +DA:76,0 +DA:83,0 +DA:84,0 +DA:95,3 +DA:96,0 +DA:99,3 +DA:104,7 +DA:105,7 +DA:106,7 +DA:112,0 +DA:113,0 +DA:125,0 +LF:17 +LH:7 end_of_record TN: -SF:contracts/modules/licensing/terms/MultiTermsProcessor.sol -FN:30,MultiTermsProcessor._setProcessors -FN:44,MultiTermsProcessor._executeTerms -FN:59,MultiTermsProcessor.supportsInterface -FN:77,MultiTermsProcessor.termsExecutedSuccessfully -FNDA:0,MultiTermsProcessor.supportsInterface -FNDA:0,MultiTermsProcessor._setProcessors -FNDA:0,MultiTermsProcessor._executeTerms -FNDA:0,MultiTermsProcessor.termsExecutedSuccessfully -FNF:4 -FNH:0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:55,0 -DA:62,0 -DA:63,0 +SF:contracts/ip-org/IPOrgController.sol +FN:113,IPOrgController.cancelOwnerTransfer +FN:132,IPOrgController.acceptOwnerTransfer +FN:154,IPOrgController.registerIpOrg +FN:200,IPOrgController._ipOrgRecord +FN:210,IPOrgController._assertIPOrgExists +FN:218,IPOrgController._authorizeUpgrade +FN:226,IPOrgController._getIpOrgControllerStorage +FN:63,IPOrgController.initialize +FN:71,IPOrgController.ownerOf +FN:78,IPOrgController.isIpOrg +FN:86,IPOrgController.pendingOwnerOf +FN:94,IPOrgController.transferOwner +FNDA:0,IPOrgController.cancelOwnerTransfer +FNDA:0,IPOrgController.acceptOwnerTransfer +FNDA:3,IPOrgController.registerIpOrg +FNDA:45,IPOrgController._ipOrgRecord +FNDA:0,IPOrgController._assertIPOrgExists +FNDA:0,IPOrgController._authorizeUpgrade +FNDA:48,IPOrgController._getIpOrgControllerStorage +FNDA:0,IPOrgController.initialize +FNDA:45,IPOrgController.ownerOf +FNDA:0,IPOrgController.isIpOrg +FNDA:0,IPOrgController.pendingOwnerOf +FNDA:0,IPOrgController.transferOwner +FNF:12 +FNH:4 DA:64,0 DA:65,0 DA:66,0 -DA:68,0 -DA:71,0 -DA:73,0 -DA:78,0 +DA:72,45 +DA:73,45 DA:79,0 DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:85,0 +DA:87,0 DA:88,0 -LF:29 -LH:0 +DA:95,0 +DA:98,0 +DA:99,0 +DA:103,0 +DA:104,0 +DA:107,0 +DA:108,0 +DA:114,0 +DA:117,0 +DA:118,0 +DA:122,0 +DA:123,0 +DA:126,0 +DA:127,0 +DA:133,0 +DA:136,0 +DA:137,0 +DA:141,0 +DA:142,0 +DA:144,0 +DA:145,0 +DA:161,3 +DA:162,0 +DA:165,3 +DA:166,3 +DA:172,3 +DA:173,3 +DA:179,3 +DA:183,3 +DA:190,3 +DA:201,45 +DA:202,45 +DA:203,45 +DA:204,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:231,48 +DA:233,48 +LF:48 +LH:15 end_of_record TN: -SF:contracts/modules/licensing/terms/TimeTermsProcessor.sol -FN:24,TimeTermsProcessor._executeTerms -FN:33,TimeTermsProcessor.termsExecutedSuccessfully -FNDA:2,TimeTermsProcessor._executeTerms -FNDA:19,TimeTermsProcessor.termsExecutedSuccessfully +SF:contracts/lib/LibUintArrayMask.sol +FN:19,LibUintArrayMask._convertToMask +FN:33,LibUintArrayMask._isAssetTypeOnMask +FNDA:256,LibUintArrayMask._convertToMask +FNDA:512,LibUintArrayMask._isAssetTypeOnMask FNF:2 FNH:2 -DA:25,2 -DA:26,2 -DA:27,1 -DA:29,2 -DA:34,19 -DA:35,19 -LF:6 -LH:6 +DA:20,256 +DA:21,255 +DA:22,255 +DA:23,32386 +DA:24,32385 +DA:26,32385 +DA:29,254 +DA:34,512 +LF:8 +LH:8 end_of_record TN: -SF:contracts/modules/relationships/LibIPAssetMask.sol -FN:24,LibIPAssetMask._convertToMask -FN:48,LibIPAssetMask._convertFromMask -FN:63,LibIPAssetMask._supportsIPAssetType -FN:74,LibIPAssetMask._checkRelationshipNode -FNDA:9,LibIPAssetMask._convertFromMask -FNDA:14,LibIPAssetMask._checkRelationshipNode -FNDA:21,LibIPAssetMask._convertToMask -FNDA:28,LibIPAssetMask._supportsIPAssetType -FNF:4 -FNH:4 -DA:25,21 -DA:26,20 -DA:27,20 -DA:28,53 -DA:29,51 -DA:31,51 -DA:34,18 -DA:35,9 -DA:37,18 -DA:49,9 -DA:50,9 -DA:51,9 -DA:52,63 -DA:53,30 -DA:54,30 -DA:57,9 -DA:58,9 -DA:64,28 -DA:75,14 -DA:76,12 -DA:78,2 -DA:80,0 -LF:22 -LH:21 +SF:contracts/modules/ModuleRegistry.sol +FN:110,ModuleRegistry.configure +FN:132,ModuleRegistry._execute +FN:149,ModuleRegistry._configure +FN:26,ModuleRegistry.protocolModule +FN:34,ModuleRegistry.registerProtocolModule +FN:49,ModuleRegistry.removeProtocolModule +FN:61,ModuleRegistry.moduleForKey +FN:66,ModuleRegistry.isModule +FN:77,ModuleRegistry.execute +FNDA:22,ModuleRegistry.configure +FNDA:21,ModuleRegistry._execute +FNDA:22,ModuleRegistry._configure +FNDA:32,ModuleRegistry.protocolModule +FNDA:2,ModuleRegistry.registerProtocolModule +FNDA:1,ModuleRegistry.removeProtocolModule +FNDA:3,ModuleRegistry.moduleForKey +FNDA:9,ModuleRegistry.isModule +FNDA:21,ModuleRegistry.execute +FNF:9 +FNH:9 +DA:27,32 +DA:39,2 +DA:40,0 +DA:42,2 +DA:43,2 +DA:52,1 +DA:53,0 +DA:55,1 +DA:56,1 +DA:57,1 +DA:62,3 +DA:67,9 +DA:84,0 +DA:103,21 +DA:115,0 +DA:129,22 +DA:140,21 +DA:141,21 +DA:142,0 +DA:144,21 +DA:145,18 +DA:146,18 +DA:155,22 +DA:156,22 +DA:157,0 +DA:159,22 +DA:160,18 +DA:161,18 +LF:28 +LH:22 end_of_record TN: -SF:contracts/modules/relationships/ProtocolRelationshipModule.sol -FN:19,ProtocolRelationshipModule.initialize -FN:24,ProtocolRelationshipModule.setRelationshipConfig -FN:28,ProtocolRelationshipModule.unsetRelationshipConfig -FN:33,ProtocolRelationshipModule._authorizeUpgrade -FNDA:0,ProtocolRelationshipModule.initialize -FNDA:0,ProtocolRelationshipModule._authorizeUpgrade -FNDA:2,ProtocolRelationshipModule.setRelationshipConfig -FNDA:2,ProtocolRelationshipModule.unsetRelationshipConfig -FNF:4 -FNH:2 -DA:20,0 -DA:25,1 -DA:29,1 -LF:3 -LH:2 +SF:contracts/modules/base/BaseModule.sol +FN:117,BaseModule._executeHook +FN:133,BaseModule._verifyExecution +FN:134,BaseModule._performAction +FN:65,BaseModule.execute +FN:88,BaseModule.configure +FN:92,BaseModule._executeHooks +FNDA:8,BaseModule._executeHook +FNDA:0,BaseModule._verifyExecution +FNDA:0,BaseModule._performAction +FNDA:27,BaseModule.execute +FNDA:26,BaseModule.configure +FNDA:44,BaseModule._executeHooks +FNF:6 +FNH:4 +DA:72,26 +DA:73,23 +DA:74,23 +DA:75,0 +DA:76,0 +DA:78,21 +DA:79,21 +DA:80,20 +DA:81,20 +DA:89,25 +DA:97,44 +DA:98,44 +DA:99,44 +DA:100,44 +DA:101,2 +DA:103,42 +DA:104,8 +DA:105,0 +DA:108,41 +DA:123,8 +DA:127,8 +DA:128,8 +DA:129,7 +LF:23 +LH:20 end_of_record TN: -SF:contracts/modules/relationships/RelationshipModuleBase.sol -FN:66,RelationshipModuleBase.__RelationshipModuleBase_init -FN:70,RelationshipModuleBase._getRelationshipModuleStorage -FN:88,RelationshipModuleBase.relate -FN:110,RelationshipModuleBase._updateEndTime -FN:128,RelationshipModuleBase.unrelate -FN:142,RelationshipModuleBase.areTheyRelated -FN:152,RelationshipModuleBase.isRelationshipExpired -FN:163,RelationshipModuleBase._verifyRelationshipParams -FN:181,RelationshipModuleBase._checkRelationshipNode -FN:188,RelationshipModuleBase.getRelationshipKey -FN:207,RelationshipModuleBase._setRelationshipConfig -FN:230,RelationshipModuleBase._unsetRelationshipConfig -FN:249,RelationshipModuleBase._convertRelParams -FN:264,RelationshipModuleBase.getRelationshipConfig -FN:275,RelationshipModuleBase.getRelationshipConfigDecoded -FN:291,RelationshipModuleBase.getRelationshipId -FN:304,RelationshipModuleBase.convertToMask -FN:315,RelationshipModuleBase.convertFromMask -FN:320,RelationshipModuleBase.supportsIPAssetType -FNDA:40,RelationshipModuleBase._getRelationshipModuleStorage -FNDA:5,RelationshipModuleBase.areTheyRelated -FNDA:1,RelationshipModuleBase.getRelationshipConfigDecoded -FNDA:9,RelationshipModuleBase._verifyRelationshipParams -FNDA:4,RelationshipModuleBase.getRelationshipConfig -FNDA:0,RelationshipModuleBase.isRelationshipExpired -FNDA:1,RelationshipModuleBase.getRelationshipId -FNDA:0,RelationshipModuleBase.convertFromMask -FNDA:3,RelationshipModuleBase._unsetRelationshipConfig -FNDA:4,RelationshipModuleBase._setRelationshipConfig -FNDA:4,RelationshipModuleBase._convertRelParams -FNDA:0,RelationshipModuleBase.__RelationshipModuleBase_init -FNDA:0,RelationshipModuleBase.getRelationshipKey -FNDA:0,RelationshipModuleBase.unrelate -FNDA:0,RelationshipModuleBase.supportsIPAssetType -FNDA:13,RelationshipModuleBase._checkRelationshipNode -FNDA:9,RelationshipModuleBase.relate -FNDA:0,RelationshipModuleBase.convertToMask -FNDA:3,RelationshipModuleBase._updateEndTime -FNF:19 +SF:contracts/modules/base/HookRegistry.sol +FN:107,HookRegistry.hookConfigAt +FN:123,HookRegistry.totalHooks +FN:134,HookRegistry.totalHooksConfig +FN:146,HookRegistry.clearHooks +FN:166,HookRegistry.hookIndex +FN:178,HookRegistry._hooksForType +FN:193,HookRegistry._hooksConfigForType +FN:209,HookRegistry._registerHooks +FN:241,HookRegistry._hookIndex +FN:53,HookRegistry.registerHooks +FN:75,HookRegistry.isRegistered +FN:89,HookRegistry.hookAt +FNDA:24,HookRegistry.hookConfigAt +FNDA:13,HookRegistry.totalHooks +FNDA:15,HookRegistry.totalHooksConfig +FNDA:3,HookRegistry.clearHooks +FNDA:8,HookRegistry.hookIndex +FNDA:145,HookRegistry._hooksForType +FNDA:135,HookRegistry._hooksConfigForType +FNDA:29,HookRegistry._registerHooks +FNDA:12,HookRegistry._hookIndex +FNDA:25,HookRegistry.registerHooks +FNDA:4,HookRegistry.isRegistered +FNDA:24,HookRegistry.hookAt +FNF:12 FNH:12 -DA:67,0 -DA:76,40 -DA:89,9 -DA:90,9 -DA:91,9 -DA:93,3 -DA:94,0 -DA:96,3 -DA:97,3 -DA:98,3 -DA:99,3 -DA:111,3 -DA:112,3 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:120,3 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:143,5 -DA:144,5 +DA:60,29 +DA:61,29 +DA:67,24 +DA:80,4 +DA:94,24 +DA:95,24 +DA:96,1 +DA:98,23 +DA:112,24 +DA:113,24 +DA:114,1 +DA:116,23 +DA:127,13 +DA:138,15 +DA:151,31 +DA:152,3 DA:153,3 -DA:154,3 -DA:155,3 -DA:164,9 -DA:165,8 -DA:166,6 -DA:167,5 -DA:168,5 -DA:169,4 -DA:182,13 -DA:183,11 -DA:184,11 -DA:189,11 -DA:208,4 -DA:209,4 -DA:210,3 -DA:211,3 -DA:212,3 -DA:223,3 -DA:231,3 -DA:233,3 -DA:234,1 -DA:235,2 -DA:236,2 -DA:250,4 +DA:154,28 +DA:155,2 +DA:156,2 +DA:158,31 +DA:171,12 +DA:182,145 +DA:183,92 +DA:185,53 +DA:197,135 +DA:198,87 +DA:200,48 +DA:215,29 +DA:216,29 +DA:217,2 +DA:219,27 +DA:220,1 +DA:223,26 +DA:224,52 +DA:225,1 +DA:227,51 +DA:228,1 +DA:230,50 +DA:231,50 +DA:232,50 +DA:245,12 +DA:246,12 +DA:247,12 +DA:248,8 DA:251,4 -DA:252,4 -DA:253,4 -DA:265,5 -DA:266,5 -DA:276,1 -DA:277,1 -DA:278,1 -DA:279,1 -DA:292,5 -DA:305,0 -DA:316,0 -DA:321,0 -LF:65 -LH:49 +DA:254,4 +LF:47 +LH:47 end_of_record TN: -SF:contracts/modules/relationships/processors/BaseRelationshipProcessor.sol -FN:31,BaseRelationshipProcessor.processRelationship -FN:39,BaseRelationshipProcessor.supportsInterface -FNDA:12,BaseRelationshipProcessor.supportsInterface -FNDA:3,BaseRelationshipProcessor.processRelationship -FNF:2 -FNH:2 -DA:32,3 -DA:33,3 -DA:42,12 -LF:3 -LH:3 +SF:contracts/modules/licensing/LicenseRegistry.sol +FN:108,LicenseRegistry.addTradeableLicense +FN:135,LicenseRegistry._addLicense +FN:145,LicenseRegistry.getLicense +FN:152,LicenseRegistry.getLicensor +FN:159,LicenseRegistry.getLicensee +FN:173,LicenseRegistry.bindLnftToIpa +FN:189,LicenseRegistry.isLicenseActive +FN:202,LicenseRegistry.activateLicense +FN:214,LicenseRegistry.revokeLicense +FN:74,LicenseRegistry.addBoundToIpaLicense +FNDA:2,LicenseRegistry.addTradeableLicense +FNDA:6,LicenseRegistry._addLicense +FNDA:12,LicenseRegistry.getLicense +FNDA:0,LicenseRegistry.getLicensor +FNDA:10,LicenseRegistry.getLicensee +FNDA:1,LicenseRegistry.bindLnftToIpa +FNDA:10,LicenseRegistry.isLicenseActive +FNDA:2,LicenseRegistry.activateLicense +FNDA:0,LicenseRegistry.revokeLicense +FNDA:4,LicenseRegistry.addBoundToIpaLicense +FNF:10 +FNH:8 +DA:83,4 +DA:84,0 +DA:86,4 +DA:87,4 +DA:117,2 +DA:131,2 +DA:132,2 +DA:139,6 +DA:140,6 +DA:141,6 +DA:148,12 +DA:153,0 +DA:160,10 +DA:161,10 +DA:162,0 +DA:163,10 +DA:164,7 +DA:166,3 +DA:177,1 +DA:178,1 +DA:179,0 +DA:181,1 +DA:182,1 +DA:183,1 +DA:184,1 +DA:191,10 +DA:192,20 +DA:193,12 +DA:194,2 +DA:195,10 +DA:197,8 +DA:203,2 +DA:204,0 +DA:206,2 +DA:208,2 +DA:215,0 +DA:216,0 +DA:218,0 +DA:220,0 +LF:39 +LH:30 end_of_record TN: -SF:contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol -FN:20,DstOwnerRelationshipProcessor._processRelationship -FNDA:0,DstOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:21,0 -DA:22,0 -DA:24,0 -LF:3 -LH:0 +SF:contracts/modules/licensing/LicensingModule.sol +FN:103,LicensingModule.getTotalIpOrgTerms +FN:115,LicensingModule.ipOrgTermsContains +FN:130,LicensingModule.ipOrgTermData +FN:151,LicensingModule.ipOrgTermsAt +FN:165,LicensingModule._verifyExecution +FN:189,LicensingModule._verifyCreateLicense +FN:231,LicensingModule._verifyActivateLicense +FN:251,LicensingModule._verifyBondNftToIpa +FN:272,LicensingModule._performAction +FN:297,LicensingModule._createLicense +FN:336,LicensingModule._getRegistryAddition +FN:366,LicensingModule._activateLicense +FN:381,LicensingModule._getLicensor +FN:409,LicensingModule._getRevoker +FN:420,LicensingModule._configure +FN:447,LicensingModule._setIpOrgFramework +FN:515,LicensingModule._setTerms +FN:563,LicensingModule._getTermsKey +FN:574,LicensingModule._hookRegistryKey +FN:58,LicensingModule.isShareAlikeOn +FN:66,LicensingModule.getLicensorConfig +FN:75,LicensingModule.isLicensorAppovalOn +FN:83,LicensingModule.ipOrgAllowsCommercial +FN:89,LicensingModule.getIpOrgTerms +FNDA:0,LicensingModule.getTotalIpOrgTerms +FNDA:0,LicensingModule.ipOrgTermsContains +FNDA:0,LicensingModule.ipOrgTermData +FNDA:0,LicensingModule.ipOrgTermsAt +FNDA:12,LicensingModule._verifyExecution +FNDA:7,LicensingModule._verifyCreateLicense +FNDA:3,LicensingModule._verifyActivateLicense +FNDA:2,LicensingModule._verifyBondNftToIpa +FNDA:9,LicensingModule._performAction +FNDA:6,LicensingModule._createLicense +FNDA:6,LicensingModule._getRegistryAddition +FNDA:2,LicensingModule._activateLicense +FNDA:6,LicensingModule._getLicensor +FNDA:6,LicensingModule._getRevoker +FNDA:12,LicensingModule._configure +FNDA:12,LicensingModule._setIpOrgFramework +FNDA:17,LicensingModule._setTerms +FNDA:67,LicensingModule._getTermsKey +FNDA:9,LicensingModule._hookRegistryKey +FNDA:1,LicensingModule.isShareAlikeOn +FNDA:1,LicensingModule.getLicensorConfig +FNDA:1,LicensingModule.isLicensorAppovalOn +FNDA:2,LicensingModule.ipOrgAllowsCommercial +FNDA:5,LicensingModule.getIpOrgTerms +FNF:24 +FNH:20 +DA:62,1 +DA:70,1 +DA:79,1 +DA:84,9 +DA:93,5 +DA:107,12 +DA:120,0 +DA:121,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:142,0 +DA:156,0 +DA:157,0 +DA:171,12 +DA:172,0 +DA:174,12 +DA:178,12 +DA:179,7 +DA:180,5 +DA:181,3 +DA:182,2 +DA:183,2 +DA:185,0 +DA:194,7 +DA:198,7 +DA:203,7 +DA:204,0 +DA:207,7 +DA:208,0 +DA:211,7 +DA:212,3 +DA:213,0 +DA:217,3 +DA:222,2 +DA:223,2 +DA:225,1 +DA:236,3 +DA:237,3 +DA:240,3 +DA:241,1 +DA:244,2 +DA:245,1 +DA:247,0 +DA:256,2 +DA:260,2 +DA:261,1 +DA:263,1 +DA:264,0 +DA:266,1 +DA:267,0 +DA:277,9 +DA:281,9 +DA:282,6 +DA:283,3 +DA:284,2 +DA:285,1 +DA:286,1 +DA:290,1 +DA:291,1 +DA:293,0 +DA:302,6 +DA:306,6 +DA:311,6 +DA:315,6 +DA:320,6 +DA:322,6 +DA:323,4 +DA:328,2 +DA:333,6 +DA:341,6 +DA:342,6 +DA:343,6 +DA:344,6 +DA:345,6 +DA:346,3 +DA:348,6 +DA:349,6 +DA:371,2 +DA:372,2 +DA:377,2 +DA:388,6 +DA:391,6 +DA:392,2 +DA:393,4 +DA:394,4 +DA:395,2 +DA:396,0 +DA:399,2 +DA:401,2 +DA:404,0 +DA:412,6 +DA:426,12 +DA:430,12 +DA:431,12 +DA:435,0 +DA:452,12 +DA:453,1 +DA:455,11 +DA:457,11 +DA:463,11 +DA:466,11 +DA:467,1 +DA:469,10 +DA:470,10 +DA:471,10 +DA:474,10 +DA:477,1 +DA:479,9 +DA:486,8 +DA:493,8 +DA:495,8 +DA:496,8 +DA:497,8 +DA:498,8 +DA:499,8 +DA:506,8 +DA:522,17 +DA:523,17 +DA:524,51 +DA:525,51 +DA:526,0 +DA:528,51 +DA:531,51 +DA:539,1 +DA:541,50 +DA:542,50 +DA:543,10 +DA:545,40 +DA:547,10 +DA:552,30 +DA:554,10 +DA:558,50 +DA:559,50 +DA:567,67 +DA:579,9 +LF:139 +LH:115 end_of_record TN: -SF:contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol -FN:18,PermissionlessRelationshipProcessor._processRelationship -FNDA:3,PermissionlessRelationshipProcessor._processRelationship -FNF:1 -FNH:1 -DA:19,3 -LF:1 -LH:1 +SF:contracts/modules/licensing/TermsRepository.sol +FN:100,TermsRepository.categoryForTerm +FN:106,TermsRepository.shortStringCategoryForTerm +FN:112,TermsRepository.getTerm +FN:118,TermsRepository.getTermHook +FN:131,TermsRepository.totalTermsForCategory +FN:139,TermsRepository.termForCategoryAt +FN:151,TermsRepository._verifyCategoryExists +FN:53,TermsRepository.addCategory +FN:59,TermsRepository.removeCategory +FN:65,TermsRepository.totalTermCategories +FN:70,TermsRepository.termCategoryAt +FN:80,TermsRepository.addTerm +FNDA:0,TermsRepository.categoryForTerm +FNDA:0,TermsRepository.shortStringCategoryForTerm +FNDA:56,TermsRepository.getTerm +FNDA:0,TermsRepository.getTermHook +FNDA:0,TermsRepository.totalTermsForCategory +FNDA:0,TermsRepository.termForCategoryAt +FNDA:4,TermsRepository._verifyCategoryExists +FNDA:4,TermsRepository.addCategory +FNDA:0,TermsRepository.removeCategory +FNDA:0,TermsRepository.totalTermCategories +FNDA:0,TermsRepository.termCategoryAt +FNDA:4,TermsRepository.addTerm +FNF:12 +FNH:4 +DA:54,4 +DA:55,4 +DA:60,0 +DA:61,0 +DA:66,0 +DA:73,0 +DA:86,4 +DA:87,4 +DA:88,4 +DA:89,0 +DA:91,4 +DA:92,4 +DA:93,0 +DA:95,4 +DA:96,4 +DA:97,4 +DA:103,0 +DA:109,0 +DA:115,56 +DA:121,0 +DA:127,0 +DA:128,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:148,0 +DA:152,4 +DA:153,0 +LF:31 +LH:12 end_of_record TN: -SF:contracts/modules/relationships/processors/SrcDstOwnerRelationshipProcessor.sol -FN:20,SrcDstOwnerRelationshipProcessor._processRelationship -FNDA:0,SrcDstOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -LF:4 -LH:0 +SF:contracts/modules/registration/RegistrationModule.sol +FN:133,RegistrationModule.getIPAssetTypes +FN:139,RegistrationModule.ownerOf +FN:147,RegistrationModule._verifyExecution +FN:171,RegistrationModule._configure +FN:189,RegistrationModule._performAction +FN:210,RegistrationModule._registerIPAsset +FN:249,RegistrationModule._transferIPAsset +FN:271,RegistrationModule._transferIPAssetToIPOrg +FN:300,RegistrationModule._addIPAssetTypes +FN:314,RegistrationModule._setMetadata +FN:327,RegistrationModule._verifyConfigCaller +FN:333,RegistrationModule._hookRegistryKey +FN:341,RegistrationModule._generateRegistryKey +FN:55,RegistrationModule.registerHooks +FN:67,RegistrationModule.contractURI +FN:78,RegistrationModule.tokenURI +FNDA:0,RegistrationModule.getIPAssetTypes +FNDA:11,RegistrationModule.ownerOf +FNDA:7,RegistrationModule._verifyExecution +FNDA:6,RegistrationModule._configure +FNDA:7,RegistrationModule._performAction +FNDA:7,RegistrationModule._registerIPAsset +FNDA:0,RegistrationModule._transferIPAsset +FNDA:0,RegistrationModule._transferIPAssetToIPOrg +FNDA:3,RegistrationModule._addIPAssetTypes +FNDA:3,RegistrationModule._setMetadata +FNDA:6,RegistrationModule._verifyConfigCaller +FNDA:7,RegistrationModule._hookRegistryKey +FNDA:8,RegistrationModule._generateRegistryKey +FNDA:1,RegistrationModule.registerHooks +FNDA:0,RegistrationModule.contractURI +FNDA:3,RegistrationModule.tokenURI +FNF:16 +FNH:12 +DA:61,1 +DA:62,1 +DA:68,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:79,3 +DA:80,3 +DA:81,3 +DA:82,0 +DA:87,3 +DA:88,1 +DA:91,2 +DA:92,2 +DA:93,1 +DA:96,1 +DA:99,1 +DA:105,1 +DA:110,1 +DA:118,1 +DA:134,0 +DA:140,11 +DA:141,11 +DA:148,7 +DA:150,7 +DA:151,0 +DA:152,0 +DA:153,0 +DA:155,7 +DA:156,7 +DA:157,7 +DA:158,0 +DA:161,0 +DA:172,6 +DA:173,6 +DA:174,6 +DA:175,3 +DA:176,3 +DA:177,3 +DA:178,3 +DA:179,3 +DA:181,0 +DA:183,6 +DA:190,7 +DA:191,7 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,7 +DA:196,7 +DA:197,7 +DA:198,7 +DA:200,0 +DA:218,7 +DA:225,7 +DA:226,7 +DA:227,7 +DA:228,7 +DA:229,7 +DA:230,4 +DA:232,7 +DA:255,0 +DA:256,0 +DA:257,0 +DA:278,0 +DA:280,0 +DA:282,0 +DA:283,0 +DA:284,0 +DA:285,0 +DA:289,0 +DA:290,0 +DA:291,0 +DA:292,0 +DA:304,3 +DA:305,3 +DA:306,4 +DA:319,3 +DA:320,3 +DA:321,3 +DA:322,3 +DA:328,6 +DA:329,0 +DA:338,7 +DA:342,8 +LF:85 +LH:55 end_of_record TN: -SF:contracts/modules/relationships/processors/SrcOwnerRelationshipProcessor.sol -FN:20,SrcOwnerRelationshipProcessor._processRelationship -FNDA:0,SrcOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:21,0 -DA:22,0 -DA:24,0 -LF:3 -LH:0 +SF:contracts/modules/relationships/RelationshipModule.sol +FN:121,RelationshipModule._verifyConfigCaller +FN:139,RelationshipModule.addressConfigFor +FN:161,RelationshipModule._addRelationshipType +FN:190,RelationshipModule._removeRelationshipType +FN:202,RelationshipModule._verifyExecution +FN:234,RelationshipModule._performAction +FN:257,RelationshipModule._hookRegistryKey +FN:266,RelationshipModule._generateRegistryKey +FN:51,RelationshipModule.registerHooks +FN:67,RelationshipModule.getRelationshipType +FN:79,RelationshipModule.getRelationship +FN:88,RelationshipModule.getRelationshipId +FN:93,RelationshipModule.relationshipExists +FN:98,RelationshipModule._configure +FNDA:4,RelationshipModule._verifyConfigCaller +FNDA:6,RelationshipModule.addressConfigFor +FNDA:3,RelationshipModule._addRelationshipType +FNDA:1,RelationshipModule._removeRelationshipType +FNDA:2,RelationshipModule._verifyExecution +FNDA:2,RelationshipModule._performAction +FNDA:2,RelationshipModule._hookRegistryKey +FNDA:2,RelationshipModule._generateRegistryKey +FNDA:0,RelationshipModule.registerHooks +FNDA:2,RelationshipModule.getRelationshipType +FNDA:2,RelationshipModule.getRelationship +FNDA:1,RelationshipModule.getRelationshipId +FNDA:0,RelationshipModule.relationshipExists +FNDA:4,RelationshipModule._configure +FNF:14 +FNH:12 +DA:58,0 +DA:59,0 +DA:68,4 +DA:69,3 +DA:71,1 +DA:73,4 +DA:74,1 +DA:80,2 +DA:89,1 +DA:94,0 +DA:103,4 +DA:104,4 +DA:105,4 +DA:106,3 +DA:107,1 +DA:108,1 +DA:109,1 +DA:111,0 +DA:113,4 +DA:122,4 +DA:123,3 +DA:124,0 +DA:127,1 +DA:128,0 +DA:144,6 +DA:145,0 +DA:146,6 +DA:147,0 +DA:148,6 +DA:149,0 +DA:150,6 +DA:151,6 +DA:152,0 +DA:153,0 +DA:155,0 +DA:162,3 +DA:163,3 +DA:164,3 +DA:170,3 +DA:171,2 +DA:173,1 +DA:175,3 +DA:191,1 +DA:192,1 +DA:194,0 +DA:196,1 +DA:203,2 +DA:204,2 +DA:206,2 +DA:207,0 +DA:209,2 +DA:210,0 +DA:211,0 +DA:214,2 +DA:215,0 +DA:218,2 +DA:219,0 +DA:221,2 +DA:222,0 +DA:223,0 +DA:226,2 +DA:227,0 +DA:235,2 +DA:236,2 +DA:237,2 +DA:244,2 +DA:245,2 +DA:246,2 +DA:254,2 +DA:262,2 +DA:263,2 +DA:267,2 +LF:72 +LH:51 end_of_record TN: -SF:contracts/modules/relationships/processors/SrcRequestOrDstOwnerRelationshipProcessor.sol -FN:18,SrcRequestOrDstOwnerRelationshipProcessor._processRelationship -FNDA:0,SrcRequestOrDstOwnerRelationshipProcessor._processRelationship -FNF:1 +SF:contracts/utils/FixedSet.sol +FN:105,FixedSet.add +FN:112,FixedSet.contains +FN:119,FixedSet.length +FN:133,FixedSet.at +FN:140,FixedSet.indexOf +FN:152,FixedSet.values +FN:30,FixedSet._add +FN:45,FixedSet._contains +FN:52,FixedSet._length +FN:59,FixedSet._indexOf +FN:74,FixedSet._at +FN:86,FixedSet._values +FNDA:0,FixedSet.add +FNDA:0,FixedSet.contains +FNDA:0,FixedSet.length +FNDA:0,FixedSet.at +FNDA:0,FixedSet.indexOf +FNDA:0,FixedSet.values +FNDA:0,FixedSet._add +FNDA:0,FixedSet._contains +FNDA:0,FixedSet._length +FNDA:0,FixedSet._indexOf +FNDA:0,FixedSet._at +FNDA:0,FixedSet._values +FNF:12 FNH:0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:25,0 -LF:5 -LH:0 -end_of_record -TN: -SF:contracts/modules/royalties/RoyaltyDistributor.sol -FN:25,RoyaltyDistributor.setRoyaltyPolicy -FN:36,RoyaltyDistributor.getRoyaltyPolicy -FN:44,RoyaltyDistributor.updateDistribution -FN:53,RoyaltyDistributor.distribute -FN:58,RoyaltyDistributor.claim -FN:62,RoyaltyDistributor.pause -FN:65,RoyaltyDistributor.unpause -FN:69,RoyaltyDistributor._ipAccount -FN:73,RoyaltyDistributor._authorizeUpgrade -FNDA:8,RoyaltyDistributor.updateDistribution -FNDA:0,RoyaltyDistributor._authorizeUpgrade -FNDA:2,RoyaltyDistributor.distribute -FNDA:0,RoyaltyDistributor.pause -FNDA:2,RoyaltyDistributor.claim -FNDA:0,RoyaltyDistributor.unpause -FNDA:8,RoyaltyDistributor.getRoyaltyPolicy -FNDA:18,RoyaltyDistributor._ipAccount -FNDA:8,RoyaltyDistributor.setRoyaltyPolicy -FNF:9 -FNH:6 -DA:31,8 -DA:32,8 -DA:33,8 -DA:40,8 -DA:41,8 -DA:49,8 -DA:50,8 -DA:54,2 -DA:55,2 -DA:59,2 -DA:63,0 -DA:66,0 -DA:70,18 -LF:13 -LH:11 -end_of_record -TN: -SF:contracts/modules/royalties/RoyaltyNFT.sol -FN:39,RoyaltyNFT.distributeFunds -FN:63,RoyaltyNFT.claim -FN:69,RoyaltyNFT.mint -FN:106,RoyaltyNFT._afterTokenTransfer -FN:128,RoyaltyNFT.uri -FN:145,RoyaltyNFT.percentage -FN:151,RoyaltyNFT.toTokenId -FN:155,RoyaltyNFT._getSum -FN:166,RoyaltyNFT.sort -FNDA:0,RoyaltyNFT.uri -FNDA:2,RoyaltyNFT.distributeFunds -FNDA:18,RoyaltyNFT._afterTokenTransfer -FNDA:6,RoyaltyNFT._getSum -FNDA:6,RoyaltyNFT.mint -FNDA:2,RoyaltyNFT.sort -FNDA:0,RoyaltyNFT.percentage -FNDA:14,RoyaltyNFT.toTokenId -FNDA:2,RoyaltyNFT.claim -FNF:9 -FNH:7 -DA:40,2 -DA:41,2 -DA:42,2 -DA:43,2 -DA:44,2 -DA:45,2 -DA:46,6 -DA:48,6 -DA:51,2 -DA:52,2 -DA:53,2 -DA:64,2 -DA:65,2 -DA:66,2 -DA:70,6 -DA:72,6 -DA:74,6 +DA:31,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:46,0 +DA:53,0 +DA:60,0 +DA:61,0 DA:75,0 -DA:80,6 -DA:81,0 -DA:84,6 -DA:85,16 -DA:89,6 -DA:90,6 -DA:91,6 -DA:92,6 -DA:93,6 -DA:94,6 -DA:96,6 -DA:114,18 -DA:115,18 -DA:116,18 -DA:117,18 -DA:118,18 +DA:87,0 +DA:106,0 +DA:113,0 DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:129,0 -DA:147,6 -DA:152,28 -DA:156,6 -DA:157,6 -DA:158,16 -DA:161,16 -DA:167,2 -DA:168,2 -DA:169,4 -DA:170,4 -DA:171,8 -DA:172,4 -DA:173,4 -DA:175,4 -LF:53 -LH:46 -end_of_record -TN: -SF:contracts/modules/royalties/RoyaltyNFTFactory.sol -FN:16,RoyaltyNFTFactory.createRoyaltyNft -FNDA:0,RoyaltyNFTFactory.createRoyaltyNft -FNF:1 -FNH:0 -DA:19,0 -DA:20,0 -LF:2 +DA:134,0 +DA:141,0 +DA:153,0 +DA:154,0 +DA:158,0 +DA:161,0 +DA:180,0 +DA:187,0 +DA:194,0 +DA:208,0 +DA:215,0 +DA:227,0 +DA:228,0 +DA:232,0 +DA:235,0 +DA:253,0 +DA:260,0 +DA:267,0 +DA:281,0 +DA:288,0 +DA:300,0 +DA:301,0 +DA:305,0 +DA:308,0 +DA:326,0 +DA:333,0 +DA:340,0 +DA:354,0 +DA:361,0 +DA:374,0 +DA:375,0 +DA:379,0 +DA:382,0 +LF:47 LH:0 end_of_record TN: -SF:contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol -FN:15,MutableRoyaltyProportionPolicy.initPolicy -FN:17,MutableRoyaltyProportionPolicy.updateDistribution -FN:35,MutableRoyaltyProportionPolicy.distribute -FNDA:8,MutableRoyaltyProportionPolicy.updateDistribution -FNDA:8,MutableRoyaltyProportionPolicy.initPolicy -FNDA:2,MutableRoyaltyProportionPolicy.distribute -FNF:3 -FNH:3 -DA:18,8 -DA:19,8 -DA:20,8 -DA:21,6 -DA:23,2 -DA:24,2 -DA:36,2 -LF:7 -LH:7 -end_of_record -TN: -SF:contracts/modules/timing/LibDuration.sol -FN:19,LibDuration.isActive -FN:23,LibDuration.isRenewable -FN:27,LibDuration.renew -FN:35,LibDuration.createRunningTimeConfig -FN:44,LibDuration.createStoppedTimeConfig +SF:contracts/utils/LibDuration.sol +FN:16,LibDuration.isActive +FN:20,LibDuration.renew +FN:28,LibDuration.createRunningTimeConfig +FN:37,LibDuration.isRenewable +FN:41,LibDuration.createStoppedTimeConfig +FNDA:0,LibDuration.isActive FNDA:0,LibDuration.renew -FNDA:0,LibDuration.isRenewable FNDA:0,LibDuration.createRunningTimeConfig +FNDA:0,LibDuration.isRenewable FNDA:0,LibDuration.createStoppedTimeConfig -FNDA:0,LibDuration.isActive FNF:5 FNH:0 -DA:20,0 +DA:17,0 +DA:21,0 +DA:22,0 +DA:23,0 DA:24,0 -DA:28,0 +DA:25,0 DA:29,0 DA:30,0 -DA:31,0 -DA:32,0 -DA:36,0 -DA:37,0 -DA:45,0 -DA:46,0 +DA:38,0 +DA:42,0 +DA:43,0 LF:11 LH:0 end_of_record +TN: +SF:contracts/utils/ShortStringOps.sol +FN:9,ShortStringOps._equal +FNDA:240,ShortStringOps._equal +FNF:1 +FNH:1 +DA:13,120 +DA:20,120 +DA:27,0 +DA:34,0 +DA:41,0 +DA:48,0 +LF:6 +LH:2 +end_of_record diff --git a/contracts/ip-accounts/IPAccountImpl.sol b/mvp/contracts/ip-accounts/IPAccountImpl.sol similarity index 100% rename from contracts/ip-accounts/IPAccountImpl.sol rename to mvp/contracts/ip-accounts/IPAccountImpl.sol diff --git a/contracts/ip-accounts/IPAccountRegistry.sol b/mvp/contracts/ip-accounts/IPAccountRegistry.sol similarity index 100% rename from contracts/ip-accounts/IPAccountRegistry.sol rename to mvp/contracts/ip-accounts/IPAccountRegistry.sol diff --git a/contracts/modules/collect/CollectModuleBase.sol b/mvp/contracts/modules/collect/CollectModuleBase.sol similarity index 100% rename from contracts/modules/collect/CollectModuleBase.sol rename to mvp/contracts/modules/collect/CollectModuleBase.sol diff --git a/contracts/modules/collect/CollectPaymentModuleBase.sol b/mvp/contracts/modules/collect/CollectPaymentModuleBase.sol similarity index 100% rename from contracts/modules/collect/CollectPaymentModuleBase.sol rename to mvp/contracts/modules/collect/CollectPaymentModuleBase.sol diff --git a/contracts/modules/collect/SimpleCollectModule.sol b/mvp/contracts/modules/collect/SimpleCollectModule.sol similarity index 100% rename from contracts/modules/collect/SimpleCollectModule.sol rename to mvp/contracts/modules/collect/SimpleCollectModule.sol diff --git a/contracts/modules/collect/nft/CollectNFTBase.sol b/mvp/contracts/modules/collect/nft/CollectNFTBase.sol similarity index 100% rename from contracts/modules/collect/nft/CollectNFTBase.sol rename to mvp/contracts/modules/collect/nft/CollectNFTBase.sol diff --git a/contracts/modules/collect/nft/ERC721.sol b/mvp/contracts/modules/collect/nft/ERC721.sol similarity index 100% rename from contracts/modules/collect/nft/ERC721.sol rename to mvp/contracts/modules/collect/nft/ERC721.sol diff --git a/contracts/modules/royalties/RoyaltyDistributor.sol b/mvp/contracts/modules/royalties/RoyaltyDistributor.sol similarity index 100% rename from contracts/modules/royalties/RoyaltyDistributor.sol rename to mvp/contracts/modules/royalties/RoyaltyDistributor.sol diff --git a/contracts/modules/royalties/RoyaltyNFT.sol b/mvp/contracts/modules/royalties/RoyaltyNFT.sol similarity index 100% rename from contracts/modules/royalties/RoyaltyNFT.sol rename to mvp/contracts/modules/royalties/RoyaltyNFT.sol diff --git a/contracts/modules/royalties/RoyaltyNFTFactory.sol b/mvp/contracts/modules/royalties/RoyaltyNFTFactory.sol similarity index 100% rename from contracts/modules/royalties/RoyaltyNFTFactory.sol rename to mvp/contracts/modules/royalties/RoyaltyNFTFactory.sol diff --git a/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol b/mvp/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol similarity index 100% rename from contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol rename to mvp/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol diff --git a/test/foundry/IPAccount.t.sol b/mvp/test/foundry/IPAccount.t.sol similarity index 100% rename from test/foundry/IPAccount.t.sol rename to mvp/test/foundry/IPAccount.t.sol diff --git a/test/foundry/IPAccountRegistry.t.sol b/mvp/test/foundry/IPAccountRegistry.t.sol similarity index 97% rename from test/foundry/IPAccountRegistry.t.sol rename to mvp/test/foundry/IPAccountRegistry.t.sol index c773693a..a7f7e683 100644 --- a/test/foundry/IPAccountRegistry.t.sol +++ b/mvp/test/foundry/IPAccountRegistry.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import { Errors } from "contracts/lib/Errors.sol"; import "contracts/ip-accounts/IPAccountRegistry.sol"; -import "test/foundry/mocks/MockIPAccount.sol"; +import "mvp/test/foundry/mocks/MockIPAccount.sol"; contract RegistryTest is Test { IPAccountRegistry public registry; diff --git a/test/foundry/RoyaltyDistributor.t.sol b/mvp/test/foundry/RoyaltyDistributor.t.sol similarity index 99% rename from test/foundry/RoyaltyDistributor.t.sol rename to mvp/test/foundry/RoyaltyDistributor.t.sol index d69170dc..abcb4dbb 100644 --- a/test/foundry/RoyaltyDistributor.t.sol +++ b/mvp/test/foundry/RoyaltyDistributor.t.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.13; import "forge-std/Test.sol"; import "contracts/ip-accounts/IPAccountRegistry.sol"; -import "test/foundry/mocks/MockIPAccount.sol"; +import "mvp/test/foundry/mocks/MockIPAccount.sol"; import "contracts/modules/royalties/RoyaltyDistributor.sol"; import "contracts/modules/royalties/RoyaltyNFT.sol"; import "contracts/interfaces/modules/royalties/ISplitMain.sol"; diff --git a/test/foundry/RoyaltyDistributorFork.t.sol b/mvp/test/foundry/RoyaltyDistributorFork.t.sol similarity index 93% rename from test/foundry/RoyaltyDistributorFork.t.sol rename to mvp/test/foundry/RoyaltyDistributorFork.t.sol index 6ec2b6ad..546d9873 100644 --- a/test/foundry/RoyaltyDistributorFork.t.sol +++ b/mvp/test/foundry/RoyaltyDistributorFork.t.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: BUSDL-1.1 pragma solidity ^0.8.13; -import "test/foundry/RoyaltyDistributor.t.sol"; +import "mvp/test/foundry/RoyaltyDistributor.t.sol"; contract RoyaltyDistributorForkTest is RoyaltyDistributorTest { function _getSplitMain() internal virtual override returns(ISplitMain) { diff --git a/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol b/mvp/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol similarity index 97% rename from test/foundry/_old_modules/collect/BaseCollectModuleTest.sol rename to mvp/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol index b99bec22..7f9902ec 100644 --- a/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol +++ b/mvp/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol @@ -7,8 +7,8 @@ import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.so import { BaseTestUtils } from "test/foundry/utils/BaseTestUtils.sol"; import { BaseTest } from "test/foundry/utils/BaseTest.sol"; import { CollectNFTBaseTest } from "./nft/CollectNFTBase.t.sol"; -import { MockCollectModule } from "test/foundry/mocks/MockCollectModule.sol"; -import { MockCollectNFT } from "test/foundry/mocks/MockCollectNFT.sol"; +import { MockCollectModule } from "mvp/test/foundry/mocks/MockCollectModule.sol"; +import { MockCollectNFT } from "mvp/test/foundry/mocks/MockCollectNFT.sol"; import { IPAsset } from "contracts/lib/IPAsset.sol"; import { Collect } from "contracts/lib/modules/Collect.sol"; diff --git a/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol b/mvp/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol similarity index 99% rename from test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol rename to mvp/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol index fd239732..05bc6559 100644 --- a/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol +++ b/mvp/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol @@ -9,10 +9,10 @@ import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.so import { BaseCollectModuleTest } from "./BaseCollectModuleTest.sol"; import { BaseTest } from "test/foundry/utils/BaseTest.sol"; -import { MockCollectPaymentModule } from "test/foundry/mocks/MockCollectPaymentModule.sol"; +import { MockCollectPaymentModule } from "mvp/test/foundry/mocks/MockCollectPaymentModule.sol"; import { MockNativeTokenNonReceiver } from "test/foundry/mocks/MockNativeTokenNonReceiver.sol"; import { MockThrowingERC20 } from "test/foundry/mocks/MockThrowingERC20.sol"; -import { MockCollectNFT } from "test/foundry/mocks/MockCollectNFT.sol"; +import { MockCollectNFT } from "mvp/test/foundry/mocks/MockCollectNFT.sol"; import { MockERC20 } from "test/foundry/mocks/MockERC20.sol"; import { MockWETH } from "test/foundry/mocks/MockWETH.sol"; diff --git a/test/foundry/_old_modules/collect/SimpleCollectModule.t.sol b/mvp/test/foundry/_old_modules/collect/SimpleCollectModule.t.sol similarity index 100% rename from test/foundry/_old_modules/collect/SimpleCollectModule.t.sol rename to mvp/test/foundry/_old_modules/collect/SimpleCollectModule.t.sol diff --git a/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol b/mvp/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol similarity index 99% rename from test/foundry/_old_modules/collect/nft/BaseERC721Test.sol rename to mvp/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol index 05cfa2ea..85c1a088 100644 --- a/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol +++ b/mvp/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol @@ -7,7 +7,7 @@ import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { IERC721Events } from "../../../interfaces/IERC721Events.sol"; import { IERC721Receiver } from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; -import { MockCollectModuleERC721 } from "test/foundry/mocks/MockCollectModuleERC721.sol"; +import { MockCollectModuleERC721 } from "mvp/test/foundry/mocks/MockCollectModuleERC721.sol"; import { BaseTestUtils } from "test/foundry/utils/BaseTestUtils.sol"; import { MockERC721Receiver } from "test/foundry/mocks/MockERC721Receiver.sol"; import { Errors } from "contracts/lib/Errors.sol"; diff --git a/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol b/mvp/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol similarity index 98% rename from test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol rename to mvp/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol index ff927035..44826628 100644 --- a/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol +++ b/mvp/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol @@ -7,7 +7,7 @@ import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.so import { BaseTest } from "test/foundry/utils/BaseTest.sol"; import { BaseERC721Test } from "./BaseERC721Test.sol"; -import { MockCollectNFT } from "test/foundry/mocks/MockCollectNFT.sol"; +import { MockCollectNFT } from "mvp/test/foundry/mocks/MockCollectNFT.sol"; import { ERC721Test } from "./ERC721.t.sol"; import { IPAsset } from "contracts/lib/IPAsset.sol"; diff --git a/test/foundry/_old_modules/collect/nft/ERC721.t.sol b/mvp/test/foundry/_old_modules/collect/nft/ERC721.t.sol similarity index 98% rename from test/foundry/_old_modules/collect/nft/ERC721.t.sol rename to mvp/test/foundry/_old_modules/collect/nft/ERC721.t.sol index ba13d9b9..6bff06e1 100644 --- a/test/foundry/_old_modules/collect/nft/ERC721.t.sol +++ b/mvp/test/foundry/_old_modules/collect/nft/ERC721.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.18; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { BaseERC721Test } from "./BaseERC721Test.sol"; -import { MockCollectModuleERC721 } from "test/foundry/mocks/MockCollectModuleERC721.sol"; +import { MockCollectModuleERC721 } from "mvp/test/foundry/mocks/MockCollectModuleERC721.sol"; import { Errors } from "contracts/lib/Errors.sol"; /// @title ERC-721 Testing Contract diff --git a/test/foundry/mocks/MockCollectModule.sol b/mvp/test/foundry/mocks/MockCollectModule.sol similarity index 75% rename from test/foundry/mocks/MockCollectModule.sol rename to mvp/test/foundry/mocks/MockCollectModule.sol index b435a557..f94c7c1f 100644 --- a/test/foundry/mocks/MockCollectModule.sol +++ b/mvp/test/foundry/mocks/MockCollectModule.sol @@ -1,26 +1,30 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.18; -import { CollectModuleBase } from "contracts/modules/collect/CollectModuleBase.sol"; +import { CollectModuleBase } from "mvp/contracts/modules/collect/CollectModuleBase.sol"; /// @title Mock Collect Module /// @notice This mock contract is used for testing the base collect module. contract MockCollectModule is CollectModuleBase { - // Whether the collect module is enabled for a specific IP asset. mapping(uint256 => mapping(uint256 => bool)) collectEnabled; /// @notice Initializes a mock collect module. /// @param registry_ The protocol-wide franchise registry address. /// @param defaultCollectNftImpl_ The default collect NFT impl address. - constructor(address registry_, address defaultCollectNftImpl_) CollectModuleBase(registry_, defaultCollectNftImpl_) {} + constructor( + address registry_, + address defaultCollectNftImpl_ + ) CollectModuleBase(registry_, defaultCollectNftImpl_) {} /// @notice Initializes the collect module via UUPS proxying. /// @param accessControl_ The address utilized for contract access control. function initialize(address accessControl_) public initializer {} /// @dev Checks whether the collect action is authorized for an IP asset. - function _isCollectAuthorized(uint256) internal pure virtual override returns (bool) { + function _isCollectAuthorized( + uint256 + ) internal pure virtual override returns (bool) { return true; } diff --git a/test/foundry/mocks/MockCollectModuleERC721.sol b/mvp/test/foundry/mocks/MockCollectModuleERC721.sol similarity index 100% rename from test/foundry/mocks/MockCollectModuleERC721.sol rename to mvp/test/foundry/mocks/MockCollectModuleERC721.sol diff --git a/test/foundry/mocks/MockCollectNFT.sol b/mvp/test/foundry/mocks/MockCollectNFT.sol similarity index 71% rename from test/foundry/mocks/MockCollectNFT.sol rename to mvp/test/foundry/mocks/MockCollectNFT.sol index 0273e3f2..97e7acfc 100644 --- a/test/foundry/mocks/MockCollectNFT.sol +++ b/mvp/test/foundry/mocks/MockCollectNFT.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.18; -import { CollectNFTBase } from "contracts/modules/collect/nft/CollectNFTBase.sol"; +import { CollectNFTBase } from "mvp/contracts/modules/collect/nft/CollectNFTBase.sol"; /// @title Mock Collect NFT /// @notice This contract is used for testing base collect NFT functionality. diff --git a/test/foundry/mocks/MockCollectPaymentModule.sol b/mvp/test/foundry/mocks/MockCollectPaymentModule.sol similarity index 100% rename from test/foundry/mocks/MockCollectPaymentModule.sol rename to mvp/test/foundry/mocks/MockCollectPaymentModule.sol diff --git a/test/foundry/mocks/MockIPAccount.sol b/mvp/test/foundry/mocks/MockIPAccount.sol similarity index 100% rename from test/foundry/mocks/MockIPAccount.sol rename to mvp/test/foundry/mocks/MockIPAccount.sol diff --git a/script/foundry/deployment/Main.s.sol b/script/foundry/deployment/Main.s.sol index 11149c71..79f970cd 100644 --- a/script/foundry/deployment/Main.s.sol +++ b/script/foundry/deployment/Main.s.sol @@ -9,13 +9,6 @@ import "script/foundry/utils/JsonDeploymentHandler.s.sol"; import "contracts/ip-org/IPOrg.sol"; import "contracts/ip-org/IPOrgController.sol"; import "contracts/access-control/AccessControlSingleton.sol"; -import "test/foundry/mocks/MockCollectNFT.sol"; -import "test/foundry/mocks/MockCollectModule.sol"; -import "contracts/modules/royalties/RoyaltyDistributor.sol"; -import "contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol"; -import "contracts/modules/royalties/RoyaltyNFT.sol"; -import "contracts/ip-accounts/IPAccountImpl.sol"; -import "contracts/ip-accounts/IPAccountRegistry.sol"; import { AccessControl } from "contracts/lib/AccessControl.sol"; import "contracts/modules/ModuleRegistry.sol"; import "contracts/IPAssetRegistry.sol"; diff --git a/test/foundry/IPOrgControllerTest.t.sol b/test/foundry/IPOrgControllerTest.t.sol index 4c30fdea..d3e01709 100644 --- a/test/foundry/IPOrgControllerTest.t.sol +++ b/test/foundry/IPOrgControllerTest.t.sol @@ -11,8 +11,6 @@ import { LicenseRegistry } from "contracts/modules/licensing/LicenseRegistry.sol import { AccessControlSingleton } from "contracts/access-control/AccessControlSingleton.sol"; import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; import { AccessControlHelper } from "./utils/AccessControlHelper.sol"; -import { MockCollectNFT } from "./mocks/MockCollectNFT.sol"; -import { MockCollectModule } from "./mocks/MockCollectModule.sol"; import { MockIPOrgController } from "./mocks/MockIPOrgController.sol"; import { BaseModule } from "contracts/modules/base/BaseModule.sol"; import { RegistrationModule } from "contracts/modules/registration/RegistrationModule.sol"; diff --git a/test/foundry/utils/BaseTest.sol b/test/foundry/utils/BaseTest.sol index ede3de70..0a74a245 100644 --- a/test/foundry/utils/BaseTest.sol +++ b/test/foundry/utils/BaseTest.sol @@ -4,8 +4,6 @@ pragma solidity ^0.8.19; import 'test/foundry/utils/ProxyHelper.sol'; import 'test/foundry/utils/BaseTestUtils.sol'; import 'test/foundry/utils/AccessControlHelper.sol'; -import "test/foundry/mocks/MockCollectNFT.sol"; -import "test/foundry/mocks/MockCollectModule.sol"; import "contracts/StoryProtocol.sol"; import "contracts/ip-org/IPOrgController.sol"; import "contracts/ip-org/IPOrg.sol"; @@ -149,17 +147,21 @@ contract BaseTest is BaseTestUtils, ProxyHelper, AccessControlHelper { } function _deployCollectNFTImpl() internal virtual returns (address) { - return address(new MockCollectNFT()); + // TODO: temporarily commented out for alpha + // return address(new MockCollectNFT()); + return address(0); } function _deployCollectModule(address collectNftImpl) internal virtual returns (address) { - collectModuleImpl = address(new MockCollectModule(address(registry), collectNftImpl)); - return _deployUUPSProxy( - collectModuleImpl, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ); + // TODO: temporarily commented out for alpha + // collectModuleImpl = address(new MockCollectModule(address(registry), collectNftImpl)); + // return _deployUUPSProxy( + // collectModuleImpl, + // abi.encodeWithSelector( + // bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) + // ) + // ); + return address(0); } /// @dev Helper function for creating an IP asset for an owner and IP type. From e7c0c3fcdbce459192ca551e0aa08d84914283d8 Mon Sep 17 00:00:00 2001 From: Kingster Date: Mon, 27 Nov 2023 11:39:10 -0800 Subject: [PATCH 2/3] temporarily remove unused test code --- test/foundry/utils/BaseTest.sol | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/test/foundry/utils/BaseTest.sol b/test/foundry/utils/BaseTest.sol index 0a74a245..a810e55f 100644 --- a/test/foundry/utils/BaseTest.sol +++ b/test/foundry/utils/BaseTest.sol @@ -38,9 +38,6 @@ contract BaseTest is BaseTestUtils, ProxyHelper, AccessControlHelper { RegistrationModule public registrationModule; TermsRepository public termsRepository; - address public defaultCollectNftImpl; - address public collectModuleImpl; - address constant upgrader = address(6969); address constant ipOrgOwner = address(456); address constant relManager = address(9999); @@ -117,10 +114,6 @@ contract BaseTest is BaseTestUtils, ProxyHelper, AccessControlHelper { ); moduleRegistry.registerProtocolModule(ModuleRegistryKeys.RELATIONSHIP_MODULE, relationshipModule); - - defaultCollectNftImpl = _deployCollectNFTImpl(); - collectModule = ICollectModule(_deployCollectModule(defaultCollectNftImpl)); - IPOrgParams.RegisterIPOrgParams memory ipAssetOrgParams = IPOrgParams.RegisterIPOrgParams( address(registry), "IPOrgName", @@ -146,24 +139,6 @@ contract BaseTest is BaseTestUtils, ProxyHelper, AccessControlHelper { } - function _deployCollectNFTImpl() internal virtual returns (address) { - // TODO: temporarily commented out for alpha - // return address(new MockCollectNFT()); - return address(0); - } - - function _deployCollectModule(address collectNftImpl) internal virtual returns (address) { - // TODO: temporarily commented out for alpha - // collectModuleImpl = address(new MockCollectModule(address(registry), collectNftImpl)); - // return _deployUUPSProxy( - // collectModuleImpl, - // abi.encodeWithSelector( - // bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - // ) - // ); - return address(0); - } - /// @dev Helper function for creating an IP asset for an owner and IP type. /// TO-DO: Replace this with a simpler set of default owners that get /// tested against. The reason this is currently added is that during From 4e83c29a8ab591bf3fbf24227725b6d7d49d8312 Mon Sep 17 00:00:00 2001 From: Kingster Date: Mon, 27 Nov 2023 16:14:25 -0800 Subject: [PATCH 3/3] refactor --- .../interfaces/ip-accounts/IERC6551Account.sol | 0 .../contracts}/interfaces/ip-accounts/IIPAccount.sol | 0 .../interfaces/ip-accounts/IIPAccountRegistry.sol | 0 .../interfaces/modules/collect/ICollectModule.sol | 0 .../interfaces/modules/collect/ICollectNFT.sol | 0 .../modules/collect/ICollectPaymentModule.sol | 0 .../modules/royalties/IRoyaltyDistributor.sol | 0 .../interfaces/modules/royalties/IRoyaltyPolicy.sol | 0 .../interfaces/modules/royalties/ISplitMain.sol | 0 .../modules/royalties/policies/IRoyaltyPolicy.sol | 0 mvp/test/foundry/RoyaltyDistributor.t.sol | 2 +- {test => mvp/test}/foundry/mocks/MockSplit.sol | 0 {test => mvp/test}/foundry/mocks/MockSplitMain.sol | 2 +- test/foundry/e2e/e2e.t.sol | 10 ++++------ test/foundry/utils/BaseTest.sol | 2 -- 15 files changed, 6 insertions(+), 10 deletions(-) rename {contracts => mvp/contracts}/interfaces/ip-accounts/IERC6551Account.sol (100%) rename {contracts => mvp/contracts}/interfaces/ip-accounts/IIPAccount.sol (100%) rename {contracts => mvp/contracts}/interfaces/ip-accounts/IIPAccountRegistry.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/collect/ICollectModule.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/collect/ICollectNFT.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/collect/ICollectPaymentModule.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/royalties/IRoyaltyDistributor.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/royalties/IRoyaltyPolicy.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/royalties/ISplitMain.sol (100%) rename {contracts => mvp/contracts}/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol (100%) rename {test => mvp/test}/foundry/mocks/MockSplit.sol (100%) rename {test => mvp/test}/foundry/mocks/MockSplitMain.sol (98%) diff --git a/contracts/interfaces/ip-accounts/IERC6551Account.sol b/mvp/contracts/interfaces/ip-accounts/IERC6551Account.sol similarity index 100% rename from contracts/interfaces/ip-accounts/IERC6551Account.sol rename to mvp/contracts/interfaces/ip-accounts/IERC6551Account.sol diff --git a/contracts/interfaces/ip-accounts/IIPAccount.sol b/mvp/contracts/interfaces/ip-accounts/IIPAccount.sol similarity index 100% rename from contracts/interfaces/ip-accounts/IIPAccount.sol rename to mvp/contracts/interfaces/ip-accounts/IIPAccount.sol diff --git a/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol b/mvp/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol similarity index 100% rename from contracts/interfaces/ip-accounts/IIPAccountRegistry.sol rename to mvp/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol diff --git a/contracts/interfaces/modules/collect/ICollectModule.sol b/mvp/contracts/interfaces/modules/collect/ICollectModule.sol similarity index 100% rename from contracts/interfaces/modules/collect/ICollectModule.sol rename to mvp/contracts/interfaces/modules/collect/ICollectModule.sol diff --git a/contracts/interfaces/modules/collect/ICollectNFT.sol b/mvp/contracts/interfaces/modules/collect/ICollectNFT.sol similarity index 100% rename from contracts/interfaces/modules/collect/ICollectNFT.sol rename to mvp/contracts/interfaces/modules/collect/ICollectNFT.sol diff --git a/contracts/interfaces/modules/collect/ICollectPaymentModule.sol b/mvp/contracts/interfaces/modules/collect/ICollectPaymentModule.sol similarity index 100% rename from contracts/interfaces/modules/collect/ICollectPaymentModule.sol rename to mvp/contracts/interfaces/modules/collect/ICollectPaymentModule.sol diff --git a/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol b/mvp/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol similarity index 100% rename from contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol rename to mvp/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol diff --git a/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol b/mvp/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol similarity index 100% rename from contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol rename to mvp/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol diff --git a/contracts/interfaces/modules/royalties/ISplitMain.sol b/mvp/contracts/interfaces/modules/royalties/ISplitMain.sol similarity index 100% rename from contracts/interfaces/modules/royalties/ISplitMain.sol rename to mvp/contracts/interfaces/modules/royalties/ISplitMain.sol diff --git a/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol b/mvp/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol similarity index 100% rename from contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol rename to mvp/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol diff --git a/mvp/test/foundry/RoyaltyDistributor.t.sol b/mvp/test/foundry/RoyaltyDistributor.t.sol index abcb4dbb..988dc9e0 100644 --- a/mvp/test/foundry/RoyaltyDistributor.t.sol +++ b/mvp/test/foundry/RoyaltyDistributor.t.sol @@ -10,7 +10,7 @@ import "contracts/modules/royalties/RoyaltyNFT.sol"; import "contracts/interfaces/modules/royalties/ISplitMain.sol"; import "./mocks/MockSplitMain.sol"; import "./mocks/MockERC20.sol"; -import "test/foundry/mocks/MockSplitMain.sol"; +import "./mocks/MockSplitMain.sol"; import "contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol"; import "contracts/modules/royalties/RoyaltyNFTFactory.sol"; diff --git a/test/foundry/mocks/MockSplit.sol b/mvp/test/foundry/mocks/MockSplit.sol similarity index 100% rename from test/foundry/mocks/MockSplit.sol rename to mvp/test/foundry/mocks/MockSplit.sol diff --git a/test/foundry/mocks/MockSplitMain.sol b/mvp/test/foundry/mocks/MockSplitMain.sol similarity index 98% rename from test/foundry/mocks/MockSplitMain.sol rename to mvp/test/foundry/mocks/MockSplitMain.sol index 01c0024a..cab2a752 100644 --- a/test/foundry/mocks/MockSplitMain.sol +++ b/mvp/test/foundry/mocks/MockSplitMain.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.13; import "contracts/interfaces/modules/royalties/ISplitMain.sol"; -import "test/foundry/mocks/MockSplit.sol"; +import "./MockSplit.sol"; import "test/foundry/mocks/MockERC20.sol"; contract MockSplitMain is ISplitMain { diff --git a/test/foundry/e2e/e2e.t.sol b/test/foundry/e2e/e2e.t.sol index e4fc0f7a..6517cde1 100644 --- a/test/foundry/e2e/e2e.t.sol +++ b/test/foundry/e2e/e2e.t.sol @@ -213,8 +213,8 @@ contract E2ETest is BaseTest { memory registerIpAssetParamsCharacter = Registration .RegisterIPAssetParams({ owner: ipAssetOwner1, + ipOrgAssetType: 0, name: "Character IPA", - ipAssetType: 0, hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83930000, mediaUrl: "https://arweave.net/chracter" }); @@ -236,8 +236,8 @@ contract E2ETest is BaseTest { memory registerIpAssetParamsStory = Registration .RegisterIPAssetParams({ owner: ipAssetOwner2, + ipOrgAssetType: 1, name: "Story IPA", - ipAssetType: 1, hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83931111, mediaUrl: "https://arweave.net/story" }); @@ -260,8 +260,8 @@ contract E2ETest is BaseTest { memory registerIpAssetParamsOrg2 = Registration .RegisterIPAssetParams({ owner: ipAssetOwner3, + ipOrgAssetType: 1, name: "Story IPA Org2", - ipAssetType: 1, hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83933333, mediaUrl: "https://arweave.net/story2" }); @@ -282,10 +282,8 @@ contract E2ETest is BaseTest { relType: "APPEAR_IN", srcAddress: ipOrg1, srcId: 1, - srcType: 0, dstAddress: ipOrg1, - dstId: 2, - dstType: 0 + dstId: 2 }); bytes[] memory preHooksDataRel = new bytes[](0); bytes[] memory postHooksDataRel = new bytes[](0); diff --git a/test/foundry/utils/BaseTest.sol b/test/foundry/utils/BaseTest.sol index a810e55f..d81d5e6b 100644 --- a/test/foundry/utils/BaseTest.sol +++ b/test/foundry/utils/BaseTest.sol @@ -12,7 +12,6 @@ import "contracts/IPAssetRegistry.sol"; import "contracts/lib/modules/Registration.sol"; import "contracts/access-control/AccessControlSingleton.sol"; import "contracts/IPAssetRegistry.sol"; -import "contracts/interfaces/modules/collect/ICollectModule.sol"; import "contracts/modules/relationships/RelationshipModule.sol"; import "contracts/modules/licensing/LicenseRegistry.sol"; import "contracts/modules/licensing/LicensingModule.sol"; @@ -29,7 +28,6 @@ contract BaseTest is BaseTestUtils, ProxyHelper, AccessControlHelper { IPOrg public ipOrg; IPOrgController public ipOrgController; ModuleRegistry public moduleRegistry; - ICollectModule public collectModule; RelationshipModule public relationshipModule; IPAssetRegistry public registry; StoryProtocol public spg;