@bananapus/721-hook-v6 0.0.19 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADMINISTRATION.md +39 -29
- package/ARCHITECTURE.md +48 -5
- package/AUDIT_INSTRUCTIONS.md +85 -12
- package/CHANGE_LOG.md +15 -1
- package/README.md +211 -210
- package/RISKS.md +18 -1
- package/SKILLS.md +107 -37
- package/STYLE_GUIDE.md +2 -2
- package/USER_JOURNEYS.md +44 -19
- package/foundry.toml +1 -1
- package/package.json +5 -5
- package/script/Deploy.s.sol +1 -1
- package/script/helpers/Hook721DeploymentLib.sol +1 -1
- package/src/JB721TiersHook.sol +1 -1
- package/src/JB721TiersHookDeployer.sol +1 -1
- package/src/JB721TiersHookProjectDeployer.sol +1 -1
- package/src/JB721TiersHookStore.sol +12 -1
- package/src/abstract/ERC721.sol +1 -1
- package/src/abstract/JB721Hook.sol +3 -3
- package/src/libraries/JB721TiersHookLib.sol +17 -3
- package/test/721HookAttacks.t.sol +1 -1
- package/test/E2E/Pay_Mint_Redeem_E2E.t.sol +1 -1
- package/test/Fork.t.sol +1 -1
- package/test/TestAuditGaps.sol +1 -1
- package/test/TestSafeTransferReentrancy.t.sol +1 -1
- package/test/TestVotingUnitsLifecycle.t.sol +1 -1
- package/test/audit/AuditRegressions.t.sol +83 -0
- package/test/audit/CodexNemesis_CrossCurrencySplitNoPrices.t.sol +122 -0
- package/test/audit/USDTVoidReturnCompat.t.sol +301 -0
- package/test/fork/ERC20CashOutFork.t.sol +1 -1
- package/test/fork/ERC20TierSplitFork.t.sol +1 -1
- package/test/fork/IssueTokensForSplitsFork.t.sol +1 -1
- package/test/invariants/TierLifecycleInvariant.t.sol +1 -1
- package/test/invariants/TieredHookStoreInvariant.t.sol +1 -1
- package/test/invariants/handlers/TierLifecycleHandler.sol +1 -1
- package/test/invariants/handlers/TierStoreHandler.sol +1 -1
- package/test/regression/BrokenTerminalDoesNotDos.t.sol +1 -1
- package/test/regression/CacheTierLookup.t.sol +1 -1
- package/test/regression/ProjectDeployerRulesets.t.sol +1 -1
- package/test/regression/ReserveBeneficiaryOverwrite.t.sol +1 -1
- package/test/regression/SplitDistributionBugs.t.sol +1 -1
- package/test/regression/SplitNoBeneficiary.t.sol +1 -1
- package/test/unit/JB721TiersRulesetMetadataResolver.t.sol +1 -1
- package/test/unit/JBBitmap.t.sol +1 -1
- package/test/unit/JBIpfsDecoder.t.sol +1 -1
- package/test/unit/TierSupplyReserveCheck.t.sol +1 -1
- package/test/unit/adjustTier_Unit.t.sol +1 -1
- package/test/unit/deployer_Unit.t.sol +1 -1
- package/test/unit/getters_constructor_Unit.t.sol +4 -1
- package/test/unit/mintFor_mintReservesFor_Unit.t.sol +1 -1
- package/test/unit/pay_CrossCurrency_Unit.t.sol +1 -1
- package/test/unit/pay_Unit.t.sol +1 -1
- package/test/unit/redeem_Unit.t.sol +1 -1
- package/test/unit/splitHookDistribution_Unit.t.sol +1 -1
- package/test/unit/tierSplitRouting_Unit.t.sol +1 -1
package/test/unit/JBBitmap.t.sol
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.28;
|
|
3
3
|
|
|
4
4
|
// forge-lint: disable-next-line(unaliased-plain-import)
|
|
5
5
|
import "../utils/UnitTestSetup.sol";
|
|
@@ -193,6 +193,7 @@ contract Test_Getters_Constructor_Unit is UnitTestSetup {
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
function test_balanceOf_returnsCompleteBalance(uint256 numberOfTiers, address holder) public {
|
|
196
|
+
vm.assume(holder != address(0));
|
|
196
197
|
numberOfTiers = bound(numberOfTiers, 0, 30);
|
|
197
198
|
|
|
198
199
|
ForTest_JB721TiersHook hook = _initializeForTestHook(numberOfTiers);
|
|
@@ -330,6 +331,8 @@ contract Test_Getters_Constructor_Unit is UnitTestSetup {
|
|
|
330
331
|
// Check: for each tier, does the tier's token URI match the theoretic hash?
|
|
331
332
|
for (uint256 i = 1; i <= 10; i++) {
|
|
332
333
|
uint256 tokenId = _generateTokenId(i, 1);
|
|
334
|
+
// Set an owner so the token existence check passes.
|
|
335
|
+
hook.ForTest_setOwnerOf(tokenId, beneficiary);
|
|
333
336
|
assertEq(hook.tokenURI(tokenId), string(abi.encodePacked(baseUri, theoreticHashes[i - 1])));
|
|
334
337
|
}
|
|
335
338
|
}
|
package/test/unit/pay_Unit.t.sol
CHANGED