From a703801d994c1e22b4353c667043a5a95cf50db5 Mon Sep 17 00:00:00 2001 From: "Jacob R. Nyquist" Date: Wed, 18 May 2022 23:16:18 -0400 Subject: [PATCH 1/2] fix warnings and tests --- lcov.info | 894 ++++++++++++++++++ src/HookERC721MultiVaultImplV1.sol | 2 +- ...> HookCoveredCallBiddingRevertTests.t.sol} | 2 +- ...l => HookCoveredCallIntegrationTest.t.sol} | 2 +- ...llTests.sol => HookCoveredCallTests.t.sol} | 84 +- ...ultTests.sol => HookMultiVaultTests.t.sol} | 24 +- ...ookVaultTests.sol => HookVaultTests.t.sol} | 103 +- src/test/utils/{base.sol => base.t.sol} | 0 src/test/utils/mocks/FlashLoan.sol | 6 +- 9 files changed, 966 insertions(+), 151 deletions(-) create mode 100644 lcov.info rename src/test/{HookCoveredCallBiddingRevertTests.sol => HookCoveredCallBiddingRevertTests.t.sol} (99%) rename src/test/{HookCoveredCallIntegrationTest.sol => HookCoveredCallIntegrationTest.t.sol} (99%) rename src/test/{HookCoveredCallTests.sol => HookCoveredCallTests.t.sol} (95%) rename src/test/{HookMultiVaultTests.sol => HookMultiVaultTests.t.sol} (97%) rename src/test/{HookVaultTests.sol => HookVaultTests.t.sol} (97%) rename src/test/utils/{base.sol => base.t.sol} (100%) diff --git a/lcov.info b/lcov.info new file mode 100644 index 0000000..46e42e6 --- /dev/null +++ b/lcov.info @@ -0,0 +1,894 @@ +TN: +SF:/Users/jake/code/protocol/lib/ds-test/src/test.sol +FN:0,fail +FNDA:0,fail +FN:0,assertTrue +FNDA:0,assertTrue +BRDA:0,0,0,- +FN:0,assertTrue +FNDA:0,assertTrue +BRDA:0,1,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,2,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,3,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,4,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,5,0,- +FN:0,assertEq32 +FNDA:0,assertEq32 +FN:0,assertEq32 +FNDA:0,assertEq32 +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,6,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,7,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,8,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,9,0,- +FN:0,assertEqDecimal +FNDA:0,assertEqDecimal +BRDA:0,10,0,- +FN:0,assertEqDecimal +FNDA:0,assertEqDecimal +BRDA:0,11,0,- +FN:0,assertEqDecimal +FNDA:0,assertEqDecimal +BRDA:0,12,0,- +FN:0,assertEqDecimal +FNDA:0,assertEqDecimal +BRDA:0,13,0,- +FN:0,assertGt +FNDA:0,assertGt +BRDA:0,14,0,- +FN:0,assertGt +FNDA:0,assertGt +BRDA:0,15,0,- +FN:0,assertGt +FNDA:0,assertGt +BRDA:0,16,0,- +FN:0,assertGt +FNDA:0,assertGt +BRDA:0,17,0,- +FN:0,assertGtDecimal +FNDA:0,assertGtDecimal +BRDA:0,18,0,- +FN:0,assertGtDecimal +FNDA:0,assertGtDecimal +BRDA:0,19,0,- +FN:0,assertGtDecimal +FNDA:0,assertGtDecimal +BRDA:0,20,0,- +FN:0,assertGtDecimal +FNDA:0,assertGtDecimal +BRDA:0,21,0,- +FN:0,assertGe +FNDA:0,assertGe +BRDA:0,22,0,- +FN:0,assertGe +FNDA:0,assertGe +BRDA:0,23,0,- +FN:0,assertGe +FNDA:0,assertGe +BRDA:0,24,0,- +FN:0,assertGe +FNDA:0,assertGe +BRDA:0,25,0,- +FN:0,assertGeDecimal +FNDA:0,assertGeDecimal +BRDA:0,26,0,- +FN:0,assertGeDecimal +FNDA:0,assertGeDecimal +BRDA:0,27,0,- +FN:0,assertGeDecimal +FNDA:0,assertGeDecimal +BRDA:0,28,0,- +FN:0,assertGeDecimal +FNDA:0,assertGeDecimal +BRDA:0,29,0,- +FN:0,assertLt +FNDA:0,assertLt +BRDA:0,30,0,- +FN:0,assertLt +FNDA:0,assertLt +BRDA:0,31,0,- +FN:0,assertLt +FNDA:0,assertLt +BRDA:0,32,0,- +FN:0,assertLt +FNDA:0,assertLt +BRDA:0,33,0,- +FN:0,assertLtDecimal +FNDA:0,assertLtDecimal +BRDA:0,34,0,- +FN:0,assertLtDecimal +FNDA:0,assertLtDecimal +BRDA:0,35,0,- +FN:0,assertLtDecimal +FNDA:0,assertLtDecimal +BRDA:0,36,0,- +FN:0,assertLtDecimal +FNDA:0,assertLtDecimal +BRDA:0,37,0,- +FN:0,assertLe +FNDA:0,assertLe +BRDA:0,38,0,- +FN:0,assertLe +FNDA:0,assertLe +BRDA:0,39,0,- +FN:0,assertLe +FNDA:0,assertLe +BRDA:0,40,0,- +FN:0,assertLe +FNDA:0,assertLe +BRDA:0,41,0,- +FN:0,assertLeDecimal +FNDA:0,assertLeDecimal +BRDA:0,42,0,- +FN:0,assertLeDecimal +FNDA:0,assertLeDecimal +BRDA:0,43,0,- +FN:0,assertLeDecimal +FNDA:0,assertLeDecimal +BRDA:0,44,0,- +FN:0,assertLeDecimal +FNDA:0,assertLeDecimal +BRDA:0,45,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,46,0,- +FN:0,assertEq +FNDA:0,assertEq +BRDA:0,47,0,- +FN:0,checkEq0 +FNDA:0,checkEq0 +BRDA:0,48,0,- +BRDA:0,49,0,- +BRDA:0,48,1,- +FN:0,assertEq0 +FNDA:0,assertEq0 +BRDA:0,50,0,- +FN:0,assertEq0 +FNDA:0,assertEq0 +BRDA:0,51,0,- +FNF:54 +FNH:0 +LF:0 +LH:0 +BRF:53 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/lib/openzepplin-contracts/contracts/proxy/beacon/BeaconProxy.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/lib/openzepplin-contracts/contracts/token/ERC721/ERC721.sol +FN:0, +FNDA:0, +FN:0,_checkOnERC721Received +FNDA:0,_checkOnERC721Received +BRDA:0,0,0,- +BRDA:0,0,1,- +FNF:2 +FNH:0 +LF:0 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookCoveredCall.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookCoveredCallBeacon.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookCoveredCallFactory.sol +FN:0, +FNDA:0, +FN:0,makeCallInstrument +FNDA:0,makeCallInstrument +FNF:2 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookCoveredCallImplV1.sol +FN:0, +FNDA:0, +FN:0,initialize +FNDA:0,initialize +FN:0,mintWithVault +FNDA:0,mintWithVault +FN:0,mintWithEntitledVault +FNDA:0,mintWithEntitledVault +FN:0,mintWithErc721 +FNDA:0,mintWithErc721 +FN:0,_mintOptionWithVault +FNDA:0,_mintOptionWithVault +BRDA:0,0,0,- +FN:0,bid +FNDA:0,bid +BRDA:0,1,0,- +FN:0,_returnBidToPreviousBidder +FNDA:0,_returnBidToPreviousBidder +BRDA:0,2,0,- +FN:0,currentBid +FNDA:0,currentBid +FN:0,currentBidder +FNDA:0,currentBidder +FN:0,settleOption +FNDA:0,settleOption +BRDA:0,3,0,- +BRDA:0,4,0,- +FN:0,reclaimAsset +FNDA:0,reclaimAsset +BRDA:0,5,0,- +BRDA:0,6,0,- +BRDA:0,7,0,- +BRDA:0,8,0,- +BRDA:0,9,0,- +BRDA:0,9,1,- +FN:0,setMinOptionDuration +FNDA:0,setMinOptionDuration +FN:0,setBidIncrement +FNDA:0,setBidIncrement +FN:0,setSettlementAuctionStartOffset +FNDA:0,setSettlementAuctionStartOffset +FN:0,setMarketPaused +FNDA:0,setMarketPaused +FN:0,tokenURI +FNDA:0,tokenURI +FN:0,_safeTransferETHWithFallback +FNDA:0,_safeTransferETHWithFallback +BRDA:0,10,0,- +FN:0,_safeTransferETH +FNDA:0,_safeTransferETH +FNF:19 +FNH:0 +LF:0 +LH:0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721MultiVault.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721MultiVaultBeacon.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721MultiVaultImplV1.sol +FN:0, +FNDA:0, +FN:0,initialize +FNDA:0,initialize +FN:0,withdrawalAsset +FNDA:0,withdrawalAsset +FN:0,imposeEntitlement +FNDA:0,imposeEntitlement +FN:0,grantEntitlement +FNDA:0,grantEntitlement +FN:0,flashLoan +FNDA:0,flashLoan +FN:0,entitlementExpiration +FNDA:0,entitlementExpiration +BRDA:0,0,0,- +BRDA:0,0,1,- +FN:0,getBeneficialOwner +FNDA:0,getBeneficialOwner +FN:0,getHoldsAsset +FNDA:0,getHoldsAsset +FN:0,assetAddress +FNDA:0,assetAddress +FN:0,assetTokenId +FNDA:0,assetTokenId +FN:0,setBeneficialOwner +FNDA:0,setBeneficialOwner +BRDA:0,1,0,- +BRDA:0,1,1,- +FN:0,clearEntitlement +FNDA:0,clearEntitlement +FN:0,clearEntitlementAndDistribute +FNDA:0,clearEntitlementAndDistribute +FN:0,getEntitlementHash +FNDA:0,getEntitlementHash +FN:0,validateEntitlementSignature +FNDA:0,validateEntitlementSignature +FN:0,_verifyAndRegisterEntitlement +FNDA:0,_verifyAndRegisterEntitlement +FN:0,_registerEntitlement +FNDA:0,_registerEntitlement +FN:0,_clearEntitlement +FNDA:0,_clearEntitlement +FN:0,hasActiveEntitlement +FNDA:0,hasActiveEntitlement +FN:0,getCurrentEntitlementOperator +FNDA:0,getCurrentEntitlementOperator +FN:0,_setBeneficialOwner +FNDA:0,_setBeneficialOwner +FNF:22 +FNH:0 +LF:0 +LH:0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721Vault.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721VaultBeacon.sol +FN:0, +FNDA:0, +FNF:1 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721VaultFactory.sol +FN:0, +FNDA:0, +FN:0,makeMultiVault +FNDA:0,makeMultiVault +FN:0,makeSoloVault +FNDA:0,makeSoloVault +FN:0,findOrCreateVault +FNDA:0,findOrCreateVault +BRDA:0,0,0,- +BRDA:0,1,0,- +FNF:4 +FNH:0 +LF:0 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookERC721VaultImplV1.sol +FN:0, +FNDA:0, +FN:0,initialize +FNDA:0,initialize +FN:0,withdrawalAsset +FNDA:0,withdrawalAsset +FN:0,imposeEntitlement +FNDA:0,imposeEntitlement +FN:0,grantEntitlement +FNDA:0,grantEntitlement +FN:0,flashLoan +FNDA:0,flashLoan +FN:0,entitlementExpiration +FNDA:0,entitlementExpiration +BRDA:0,0,0,- +BRDA:0,0,1,- +FN:0,getBeneficialOwner +FNDA:0,getBeneficialOwner +FN:0,getHoldsAsset +FNDA:0,getHoldsAsset +FN:0,assetAddress +FNDA:0,assetAddress +FN:0,assetTokenId +FNDA:0,assetTokenId +FN:0,setBeneficialOwner +FNDA:0,setBeneficialOwner +BRDA:0,1,0,- +BRDA:0,1,1,- +FN:0,clearEntitlement +FNDA:0,clearEntitlement +FN:0,clearEntitlementAndDistribute +FNDA:0,clearEntitlementAndDistribute +FN:0,getEntitlementHash +FNDA:0,getEntitlementHash +FN:0,validateEntitlementSignature +FNDA:0,validateEntitlementSignature +FN:0,_verifyAndRegisterEntitlement +FNDA:0,_verifyAndRegisterEntitlement +FN:0,_registerEntitlement +FNDA:0,_registerEntitlement +FN:0,_clearEntitlement +FNDA:0,_clearEntitlement +FN:0,hasActiveEntitlement +FNDA:0,hasActiveEntitlement +FN:0,getCurrentEntitlementOperator +FNDA:0,getCurrentEntitlementOperator +FN:0,_setBeneficialOwner +FNDA:0,_setBeneficialOwner +FNF:22 +FNH:0 +LF:0 +LH:0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookProtocol.sol +FN:0, +FNDA:0, +FN:0,setCollectionConfig +FNDA:0,setCollectionConfig +FN:0,getCollectionConfig +FNDA:0,getCollectionConfig +FN:0,throwWhenPaused +FNDA:0,throwWhenPaused +FN:0,unpause +FNDA:0,unpause +FN:0,pause +FNDA:0,pause +FN:0,setCoveredCallFactory +FNDA:0,setCoveredCallFactory +FN:0,setVaultFactory +FNDA:0,setVaultFactory +FNF:8 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/HookUpgradeableBeacon.sol +FN:0, +FNDA:0, +FN:0,_setImplementation +FNDA:0,_setImplementation +FNF:2 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/HookCoveredCallBiddingRevertTests.t.sol +FN:0,setUp +FNDA:0,setUp +FN:0,test_SuccessfulAuctionAndSettlement +FNDA:0,test_SuccessfulAuctionAndSettlement +FNF:2 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/HookCoveredCallIntegrationTest.t.sol +FN:0,setUp +FNDA:0,setUp +FN:0,test_MintOption +FNDA:0,test_MintOption +FN:0,testRevert_MintOptionMustBeOwnerOrOperator +FNDA:0,testRevert_MintOptionMustBeOwnerOrOperator +FN:0,testRevert_MintOptionExpirationMustBeMoreThan1DayInTheFuture +FNDA:0,testRevert_MintOptionExpirationMustBeMoreThan1DayInTheFuture +FN:0,test_SuccessfulAuctionAndSettlement +FNDA:0,test_SuccessfulAuctionAndSettlement +FN:0,test_NoSettlemetBidAssetReclaim +FNDA:0,test_NoSettlemetBidAssetReclaim +FN:0,test_NoSettlemetBidAssetEarlyReclaim +FNDA:0,test_NoSettlemetBidAssetEarlyReclaim +FN:0,test_NoSettlemetBidAssetRecaimFailRandomClaimer +FNDA:0,test_NoSettlemetBidAssetRecaimFailRandomClaimer +FN:0,test_WriterCannotStealBackAssetAfterExpiration +FNDA:0,test_WriterCannotStealBackAssetAfterExpiration +FN:0,test_ActiveSettlementBidAssetRecaimFail +FNDA:0,test_ActiveSettlementBidAssetRecaimFail +FNF:10 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/HookCoveredCallTests.t.sol +FN:0,setUp +FNDA:0,setUp +FN:0,testMintOption +FNDA:0,testMintOption +FN:0,test_MintOptionWithVault +FNDA:0,test_MintOptionWithVault +FN:0,test_MintOptionWithVaultFailsExpiration +FNDA:0,test_MintOptionWithVaultFailsExpiration +FN:0,test_MintOptionWithVaultFailsEmptyVault +FNDA:0,test_MintOptionWithVaultFailsEmptyVault +FN:0,test_MintOptionWithVaultFailsUnsupportedCollection +FNDA:0,test_MintOptionWithVaultFailsUnsupportedCollection +FN:0,testMintMultipleOptions +FNDA:0,testMintMultipleOptions +FN:0,testMintOptionAsOperator +FNDA:0,testMintOptionAsOperator +FN:0,testCannotMintOptionInvalidSignature +FNDA:0,testCannotMintOptionInvalidSignature +FN:0,testCannotMintOptionInvalidExpiration +FNDA:0,testCannotMintOptionInvalidExpiration +FN:0,testCannotMintOptionInvalidExpiration2 +FNDA:0,testCannotMintOptionInvalidExpiration2 +FN:0,testCanMintOptionShorterExpiration +FNDA:0,testCanMintOptionShorterExpiration +FN:0,testCannotMintOptionPaused +FNDA:0,testCannotMintOptionPaused +FN:0,testCannotMintOptionMarketPaused +FNDA:0,testCannotMintOptionMarketPaused +FN:0,testCannotMintOptionHookContractNotApproved +FNDA:0,testCannotMintOptionHookContractNotApproved +FN:0,testCannotMintOptionNotUnderlyingOwner +FNDA:0,testCannotMintOptionNotUnderlyingOwner +FN:0,testCannotMintMultipleOptionsSameToken +FNDA:0,testCannotMintMultipleOptionsSameToken +FN:0,testCannotMintMultipleOptionsSameTokenAsOperator +FNDA:0,testCannotMintMultipleOptionsSameTokenAsOperator +FN:0,testCannotMintMultipleOptionsSameTokenAsOwnerThenOperator +FNDA:0,testCannotMintMultipleOptionsSameTokenAsOwnerThenOperator +FN:0,testCannotMintOptionForUnallowedContract +FNDA:0,testCannotMintOptionForUnallowedContract +FN:0,testApprovalsForUnderlyingRemovedAfterOptionMint +FNDA:0,testApprovalsForUnderlyingRemovedAfterOptionMint +FN:0,setUp +FNDA:0,setUp +FN:0,testBidAsOwner +FNDA:0,testBidAsOwner +FN:0,testBidAsOperator +FNDA:0,testBidAsOperator +FN:0,testNewHighBidReturnOldHighBidTokens +FNDA:0,testNewHighBidReturnOldHighBidTokens +FN:0,testCannotBidBeforeAuctionStart +FNDA:0,testCannotBidBeforeAuctionStart +FN:0,testCannotBidAfterOptionExpired +FNDA:0,testCannotBidAfterOptionExpired +FN:0,testCannotBidLessThanStrikePrice +FNDA:0,testCannotBidLessThanStrikePrice +FN:0,testCannotBidLessThanCurrentBid +FNDA:0,testCannotBidLessThanCurrentBid +FN:0,testCannotBidLessThanCurrentIncrement +FNDA:0,testCannotBidLessThanCurrentIncrement +FN:0,testCanBidLessMoreThanCurrentIncrement +FNDA:0,testCanBidLessMoreThanCurrentIncrement +FN:0,testWriterCanBidOnSpread +FNDA:0,testWriterCanBidOnSpread +FN:0,testWriterCanOutbidOnSpread +FNDA:0,testWriterCanOutbidOnSpread +FN:0,testWriterCanOutbidSelfOnSpread +FNDA:0,testWriterCanOutbidSelfOnSpread +FN:0,setUp +FNDA:0,setUp +FN:0,testSettleOption +FNDA:0,testSettleOption +FN:0,testSettleOptionReturnNft +FNDA:0,testSettleOptionReturnNft +FN:0,testCannotSettleOptionNoWinningBid +FNDA:0,testCannotSettleOptionNoWinningBid +FN:0,testCannotSettleOptionBeforeExpiration +FNDA:0,testCannotSettleOptionBeforeExpiration +FN:0,testCannotSettleSettledOption +FNDA:0,testCannotSettleSettledOption +FN:0,testSettleOptionWhenWriterHighBidder +FNDA:0,testSettleOptionWhenWriterHighBidder +FN:0,testSettleOptionWhenWriterBidFirst +FNDA:0,testSettleOptionWhenWriterBidFirst +FN:0,testSettleOptionWhenWriterBidLast +FNDA:0,testSettleOptionWhenWriterBidLast +FN:0,testSettleOptionWhenWriterOutbid +FNDA:0,testSettleOptionWhenWriterOutbid +FN:0,setUp +FNDA:0,setUp +FN:0,testReclaimAsset +FNDA:0,testReclaimAsset +FN:0,testReclaimAssetReturnNft +FNDA:0,testReclaimAssetReturnNft +FN:0,testCannotReclaimAssetAsNonCallWriter +FNDA:0,testCannotReclaimAssetAsNonCallWriter +FN:0,testCannotReclaimFromSettledOption +FNDA:0,testCannotReclaimFromSettledOption +FN:0,testCannotReclaimWithActiveBid +FNDA:0,testCannotReclaimWithActiveBid +FN:0,testCannotReclaimBeforeExpiration +FNDA:0,testCannotReclaimBeforeExpiration +FN:0,testReclaimAssetWriterBidFirst +FNDA:0,testReclaimAssetWriterBidFirst +FN:0,testReclaimAssetWriterBidLast +FNDA:0,testReclaimAssetWriterBidLast +FN:0,testReclaimAssetWriterBidMultiple +FNDA:0,testReclaimAssetWriterBidMultiple +FNF:54 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/HookMultiVaultTests.t.sol +FN:0,setUp +FNDA:0,setUp +FN:0,createVaultandAsset +FNDA:0,createVaultandAsset +FN:0,makeEntitlementAndSignature +FNDA:0,makeEntitlementAndSignature +FN:0,testImposeEntitlmentOnTransferIn +FNDA:0,testImposeEntitlmentOnTransferIn +FN:0,testBasicFlashLoan +FNDA:0,testBasicFlashLoan +FN:0,testFlashLoanFailsIfDisabled +FNDA:0,testFlashLoanFailsIfDisabled +FN:0,testBasicFlashLoanAlternateApprove +FNDA:0,testBasicFlashLoanAlternateApprove +FN:0,testBasicFlashCantReturnFalse +FNDA:0,testBasicFlashCantReturnFalse +FN:0,testBasicFlashMustApprove +FNDA:0,testBasicFlashMustApprove +FN:0,testBasicFlashCantBurn +FNDA:0,testBasicFlashCantBurn +FN:0,testFlashCallData +FNDA:0,testFlashCallData +FN:0,testFlashWillRevert +FNDA:0,testFlashWillRevert +FN:0,testImposeEntitlementAfterInitialTransfer +FNDA:0,testImposeEntitlementAfterInitialTransfer +FN:0,testEntitlementGoesAwayAfterExpiration +FNDA:0,testEntitlementGoesAwayAfterExpiration +FN:0,testEntitlementCanBeClearedByOperator +FNDA:0,testEntitlementCanBeClearedByOperator +FN:0,testNewEntitlementPossibleAferExpiredEntitlement +FNDA:0,testNewEntitlementPossibleAferExpiredEntitlement +FN:0,testNewEntitlementPossibleAfterClearedEntitlement +FNDA:0,testNewEntitlementPossibleAfterClearedEntitlement +FN:0,testOnlyOneEntitlementAllowed +FNDA:0,testOnlyOneEntitlementAllowed +FN:0,testBeneficialOwnerCannotClearEntitlement +FNDA:0,testBeneficialOwnerCannotClearEntitlement +FN:0,testClearAndDistributeReturnsNFT2 +FNDA:0,testClearAndDistributeReturnsNFT2 +FN:0,testAirdropsCanBeDisbled +FNDA:0,testAirdropsCanBeDisbled +FN:0,testAirdropsAllowedWhenEnabled +FNDA:0,testAirdropsAllowedWhenEnabled +FN:0,testClearAndDistributeDoesNotReturnToWrongPerson +FNDA:0,testClearAndDistributeDoesNotReturnToWrongPerson +FNF:23 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/HookVaultTests.t.sol +FN:0,setUp +FNDA:0,setUp +FN:0,createVaultandAsset +FNDA:0,createVaultandAsset +FN:0,makeEntitlementAndSignature +FNDA:0,makeEntitlementAndSignature +FN:0,testBasicFlashLoan +FNDA:0,testBasicFlashLoan +FN:0,testFlashLoanFailsIfDisabled +FNDA:0,testFlashLoanFailsIfDisabled +FN:0,testBasicFlashLoanAlternateApprove +FNDA:0,testBasicFlashLoanAlternateApprove +FN:0,testBasicFlashCantReturnFalse +FNDA:0,testBasicFlashCantReturnFalse +FN:0,testBasicFlashMustApprove +FNDA:0,testBasicFlashMustApprove +FN:0,testBasicFlashCantBurn +FNDA:0,testBasicFlashCantBurn +FN:0,testFlashCallData +FNDA:0,testFlashCallData +FN:0,testFlashWillRevert +FNDA:0,testFlashWillRevert +FN:0,testImposeEntitlmentOnTransferIn +FNDA:0,testImposeEntitlmentOnTransferIn +FN:0,testImposeEntitlementAfterInitialTransfer +FNDA:0,testImposeEntitlementAfterInitialTransfer +FN:0,testEntitlementGoesAwayAfterExpiration +FNDA:0,testEntitlementGoesAwayAfterExpiration +FN:0,testEntitlementCanBeClearedByOperator +FNDA:0,testEntitlementCanBeClearedByOperator +FN:0,testNewEntitlementPossibleAferExpiredEntitlement +FNDA:0,testNewEntitlementPossibleAferExpiredEntitlement +FN:0,testNewEntitlementPossibleAfterClearedEntitlement +FNDA:0,testNewEntitlementPossibleAfterClearedEntitlement +FN:0,testOnlyOneEntitlementAllowed +FNDA:0,testOnlyOneEntitlementAllowed +FN:0,testBeneficialOwnerCannotClearEntitlement +FNDA:0,testBeneficialOwnerCannotClearEntitlement +FN:0,testClearAndDistributeReturnsNFT +FNDA:0,testClearAndDistributeReturnsNFT +FN:0,testAirdropsCanBeDisbled +FNDA:0,testAirdropsCanBeDisbled +FN:0,testAirdropsAllowedWhenEnabled +FNDA:0,testAirdropsAllowedWhenEnabled +FN:0,testClearAndDistributeDoesNotReturnToWrongPerson +FNDA:0,testClearAndDistributeDoesNotReturnToWrongPerson +FNF:23 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/utils/base.t.sol +FN:0,setUpAddresses +FNDA:0,setUpAddresses +FN:0,setUpFullProtocol +FNDA:0,setUpFullProtocol +FN:0,setUpMintOption +FNDA:0,setUpMintOption +FN:0,setUpOptionBids +FNDA:0,setUpOptionBids +FN:0,makeSignature +FNDA:0,makeSignature +FNF:5 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/utils/mocks/FlashLoan.sol +FN:0, +FNDA:0, +FN:0,executeOperation +FNDA:0,executeOperation +FN:0,onERC721Received +FNDA:0,onERC721Received +FN:0, +FNDA:0, +FN:0,executeOperation +FNDA:0,executeOperation +FN:0,onERC721Received +FNDA:0,onERC721Received +FN:0, +FNDA:0, +FN:0,executeOperation +FNDA:0,executeOperation +FN:0,onERC721Received +FNDA:0,onERC721Received +FN:0, +FNDA:0, +FN:0,executeOperation +FNDA:0,executeOperation +FN:0,onERC721Received +FNDA:0,onERC721Received +FN:0, +FNDA:0, +FN:0,executeOperation +FNDA:0,executeOperation +FN:0,onERC721Received +FNDA:0,onERC721Received +FN:0, +FNDA:0, +FN:0,executeOperation +FNDA:0,executeOperation +FN:0,onERC721Received +FNDA:0,onERC721Received +FNF:18 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/utils/mocks/MaliciousBidder.sol +FN:0, +FNDA:0, +FN:0,bid +FNDA:0,bid +FN:0, +FNDA:0, +FNF:3 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/utils/tokens/TestERC721.sol +FN:0, +FNDA:0, +FN:0,mint +FNDA:0,mint +FN:0,burn +FNDA:0,burn +FNF:3 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/jake/code/protocol/src/test/utils/tokens/WETH.sol +FN:0, +FNDA:0, +FN:0, +FNDA:0, +FN:0,deposit +FNDA:0,deposit +FN:0,withdraw +FNDA:0,withdraw +FN:0,totalSupply +FNDA:0,totalSupply +FN:0,approve +FNDA:0,approve +FN:0,transfer +FNDA:0,transfer +FN:0,transferFrom +FNDA:0,transferFrom +BRDA:0,0,0,- +FNF:8 +FNH:0 +LF:0 +LH:0 +BRF:1 +BRH:0 +end_of_record diff --git a/src/HookERC721MultiVaultImplV1.sol b/src/HookERC721MultiVaultImplV1.sol index 02a6041..da0ae7f 100644 --- a/src/HookERC721MultiVaultImplV1.sol +++ b/src/HookERC721MultiVaultImplV1.sol @@ -281,7 +281,7 @@ contract HookERC721MultiVaultImplV1 is /// @dev returns the underlying token ID for a given asset. In this case /// the tokenId == the assetId - function assetTokenId(uint256 assetId) external view returns (uint256) { + function assetTokenId(uint256 assetId) external pure returns (uint256) { return assetId; } diff --git a/src/test/HookCoveredCallBiddingRevertTests.sol b/src/test/HookCoveredCallBiddingRevertTests.t.sol similarity index 99% rename from src/test/HookCoveredCallBiddingRevertTests.sol rename to src/test/HookCoveredCallBiddingRevertTests.t.sol index 716b9dd..8bf3207 100644 --- a/src/test/HookCoveredCallBiddingRevertTests.sol +++ b/src/test/HookCoveredCallBiddingRevertTests.t.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.10; -import "./utils/base.sol"; +import "./utils/base.t.sol"; import "./utils/mocks/MaliciousBidder.sol"; // @dev these tests try cases where a bidder maliciously reverts on save. diff --git a/src/test/HookCoveredCallIntegrationTest.sol b/src/test/HookCoveredCallIntegrationTest.t.sol similarity index 99% rename from src/test/HookCoveredCallIntegrationTest.sol rename to src/test/HookCoveredCallIntegrationTest.t.sol index 8d418e5..0a1bbef 100644 --- a/src/test/HookCoveredCallIntegrationTest.sol +++ b/src/test/HookCoveredCallIntegrationTest.t.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.10; -import "./utils/base.sol"; +import "./utils/base.t.sol"; contract HookCoveredCallIntegrationTest is HookProtocolTest { function setUp() public { diff --git a/src/test/HookCoveredCallTests.sol b/src/test/HookCoveredCallTests.t.sol similarity index 95% rename from src/test/HookCoveredCallTests.sol rename to src/test/HookCoveredCallTests.t.sol index ba818e5..30fd810 100644 --- a/src/test/HookCoveredCallTests.sol +++ b/src/test/HookCoveredCallTests.t.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.10; import "ds-test/test.sol"; import "forge-std/Test.sol"; -import "./utils/base.sol"; +import "./utils/base.t.sol"; /// Mint /// contract HookCoveredCallMintTests is HookProtocolTest { @@ -120,13 +120,7 @@ contract HookCoveredCallMintTests is HookProtocolTest { vm.expectRevert( "_mintOptionWithVault -- expirationTime must be more than one day in the future time" ); - uint256 optionId = calls.mintWithVault( - address(vault), - 0, - 1000, - expiration, - sig - ); + calls.mintWithVault(address(vault), 0, 1000, expiration, sig); } function test_MintOptionWithVaultFailsEmptyVault() public { @@ -148,13 +142,7 @@ contract HookCoveredCallMintTests is HookProtocolTest { ); vm.expectRevert("mintWithVault-- asset must be in vault"); - uint256 optionId = calls.mintWithVault( - address(vault), - 0, - 1000, - expiration, - sig - ); + calls.mintWithVault(address(vault), 0, 1000, expiration, sig); } function test_MintOptionWithVaultFailsUnsupportedCollection() public { @@ -176,13 +164,7 @@ contract HookCoveredCallMintTests is HookProtocolTest { ); vm.expectRevert("mintWithVault -- token must be on the project allowlist"); - uint256 optionId = calls.mintWithVault( - address(vault), - 0, - 1000, - expiration, - sig - ); + calls.mintWithVault(address(vault), 0, 1000, expiration, sig); } function testMintMultipleOptions() public { @@ -193,11 +175,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { uint256 expiration = block.timestamp + 3 days; - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); vm.expectEmit(true, true, true, false); emit CallCreated( address(writer), @@ -320,11 +297,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { token.setApprovalForAll(address(calls), true); uint256 expiration = block.timestamp + 1 hours; - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); vm.expectRevert( "_mintOptionWithVault -- expirationTime must be more than one day in the future time" ); @@ -340,11 +312,7 @@ contract HookCoveredCallMintTests is HookProtocolTest { token.setApprovalForAll(address(calls), true); uint256 expiration = block.timestamp + 1 hours; - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); + vm.expectRevert( "_mintOptionWithVault -- expirationTime must be more than one day in the future time" ); @@ -360,12 +328,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { token.setApprovalForAll(address(calls), true); uint256 expiration = block.timestamp + 5 hours; - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); - calls.mintWithErc721(address(token), underlyingTokenId, 1000, expiration); } @@ -374,11 +336,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { protocol.pause(); uint256 expiration = block.timestamp + 3 days; - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); vm.expectRevert("Pausable: paused"); calls.mintWithErc721(address(token), underlyingTokenId, 1000, expiration); @@ -389,11 +346,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { callInternal.setMarketPaused(true); uint256 expiration = block.timestamp + 3 days; - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); vm.expectRevert("whenNotPaused -- market is paused"); calls.mintWithErc721(address(token), underlyingTokenId, 1000, expiration); @@ -476,11 +428,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { ); calls.mintWithErc721(address(token), underlyingTokenId, 1000, expiration); - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); // Vault is now owner of the underlying token so this fails. vm.expectRevert("mintWithErc721 -- caller must be token owner or operator"); calls.mintWithErc721(address(token), underlyingTokenId, 1000, expiration); @@ -512,11 +459,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { vm.stopPrank(); vm.startPrank(operator); - Signatures.Signature memory sig = makeSignature( - underlyingTokenId, - expiration, - writer - ); // Vault is now owner of the underlying token so this fails. vm.expectRevert("mintWithErc721 -- caller must be token owner or operator"); calls.mintWithErc721(address(token), underlyingTokenId, 1000, expiration); @@ -546,11 +488,6 @@ contract HookCoveredCallMintTests is HookProtocolTest { expiration ); - Signatures.Signature memory sig = makeSignature( - optionId, - expiration, - writer - ); // Minting should only work for TestERC721 vm.expectRevert("mintWithErc721 -- token must be on the project allowlist"); calls.mintWithErc721(address(calls), optionId, 1000, expiration); @@ -815,7 +752,6 @@ contract HookCoveredCallBidTests is HookProtocolTest { vm.deal(writer, 1 ether); uint256 firstBidderStartBalance = firstBidder.balance; - uint256 writerStartBalance = writer.balance; vm.warp(block.timestamp + 2.1 days); @@ -853,7 +789,6 @@ contract HookCoveredCallBidTests is HookProtocolTest { vm.deal(writer, 1 ether); uint256 firstBidderStartBalance = firstBidder.balance; - uint256 writerStartBalance = writer.balance; vm.warp(block.timestamp + 2.1 days); @@ -1304,9 +1239,6 @@ contract HookCoveredCallReclaimTests is HookProtocolTest { vm.deal(writer, 1 ether); vm.deal(firstBidder, 1 ether); - uint256 buyerStartBalance = buyer.balance; - uint256 writerStartBalance = writer.balance; - // Writer approve operator and covered call token.setApprovalForAll(address(calls), true); @@ -1355,9 +1287,6 @@ contract HookCoveredCallReclaimTests is HookProtocolTest { vm.deal(writer, 1 ether); vm.deal(firstBidder, 1 ether); - uint256 buyerStartBalance = buyer.balance; - uint256 writerStartBalance = writer.balance; - // Writer approve operator and covered call token.setApprovalForAll(address(calls), true); @@ -1407,9 +1336,6 @@ contract HookCoveredCallReclaimTests is HookProtocolTest { vm.deal(writer, 1 ether); vm.deal(firstBidder, 1 ether); - uint256 buyerStartBalance = buyer.balance; - uint256 writerStartBalance = writer.balance; - // Writer approve operator and covered call token.setApprovalForAll(address(calls), true); diff --git a/src/test/HookMultiVaultTests.sol b/src/test/HookMultiVaultTests.t.sol similarity index 97% rename from src/test/HookMultiVaultTests.sol rename to src/test/HookMultiVaultTests.t.sol index 8553f3d..082fb9e 100644 --- a/src/test/HookMultiVaultTests.sol +++ b/src/test/HookMultiVaultTests.t.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.10; import "ds-test/test.sol"; import "forge-std/Test.sol"; -import "./utils/base.sol"; +import "./utils/base.t.sol"; import "../interfaces/IHookERC721VaultFactory.sol"; import "../lib/Entitlements.sol"; @@ -32,9 +32,7 @@ contract HookMultiVaultTests is HookProtocolTest { tokenId = tokenStartIndex; token.mint(address(writer), tokenId); vault.makeMultiVault(address(token)); - address vaultAddress = address( - vault.findOrCreateVault(address(token), tokenId) - ); + vaultAddress = address(vault.findOrCreateVault(address(token), tokenId)); vm.stopPrank(); return (vaultAddress, tokenId); } @@ -54,7 +52,7 @@ contract HookMultiVaultTests is HookProtocolTest { { address ownerAdd = vm.addr(writerpkey); - Entitlements.Entitlement memory entitlement = Entitlements.Entitlement({ + entitlement = Entitlements.Entitlement({ beneficialOwner: ownerAdd, operator: operator, vaultAddress: vaultAddress, @@ -568,9 +566,7 @@ contract HookMultiVaultTests is HookProtocolTest { vm.prank(mockContract); vaultImpl.clearEntitlement(tokenId); - (bool active, address operator) = vaultImpl.getCurrentEntitlementOperator( - tokenId - ); + (bool active, ) = vaultImpl.getCurrentEntitlementOperator(tokenId); assertTrue(!active, "there should not be an active entitlement"); // check that the owner can actually withdrawl @@ -723,9 +719,7 @@ contract HookMultiVaultTests is HookProtocolTest { IHookERC721Vault vaultImpl = IHookERC721Vault(vaultAddress); address mockContract2 = address(35553445); - (bool active, address operator) = vaultImpl.getCurrentEntitlementOperator( - tokenId - ); + (bool active, ) = vaultImpl.getCurrentEntitlementOperator(tokenId); assertTrue(active, "there should be an active entitlement"); uint256 expiration2 = block.timestamp + 3 days; @@ -776,9 +770,7 @@ contract HookMultiVaultTests is HookProtocolTest { ); IHookERC721Vault vaultImpl = IHookERC721Vault(vaultAddress); - (bool active, address operator) = vaultImpl.getCurrentEntitlementOperator( - tokenId - ); + (bool active, ) = vaultImpl.getCurrentEntitlementOperator(tokenId); assertTrue(active, "there should be an active entitlement"); vm.prank(writer); @@ -834,7 +826,7 @@ contract HookMultiVaultTests is HookProtocolTest { } function testAirdropsCanBeDisbled() public { - (address vaultAddress, uint256 tokenId) = createVaultandAsset(); + (address vaultAddress, ) = createVaultandAsset(); vm.prank(admin); protocol.setCollectionConfig( @@ -851,7 +843,7 @@ contract HookMultiVaultTests is HookProtocolTest { } function testAirdropsAllowedWhenEnabled() public { - (address vaultAddress, uint256 tokenId) = createVaultandAsset(); + (address vaultAddress, ) = createVaultandAsset(); vm.prank(admin); protocol.setCollectionConfig( diff --git a/src/test/HookVaultTests.sol b/src/test/HookVaultTests.t.sol similarity index 97% rename from src/test/HookVaultTests.sol rename to src/test/HookVaultTests.t.sol index 4384a9e..e20d108 100644 --- a/src/test/HookVaultTests.sol +++ b/src/test/HookVaultTests.t.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.10; import "ds-test/test.sol"; import "forge-std/Test.sol"; -import "./utils/base.sol"; +import "./utils/base.t.sol"; import "../interfaces/IHookERC721VaultFactory.sol"; import "../lib/Entitlements.sol"; @@ -13,7 +13,7 @@ import "../mixin/EIP712.sol"; import "./utils/mocks/FlashLoan.sol"; -contract HookVaultTests is HookProtocolTest { +contract HookVaultTestsBase is HookProtocolTest { IHookERC721VaultFactory vault; uint256 tokenStartIndex = 300; @@ -31,12 +31,9 @@ contract HookVaultTests is HookProtocolTest { tokenStartIndex += 1; tokenId = tokenStartIndex; token.mint(address(writer), tokenId); - IHookERC721Vault vaultAddress = vault.findOrCreateVault( - address(token), - tokenId - ); + vaultAddress = address(vault.findOrCreateVault(address(token), tokenId)); vm.stopPrank(); - return (address(vaultAddress), tokenId); + return (vaultAddress, tokenId); } function makeEntitlementAndSignature( @@ -53,7 +50,7 @@ contract HookVaultTests is HookProtocolTest { { address ownerAdd = vm.addr(writerpkey); - Entitlements.Entitlement memory entitlement = Entitlements.Entitlement({ + entitlement = Entitlements.Entitlement({ beneficialOwner: ownerAdd, operator: operator, vaultAddress: vaultAddress, @@ -76,47 +73,9 @@ contract HookVaultTests is HookProtocolTest { }); return (entitlement, sig); } +} - function testImposeEntitlmentOnTransferIn() public { - (address vaultAddress, uint256 tokenId) = createVaultandAsset(); - - address mockContract = address(69); - uint256 expiration = block.timestamp + 1 days; - - ( - Entitlements.Entitlement memory entitlement, - Signatures.Signature memory sig - ) = makeEntitlementAndSignature( - writerpkey, - mockContract, - vaultAddress, - expiration - ); - - vm.prank(writer); - - token.safeTransferFrom( - writer, - vaultAddress, - tokenId, - abi.encode(entitlement, sig) - ); - - HookERC721VaultImplV1 vaultImpl = HookERC721VaultImplV1(vaultAddress); - assertTrue( - vaultImpl.getHoldsAsset(0), - "the token should be owned by the vault" - ); - assertTrue( - vaultImpl.getBeneficialOwner(0) == writer, - "writer should be the beneficial owner" - ); - assertTrue( - vaultImpl.hasActiveEntitlement(), - "there should be an active entitlement" - ); - } - +contract HookVaultTestFlash is HookVaultTestsBase { function testBasicFlashLoan() public { (address vaultAddress, uint256 tokenId) = createVaultandAsset(); @@ -419,6 +378,48 @@ contract HookVaultTests is HookProtocolTest { "good flashloan should work" ); } +} + +contract HookVaultTestEntitlement is HookVaultTestsBase { + function testImposeEntitlmentOnTransferIn() public { + (address vaultAddress, uint256 tokenId) = createVaultandAsset(); + + address mockContract = address(69); + uint256 expiration = block.timestamp + 1 days; + + ( + Entitlements.Entitlement memory entitlement, + Signatures.Signature memory sig + ) = makeEntitlementAndSignature( + writerpkey, + mockContract, + vaultAddress, + expiration + ); + + vm.prank(writer); + + token.safeTransferFrom( + writer, + vaultAddress, + tokenId, + abi.encode(entitlement, sig) + ); + + HookERC721VaultImplV1 vaultImpl = HookERC721VaultImplV1(vaultAddress); + assertTrue( + vaultImpl.getHoldsAsset(0), + "the token should be owned by the vault" + ); + assertTrue( + vaultImpl.getBeneficialOwner(0) == writer, + "writer should be the beneficial owner" + ); + assertTrue( + vaultImpl.hasActiveEntitlement(), + "there should be an active entitlement" + ); + } function testImposeEntitlementAfterInitialTransfer() public { (address vaultAddress, uint256 tokenId) = createVaultandAsset(); @@ -773,7 +774,9 @@ contract HookVaultTests is HookProtocolTest { ); vaultImpl.clearEntitlement(0); } +} +contract HookVaultTestsDistribution is HookVaultTestsBase { function testClearAndDistributeReturnsNFT() public { (address vaultAddress, uint256 tokenId) = createVaultandAsset(); @@ -814,7 +817,7 @@ contract HookVaultTests is HookProtocolTest { } function testAirdropsCanBeDisbled() public { - (address vaultAddress, uint256 tokenId) = createVaultandAsset(); + (address vaultAddress, ) = createVaultandAsset(); vm.prank(admin); protocol.setCollectionConfig( @@ -831,7 +834,7 @@ contract HookVaultTests is HookProtocolTest { } function testAirdropsAllowedWhenEnabled() public { - (address vaultAddress, uint256 tokenId) = createVaultandAsset(); + (address vaultAddress, ) = createVaultandAsset(); vm.prank(admin); protocol.setCollectionConfig( diff --git a/src/test/utils/base.sol b/src/test/utils/base.t.sol similarity index 100% rename from src/test/utils/base.sol rename to src/test/utils/base.t.sol diff --git a/src/test/utils/mocks/FlashLoan.sol b/src/test/utils/mocks/FlashLoan.sol index bfb73f8..6d2f0a1 100644 --- a/src/test/utils/mocks/FlashLoan.sol +++ b/src/test/utils/mocks/FlashLoan.sol @@ -35,9 +35,9 @@ contract FlashLoanDoesNotApprove is IERC721FlashLoanReceiver { address nftContract, uint256 tokenId, address, - address vault, + address, bytes calldata - ) external returns (bool) { + ) external view returns (bool) { // skip this: // IERC721(nftContract).approve(vault, tokenId); return IERC721(nftContract).ownerOf(tokenId) == address(this); @@ -131,7 +131,7 @@ contract FlashLoanVerifyCalldata is IERC721FlashLoanReceiver { function executeOperation( address nftContract, - uint256 tokenId, + uint256, address, address vault, bytes calldata params From e77ac194886df809e900e24873267a7d261be4f0 Mon Sep 17 00:00:00 2001 From: "Jacob R. Nyquist" Date: Thu, 19 May 2022 01:12:13 -0400 Subject: [PATCH 2/2] forge install: solmate v6 --- lcov.info | 894 ---------------------------------------------------- lib/solmate | 1 + 2 files changed, 1 insertion(+), 894 deletions(-) delete mode 100644 lcov.info create mode 160000 lib/solmate diff --git a/lcov.info b/lcov.info deleted file mode 100644 index 46e42e6..0000000 --- a/lcov.info +++ /dev/null @@ -1,894 +0,0 @@ -TN: -SF:/Users/jake/code/protocol/lib/ds-test/src/test.sol -FN:0,fail -FNDA:0,fail -FN:0,assertTrue -FNDA:0,assertTrue -BRDA:0,0,0,- -FN:0,assertTrue -FNDA:0,assertTrue -BRDA:0,1,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,2,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,3,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,4,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,5,0,- -FN:0,assertEq32 -FNDA:0,assertEq32 -FN:0,assertEq32 -FNDA:0,assertEq32 -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,6,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,7,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,8,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,9,0,- -FN:0,assertEqDecimal -FNDA:0,assertEqDecimal -BRDA:0,10,0,- -FN:0,assertEqDecimal -FNDA:0,assertEqDecimal -BRDA:0,11,0,- -FN:0,assertEqDecimal -FNDA:0,assertEqDecimal -BRDA:0,12,0,- -FN:0,assertEqDecimal -FNDA:0,assertEqDecimal -BRDA:0,13,0,- -FN:0,assertGt -FNDA:0,assertGt -BRDA:0,14,0,- -FN:0,assertGt -FNDA:0,assertGt -BRDA:0,15,0,- -FN:0,assertGt -FNDA:0,assertGt -BRDA:0,16,0,- -FN:0,assertGt -FNDA:0,assertGt -BRDA:0,17,0,- -FN:0,assertGtDecimal -FNDA:0,assertGtDecimal -BRDA:0,18,0,- -FN:0,assertGtDecimal -FNDA:0,assertGtDecimal -BRDA:0,19,0,- -FN:0,assertGtDecimal -FNDA:0,assertGtDecimal -BRDA:0,20,0,- -FN:0,assertGtDecimal -FNDA:0,assertGtDecimal -BRDA:0,21,0,- -FN:0,assertGe -FNDA:0,assertGe -BRDA:0,22,0,- -FN:0,assertGe -FNDA:0,assertGe -BRDA:0,23,0,- -FN:0,assertGe -FNDA:0,assertGe -BRDA:0,24,0,- -FN:0,assertGe -FNDA:0,assertGe -BRDA:0,25,0,- -FN:0,assertGeDecimal -FNDA:0,assertGeDecimal -BRDA:0,26,0,- -FN:0,assertGeDecimal -FNDA:0,assertGeDecimal -BRDA:0,27,0,- -FN:0,assertGeDecimal -FNDA:0,assertGeDecimal -BRDA:0,28,0,- -FN:0,assertGeDecimal -FNDA:0,assertGeDecimal -BRDA:0,29,0,- -FN:0,assertLt -FNDA:0,assertLt -BRDA:0,30,0,- -FN:0,assertLt -FNDA:0,assertLt -BRDA:0,31,0,- -FN:0,assertLt -FNDA:0,assertLt -BRDA:0,32,0,- -FN:0,assertLt -FNDA:0,assertLt -BRDA:0,33,0,- -FN:0,assertLtDecimal -FNDA:0,assertLtDecimal -BRDA:0,34,0,- -FN:0,assertLtDecimal -FNDA:0,assertLtDecimal -BRDA:0,35,0,- -FN:0,assertLtDecimal -FNDA:0,assertLtDecimal -BRDA:0,36,0,- -FN:0,assertLtDecimal -FNDA:0,assertLtDecimal -BRDA:0,37,0,- -FN:0,assertLe -FNDA:0,assertLe -BRDA:0,38,0,- -FN:0,assertLe -FNDA:0,assertLe -BRDA:0,39,0,- -FN:0,assertLe -FNDA:0,assertLe -BRDA:0,40,0,- -FN:0,assertLe -FNDA:0,assertLe -BRDA:0,41,0,- -FN:0,assertLeDecimal -FNDA:0,assertLeDecimal -BRDA:0,42,0,- -FN:0,assertLeDecimal -FNDA:0,assertLeDecimal -BRDA:0,43,0,- -FN:0,assertLeDecimal -FNDA:0,assertLeDecimal -BRDA:0,44,0,- -FN:0,assertLeDecimal -FNDA:0,assertLeDecimal -BRDA:0,45,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,46,0,- -FN:0,assertEq -FNDA:0,assertEq -BRDA:0,47,0,- -FN:0,checkEq0 -FNDA:0,checkEq0 -BRDA:0,48,0,- -BRDA:0,49,0,- -BRDA:0,48,1,- -FN:0,assertEq0 -FNDA:0,assertEq0 -BRDA:0,50,0,- -FN:0,assertEq0 -FNDA:0,assertEq0 -BRDA:0,51,0,- -FNF:54 -FNH:0 -LF:0 -LH:0 -BRF:53 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/lib/openzepplin-contracts/contracts/proxy/beacon/BeaconProxy.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/lib/openzepplin-contracts/contracts/token/ERC721/ERC721.sol -FN:0, -FNDA:0, -FN:0,_checkOnERC721Received -FNDA:0,_checkOnERC721Received -BRDA:0,0,0,- -BRDA:0,0,1,- -FNF:2 -FNH:0 -LF:0 -LH:0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookCoveredCall.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookCoveredCallBeacon.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookCoveredCallFactory.sol -FN:0, -FNDA:0, -FN:0,makeCallInstrument -FNDA:0,makeCallInstrument -FNF:2 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookCoveredCallImplV1.sol -FN:0, -FNDA:0, -FN:0,initialize -FNDA:0,initialize -FN:0,mintWithVault -FNDA:0,mintWithVault -FN:0,mintWithEntitledVault -FNDA:0,mintWithEntitledVault -FN:0,mintWithErc721 -FNDA:0,mintWithErc721 -FN:0,_mintOptionWithVault -FNDA:0,_mintOptionWithVault -BRDA:0,0,0,- -FN:0,bid -FNDA:0,bid -BRDA:0,1,0,- -FN:0,_returnBidToPreviousBidder -FNDA:0,_returnBidToPreviousBidder -BRDA:0,2,0,- -FN:0,currentBid -FNDA:0,currentBid -FN:0,currentBidder -FNDA:0,currentBidder -FN:0,settleOption -FNDA:0,settleOption -BRDA:0,3,0,- -BRDA:0,4,0,- -FN:0,reclaimAsset -FNDA:0,reclaimAsset -BRDA:0,5,0,- -BRDA:0,6,0,- -BRDA:0,7,0,- -BRDA:0,8,0,- -BRDA:0,9,0,- -BRDA:0,9,1,- -FN:0,setMinOptionDuration -FNDA:0,setMinOptionDuration -FN:0,setBidIncrement -FNDA:0,setBidIncrement -FN:0,setSettlementAuctionStartOffset -FNDA:0,setSettlementAuctionStartOffset -FN:0,setMarketPaused -FNDA:0,setMarketPaused -FN:0,tokenURI -FNDA:0,tokenURI -FN:0,_safeTransferETHWithFallback -FNDA:0,_safeTransferETHWithFallback -BRDA:0,10,0,- -FN:0,_safeTransferETH -FNDA:0,_safeTransferETH -FNF:19 -FNH:0 -LF:0 -LH:0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721MultiVault.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721MultiVaultBeacon.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721MultiVaultImplV1.sol -FN:0, -FNDA:0, -FN:0,initialize -FNDA:0,initialize -FN:0,withdrawalAsset -FNDA:0,withdrawalAsset -FN:0,imposeEntitlement -FNDA:0,imposeEntitlement -FN:0,grantEntitlement -FNDA:0,grantEntitlement -FN:0,flashLoan -FNDA:0,flashLoan -FN:0,entitlementExpiration -FNDA:0,entitlementExpiration -BRDA:0,0,0,- -BRDA:0,0,1,- -FN:0,getBeneficialOwner -FNDA:0,getBeneficialOwner -FN:0,getHoldsAsset -FNDA:0,getHoldsAsset -FN:0,assetAddress -FNDA:0,assetAddress -FN:0,assetTokenId -FNDA:0,assetTokenId -FN:0,setBeneficialOwner -FNDA:0,setBeneficialOwner -BRDA:0,1,0,- -BRDA:0,1,1,- -FN:0,clearEntitlement -FNDA:0,clearEntitlement -FN:0,clearEntitlementAndDistribute -FNDA:0,clearEntitlementAndDistribute -FN:0,getEntitlementHash -FNDA:0,getEntitlementHash -FN:0,validateEntitlementSignature -FNDA:0,validateEntitlementSignature -FN:0,_verifyAndRegisterEntitlement -FNDA:0,_verifyAndRegisterEntitlement -FN:0,_registerEntitlement -FNDA:0,_registerEntitlement -FN:0,_clearEntitlement -FNDA:0,_clearEntitlement -FN:0,hasActiveEntitlement -FNDA:0,hasActiveEntitlement -FN:0,getCurrentEntitlementOperator -FNDA:0,getCurrentEntitlementOperator -FN:0,_setBeneficialOwner -FNDA:0,_setBeneficialOwner -FNF:22 -FNH:0 -LF:0 -LH:0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721Vault.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721VaultBeacon.sol -FN:0, -FNDA:0, -FNF:1 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721VaultFactory.sol -FN:0, -FNDA:0, -FN:0,makeMultiVault -FNDA:0,makeMultiVault -FN:0,makeSoloVault -FNDA:0,makeSoloVault -FN:0,findOrCreateVault -FNDA:0,findOrCreateVault -BRDA:0,0,0,- -BRDA:0,1,0,- -FNF:4 -FNH:0 -LF:0 -LH:0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookERC721VaultImplV1.sol -FN:0, -FNDA:0, -FN:0,initialize -FNDA:0,initialize -FN:0,withdrawalAsset -FNDA:0,withdrawalAsset -FN:0,imposeEntitlement -FNDA:0,imposeEntitlement -FN:0,grantEntitlement -FNDA:0,grantEntitlement -FN:0,flashLoan -FNDA:0,flashLoan -FN:0,entitlementExpiration -FNDA:0,entitlementExpiration -BRDA:0,0,0,- -BRDA:0,0,1,- -FN:0,getBeneficialOwner -FNDA:0,getBeneficialOwner -FN:0,getHoldsAsset -FNDA:0,getHoldsAsset -FN:0,assetAddress -FNDA:0,assetAddress -FN:0,assetTokenId -FNDA:0,assetTokenId -FN:0,setBeneficialOwner -FNDA:0,setBeneficialOwner -BRDA:0,1,0,- -BRDA:0,1,1,- -FN:0,clearEntitlement -FNDA:0,clearEntitlement -FN:0,clearEntitlementAndDistribute -FNDA:0,clearEntitlementAndDistribute -FN:0,getEntitlementHash -FNDA:0,getEntitlementHash -FN:0,validateEntitlementSignature -FNDA:0,validateEntitlementSignature -FN:0,_verifyAndRegisterEntitlement -FNDA:0,_verifyAndRegisterEntitlement -FN:0,_registerEntitlement -FNDA:0,_registerEntitlement -FN:0,_clearEntitlement -FNDA:0,_clearEntitlement -FN:0,hasActiveEntitlement -FNDA:0,hasActiveEntitlement -FN:0,getCurrentEntitlementOperator -FNDA:0,getCurrentEntitlementOperator -FN:0,_setBeneficialOwner -FNDA:0,_setBeneficialOwner -FNF:22 -FNH:0 -LF:0 -LH:0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookProtocol.sol -FN:0, -FNDA:0, -FN:0,setCollectionConfig -FNDA:0,setCollectionConfig -FN:0,getCollectionConfig -FNDA:0,getCollectionConfig -FN:0,throwWhenPaused -FNDA:0,throwWhenPaused -FN:0,unpause -FNDA:0,unpause -FN:0,pause -FNDA:0,pause -FN:0,setCoveredCallFactory -FNDA:0,setCoveredCallFactory -FN:0,setVaultFactory -FNDA:0,setVaultFactory -FNF:8 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/HookUpgradeableBeacon.sol -FN:0, -FNDA:0, -FN:0,_setImplementation -FNDA:0,_setImplementation -FNF:2 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/HookCoveredCallBiddingRevertTests.t.sol -FN:0,setUp -FNDA:0,setUp -FN:0,test_SuccessfulAuctionAndSettlement -FNDA:0,test_SuccessfulAuctionAndSettlement -FNF:2 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/HookCoveredCallIntegrationTest.t.sol -FN:0,setUp -FNDA:0,setUp -FN:0,test_MintOption -FNDA:0,test_MintOption -FN:0,testRevert_MintOptionMustBeOwnerOrOperator -FNDA:0,testRevert_MintOptionMustBeOwnerOrOperator -FN:0,testRevert_MintOptionExpirationMustBeMoreThan1DayInTheFuture -FNDA:0,testRevert_MintOptionExpirationMustBeMoreThan1DayInTheFuture -FN:0,test_SuccessfulAuctionAndSettlement -FNDA:0,test_SuccessfulAuctionAndSettlement -FN:0,test_NoSettlemetBidAssetReclaim -FNDA:0,test_NoSettlemetBidAssetReclaim -FN:0,test_NoSettlemetBidAssetEarlyReclaim -FNDA:0,test_NoSettlemetBidAssetEarlyReclaim -FN:0,test_NoSettlemetBidAssetRecaimFailRandomClaimer -FNDA:0,test_NoSettlemetBidAssetRecaimFailRandomClaimer -FN:0,test_WriterCannotStealBackAssetAfterExpiration -FNDA:0,test_WriterCannotStealBackAssetAfterExpiration -FN:0,test_ActiveSettlementBidAssetRecaimFail -FNDA:0,test_ActiveSettlementBidAssetRecaimFail -FNF:10 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/HookCoveredCallTests.t.sol -FN:0,setUp -FNDA:0,setUp -FN:0,testMintOption -FNDA:0,testMintOption -FN:0,test_MintOptionWithVault -FNDA:0,test_MintOptionWithVault -FN:0,test_MintOptionWithVaultFailsExpiration -FNDA:0,test_MintOptionWithVaultFailsExpiration -FN:0,test_MintOptionWithVaultFailsEmptyVault -FNDA:0,test_MintOptionWithVaultFailsEmptyVault -FN:0,test_MintOptionWithVaultFailsUnsupportedCollection -FNDA:0,test_MintOptionWithVaultFailsUnsupportedCollection -FN:0,testMintMultipleOptions -FNDA:0,testMintMultipleOptions -FN:0,testMintOptionAsOperator -FNDA:0,testMintOptionAsOperator -FN:0,testCannotMintOptionInvalidSignature -FNDA:0,testCannotMintOptionInvalidSignature -FN:0,testCannotMintOptionInvalidExpiration -FNDA:0,testCannotMintOptionInvalidExpiration -FN:0,testCannotMintOptionInvalidExpiration2 -FNDA:0,testCannotMintOptionInvalidExpiration2 -FN:0,testCanMintOptionShorterExpiration -FNDA:0,testCanMintOptionShorterExpiration -FN:0,testCannotMintOptionPaused -FNDA:0,testCannotMintOptionPaused -FN:0,testCannotMintOptionMarketPaused -FNDA:0,testCannotMintOptionMarketPaused -FN:0,testCannotMintOptionHookContractNotApproved -FNDA:0,testCannotMintOptionHookContractNotApproved -FN:0,testCannotMintOptionNotUnderlyingOwner -FNDA:0,testCannotMintOptionNotUnderlyingOwner -FN:0,testCannotMintMultipleOptionsSameToken -FNDA:0,testCannotMintMultipleOptionsSameToken -FN:0,testCannotMintMultipleOptionsSameTokenAsOperator -FNDA:0,testCannotMintMultipleOptionsSameTokenAsOperator -FN:0,testCannotMintMultipleOptionsSameTokenAsOwnerThenOperator -FNDA:0,testCannotMintMultipleOptionsSameTokenAsOwnerThenOperator -FN:0,testCannotMintOptionForUnallowedContract -FNDA:0,testCannotMintOptionForUnallowedContract -FN:0,testApprovalsForUnderlyingRemovedAfterOptionMint -FNDA:0,testApprovalsForUnderlyingRemovedAfterOptionMint -FN:0,setUp -FNDA:0,setUp -FN:0,testBidAsOwner -FNDA:0,testBidAsOwner -FN:0,testBidAsOperator -FNDA:0,testBidAsOperator -FN:0,testNewHighBidReturnOldHighBidTokens -FNDA:0,testNewHighBidReturnOldHighBidTokens -FN:0,testCannotBidBeforeAuctionStart -FNDA:0,testCannotBidBeforeAuctionStart -FN:0,testCannotBidAfterOptionExpired -FNDA:0,testCannotBidAfterOptionExpired -FN:0,testCannotBidLessThanStrikePrice -FNDA:0,testCannotBidLessThanStrikePrice -FN:0,testCannotBidLessThanCurrentBid -FNDA:0,testCannotBidLessThanCurrentBid -FN:0,testCannotBidLessThanCurrentIncrement -FNDA:0,testCannotBidLessThanCurrentIncrement -FN:0,testCanBidLessMoreThanCurrentIncrement -FNDA:0,testCanBidLessMoreThanCurrentIncrement -FN:0,testWriterCanBidOnSpread -FNDA:0,testWriterCanBidOnSpread -FN:0,testWriterCanOutbidOnSpread -FNDA:0,testWriterCanOutbidOnSpread -FN:0,testWriterCanOutbidSelfOnSpread -FNDA:0,testWriterCanOutbidSelfOnSpread -FN:0,setUp -FNDA:0,setUp -FN:0,testSettleOption -FNDA:0,testSettleOption -FN:0,testSettleOptionReturnNft -FNDA:0,testSettleOptionReturnNft -FN:0,testCannotSettleOptionNoWinningBid -FNDA:0,testCannotSettleOptionNoWinningBid -FN:0,testCannotSettleOptionBeforeExpiration -FNDA:0,testCannotSettleOptionBeforeExpiration -FN:0,testCannotSettleSettledOption -FNDA:0,testCannotSettleSettledOption -FN:0,testSettleOptionWhenWriterHighBidder -FNDA:0,testSettleOptionWhenWriterHighBidder -FN:0,testSettleOptionWhenWriterBidFirst -FNDA:0,testSettleOptionWhenWriterBidFirst -FN:0,testSettleOptionWhenWriterBidLast -FNDA:0,testSettleOptionWhenWriterBidLast -FN:0,testSettleOptionWhenWriterOutbid -FNDA:0,testSettleOptionWhenWriterOutbid -FN:0,setUp -FNDA:0,setUp -FN:0,testReclaimAsset -FNDA:0,testReclaimAsset -FN:0,testReclaimAssetReturnNft -FNDA:0,testReclaimAssetReturnNft -FN:0,testCannotReclaimAssetAsNonCallWriter -FNDA:0,testCannotReclaimAssetAsNonCallWriter -FN:0,testCannotReclaimFromSettledOption -FNDA:0,testCannotReclaimFromSettledOption -FN:0,testCannotReclaimWithActiveBid -FNDA:0,testCannotReclaimWithActiveBid -FN:0,testCannotReclaimBeforeExpiration -FNDA:0,testCannotReclaimBeforeExpiration -FN:0,testReclaimAssetWriterBidFirst -FNDA:0,testReclaimAssetWriterBidFirst -FN:0,testReclaimAssetWriterBidLast -FNDA:0,testReclaimAssetWriterBidLast -FN:0,testReclaimAssetWriterBidMultiple -FNDA:0,testReclaimAssetWriterBidMultiple -FNF:54 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/HookMultiVaultTests.t.sol -FN:0,setUp -FNDA:0,setUp -FN:0,createVaultandAsset -FNDA:0,createVaultandAsset -FN:0,makeEntitlementAndSignature -FNDA:0,makeEntitlementAndSignature -FN:0,testImposeEntitlmentOnTransferIn -FNDA:0,testImposeEntitlmentOnTransferIn -FN:0,testBasicFlashLoan -FNDA:0,testBasicFlashLoan -FN:0,testFlashLoanFailsIfDisabled -FNDA:0,testFlashLoanFailsIfDisabled -FN:0,testBasicFlashLoanAlternateApprove -FNDA:0,testBasicFlashLoanAlternateApprove -FN:0,testBasicFlashCantReturnFalse -FNDA:0,testBasicFlashCantReturnFalse -FN:0,testBasicFlashMustApprove -FNDA:0,testBasicFlashMustApprove -FN:0,testBasicFlashCantBurn -FNDA:0,testBasicFlashCantBurn -FN:0,testFlashCallData -FNDA:0,testFlashCallData -FN:0,testFlashWillRevert -FNDA:0,testFlashWillRevert -FN:0,testImposeEntitlementAfterInitialTransfer -FNDA:0,testImposeEntitlementAfterInitialTransfer -FN:0,testEntitlementGoesAwayAfterExpiration -FNDA:0,testEntitlementGoesAwayAfterExpiration -FN:0,testEntitlementCanBeClearedByOperator -FNDA:0,testEntitlementCanBeClearedByOperator -FN:0,testNewEntitlementPossibleAferExpiredEntitlement -FNDA:0,testNewEntitlementPossibleAferExpiredEntitlement -FN:0,testNewEntitlementPossibleAfterClearedEntitlement -FNDA:0,testNewEntitlementPossibleAfterClearedEntitlement -FN:0,testOnlyOneEntitlementAllowed -FNDA:0,testOnlyOneEntitlementAllowed -FN:0,testBeneficialOwnerCannotClearEntitlement -FNDA:0,testBeneficialOwnerCannotClearEntitlement -FN:0,testClearAndDistributeReturnsNFT2 -FNDA:0,testClearAndDistributeReturnsNFT2 -FN:0,testAirdropsCanBeDisbled -FNDA:0,testAirdropsCanBeDisbled -FN:0,testAirdropsAllowedWhenEnabled -FNDA:0,testAirdropsAllowedWhenEnabled -FN:0,testClearAndDistributeDoesNotReturnToWrongPerson -FNDA:0,testClearAndDistributeDoesNotReturnToWrongPerson -FNF:23 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/HookVaultTests.t.sol -FN:0,setUp -FNDA:0,setUp -FN:0,createVaultandAsset -FNDA:0,createVaultandAsset -FN:0,makeEntitlementAndSignature -FNDA:0,makeEntitlementAndSignature -FN:0,testBasicFlashLoan -FNDA:0,testBasicFlashLoan -FN:0,testFlashLoanFailsIfDisabled -FNDA:0,testFlashLoanFailsIfDisabled -FN:0,testBasicFlashLoanAlternateApprove -FNDA:0,testBasicFlashLoanAlternateApprove -FN:0,testBasicFlashCantReturnFalse -FNDA:0,testBasicFlashCantReturnFalse -FN:0,testBasicFlashMustApprove -FNDA:0,testBasicFlashMustApprove -FN:0,testBasicFlashCantBurn -FNDA:0,testBasicFlashCantBurn -FN:0,testFlashCallData -FNDA:0,testFlashCallData -FN:0,testFlashWillRevert -FNDA:0,testFlashWillRevert -FN:0,testImposeEntitlmentOnTransferIn -FNDA:0,testImposeEntitlmentOnTransferIn -FN:0,testImposeEntitlementAfterInitialTransfer -FNDA:0,testImposeEntitlementAfterInitialTransfer -FN:0,testEntitlementGoesAwayAfterExpiration -FNDA:0,testEntitlementGoesAwayAfterExpiration -FN:0,testEntitlementCanBeClearedByOperator -FNDA:0,testEntitlementCanBeClearedByOperator -FN:0,testNewEntitlementPossibleAferExpiredEntitlement -FNDA:0,testNewEntitlementPossibleAferExpiredEntitlement -FN:0,testNewEntitlementPossibleAfterClearedEntitlement -FNDA:0,testNewEntitlementPossibleAfterClearedEntitlement -FN:0,testOnlyOneEntitlementAllowed -FNDA:0,testOnlyOneEntitlementAllowed -FN:0,testBeneficialOwnerCannotClearEntitlement -FNDA:0,testBeneficialOwnerCannotClearEntitlement -FN:0,testClearAndDistributeReturnsNFT -FNDA:0,testClearAndDistributeReturnsNFT -FN:0,testAirdropsCanBeDisbled -FNDA:0,testAirdropsCanBeDisbled -FN:0,testAirdropsAllowedWhenEnabled -FNDA:0,testAirdropsAllowedWhenEnabled -FN:0,testClearAndDistributeDoesNotReturnToWrongPerson -FNDA:0,testClearAndDistributeDoesNotReturnToWrongPerson -FNF:23 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/utils/base.t.sol -FN:0,setUpAddresses -FNDA:0,setUpAddresses -FN:0,setUpFullProtocol -FNDA:0,setUpFullProtocol -FN:0,setUpMintOption -FNDA:0,setUpMintOption -FN:0,setUpOptionBids -FNDA:0,setUpOptionBids -FN:0,makeSignature -FNDA:0,makeSignature -FNF:5 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/utils/mocks/FlashLoan.sol -FN:0, -FNDA:0, -FN:0,executeOperation -FNDA:0,executeOperation -FN:0,onERC721Received -FNDA:0,onERC721Received -FN:0, -FNDA:0, -FN:0,executeOperation -FNDA:0,executeOperation -FN:0,onERC721Received -FNDA:0,onERC721Received -FN:0, -FNDA:0, -FN:0,executeOperation -FNDA:0,executeOperation -FN:0,onERC721Received -FNDA:0,onERC721Received -FN:0, -FNDA:0, -FN:0,executeOperation -FNDA:0,executeOperation -FN:0,onERC721Received -FNDA:0,onERC721Received -FN:0, -FNDA:0, -FN:0,executeOperation -FNDA:0,executeOperation -FN:0,onERC721Received -FNDA:0,onERC721Received -FN:0, -FNDA:0, -FN:0,executeOperation -FNDA:0,executeOperation -FN:0,onERC721Received -FNDA:0,onERC721Received -FNF:18 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/utils/mocks/MaliciousBidder.sol -FN:0, -FNDA:0, -FN:0,bid -FNDA:0,bid -FN:0, -FNDA:0, -FNF:3 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/utils/tokens/TestERC721.sol -FN:0, -FNDA:0, -FN:0,mint -FNDA:0,mint -FN:0,burn -FNDA:0,burn -FNF:3 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/jake/code/protocol/src/test/utils/tokens/WETH.sol -FN:0, -FNDA:0, -FN:0, -FNDA:0, -FN:0,deposit -FNDA:0,deposit -FN:0,withdraw -FNDA:0,withdraw -FN:0,totalSupply -FNDA:0,totalSupply -FN:0,approve -FNDA:0,approve -FN:0,transfer -FNDA:0,transfer -FN:0,transferFrom -FNDA:0,transferFrom -BRDA:0,0,0,- -FNF:8 -FNH:0 -LF:0 -LH:0 -BRF:1 -BRH:0 -end_of_record diff --git a/lib/solmate b/lib/solmate new file mode 160000 index 0000000..a9e3ea2 --- /dev/null +++ b/lib/solmate @@ -0,0 +1 @@ +Subproject commit a9e3ea26a2dc73bfa87f0cb189687d029028e0c5