@bananapus/core-v6 0.0.1
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/LICENSE +21 -0
- package/README.md +112 -0
- package/SKILLS.md +151 -0
- package/docs/book.css +13 -0
- package/docs/book.toml +12 -0
- package/docs/solidity.min.js +74 -0
- package/docs/src/README.md +703 -0
- package/docs/src/SUMMARY.md +94 -0
- package/docs/src/src/JBChainlinkV3PriceFeed.sol/contract.JBChainlinkV3PriceFeed.md +83 -0
- package/docs/src/src/JBChainlinkV3SequencerPriceFeed.sol/contract.JBChainlinkV3SequencerPriceFeed.md +88 -0
- package/docs/src/src/JBController.sol/contract.JBController.md +1121 -0
- package/docs/src/src/JBDeadline.sol/contract.JBDeadline.md +84 -0
- package/docs/src/src/JBDirectory.sol/contract.JBDirectory.md +294 -0
- package/docs/src/src/JBERC20.sol/contract.JBERC20.md +190 -0
- package/docs/src/src/JBFeelessAddresses.sol/contract.JBFeelessAddresses.md +80 -0
- package/docs/src/src/JBFundAccessLimits.sol/contract.JBFundAccessLimits.md +253 -0
- package/docs/src/src/JBMultiTerminal.sol/contract.JBMultiTerminal.md +1472 -0
- package/docs/src/src/JBPermissions.sol/contract.JBPermissions.md +199 -0
- package/docs/src/src/JBPrices.sol/contract.JBPrices.md +154 -0
- package/docs/src/src/JBProjects.sol/contract.JBProjects.md +131 -0
- package/docs/src/src/JBRulesets.sol/contract.JBRulesets.md +677 -0
- package/docs/src/src/JBSplits.sol/contract.JBSplits.md +237 -0
- package/docs/src/src/JBTerminalStore.sol/contract.JBTerminalStore.md +591 -0
- package/docs/src/src/JBTokens.sol/contract.JBTokens.md +353 -0
- package/docs/src/src/README.md +25 -0
- package/docs/src/src/abstract/JBControlled.sol/abstract.JBControlled.md +64 -0
- package/docs/src/src/abstract/JBPermissioned.sol/abstract.JBPermissioned.md +84 -0
- package/docs/src/src/abstract/README.md +5 -0
- package/docs/src/src/enums/JBApprovalStatus.sol/enum.JBApprovalStatus.md +17 -0
- package/docs/src/src/enums/README.md +4 -0
- package/docs/src/src/interfaces/IJBCashOutHook.sol/interface.IJBCashOutHook.md +29 -0
- package/docs/src/src/interfaces/IJBCashOutTerminal.sol/interface.IJBCashOutTerminal.md +57 -0
- package/docs/src/src/interfaces/IJBControlled.sol/interface.IJBControlled.md +12 -0
- package/docs/src/src/interfaces/IJBController.sol/interface.IJBController.md +334 -0
- package/docs/src/src/interfaces/IJBDirectory.sol/interface.IJBDirectory.md +108 -0
- package/docs/src/src/interfaces/IJBDirectoryAccessControl.sol/interface.IJBDirectoryAccessControl.md +19 -0
- package/docs/src/src/interfaces/IJBFeeTerminal.sol/interface.IJBFeeTerminal.md +91 -0
- package/docs/src/src/interfaces/IJBFeelessAddresses.sol/interface.IJBFeelessAddresses.md +26 -0
- package/docs/src/src/interfaces/IJBFundAccessLimits.sol/interface.IJBFundAccessLimits.md +88 -0
- package/docs/src/src/interfaces/IJBMigratable.sol/interface.IJBMigratable.md +29 -0
- package/docs/src/src/interfaces/IJBMultiTerminal.sol/interface.IJBMultiTerminal.md +50 -0
- package/docs/src/src/interfaces/IJBPayHook.sol/interface.IJBPayHook.md +28 -0
- package/docs/src/src/interfaces/IJBPayoutTerminal.sol/interface.IJBPayoutTerminal.md +105 -0
- package/docs/src/src/interfaces/IJBPermissioned.sol/interface.IJBPermissioned.md +12 -0
- package/docs/src/src/interfaces/IJBPermissions.sol/interface.IJBPermissions.md +74 -0
- package/docs/src/src/interfaces/IJBPermitTerminal.sol/interface.IJBPermitTerminal.md +15 -0
- package/docs/src/src/interfaces/IJBPriceFeed.sol/interface.IJBPriceFeed.md +12 -0
- package/docs/src/src/interfaces/IJBPrices.sol/interface.IJBPrices.md +74 -0
- package/docs/src/src/interfaces/IJBProjectUriRegistry.sol/interface.IJBProjectUriRegistry.md +19 -0
- package/docs/src/src/interfaces/IJBProjects.sol/interface.IJBProjects.md +49 -0
- package/docs/src/src/interfaces/IJBRulesetApprovalHook.sol/interface.IJBRulesetApprovalHook.md +35 -0
- package/docs/src/src/interfaces/IJBRulesetDataHook.sol/interface.IJBRulesetDataHook.md +97 -0
- package/docs/src/src/interfaces/IJBRulesets.sol/interface.IJBRulesets.md +165 -0
- package/docs/src/src/interfaces/IJBSplitHook.sol/interface.IJBSplitHook.md +31 -0
- package/docs/src/src/interfaces/IJBSplits.sol/interface.IJBSplits.md +35 -0
- package/docs/src/src/interfaces/IJBTerminal.sol/interface.IJBTerminal.md +141 -0
- package/docs/src/src/interfaces/IJBTerminalStore.sol/interface.IJBTerminalStore.md +198 -0
- package/docs/src/src/interfaces/IJBToken.sol/interface.IJBToken.md +54 -0
- package/docs/src/src/interfaces/IJBTokenUriResolver.sol/interface.IJBTokenUriResolver.md +12 -0
- package/docs/src/src/interfaces/IJBTokens.sol/interface.IJBTokens.md +151 -0
- package/docs/src/src/interfaces/README.md +33 -0
- package/docs/src/src/libraries/JBCashOuts.sol/library.JBCashOuts.md +40 -0
- package/docs/src/src/libraries/JBConstants.sol/library.JBConstants.md +52 -0
- package/docs/src/src/libraries/JBCurrencyIds.sol/library.JBCurrencyIds.md +19 -0
- package/docs/src/src/libraries/JBFees.sol/library.JBFees.md +52 -0
- package/docs/src/src/libraries/JBFixedPointNumber.sol/library.JBFixedPointNumber.md +12 -0
- package/docs/src/src/libraries/JBMetadataResolver.sol/library.JBMetadataResolver.md +242 -0
- package/docs/src/src/libraries/JBRulesetMetadataResolver.sol/library.JBRulesetMetadataResolver.md +180 -0
- package/docs/src/src/libraries/JBSplitGroupIds.sol/library.JBSplitGroupIds.md +14 -0
- package/docs/src/src/libraries/JBSurplus.sol/library.JBSurplus.md +44 -0
- package/docs/src/src/libraries/README.md +12 -0
- package/docs/src/src/periphery/JBDeadline1Day.sol/contract.JBDeadline1Day.md +15 -0
- package/docs/src/src/periphery/JBDeadline3Days.sol/contract.JBDeadline3Days.md +15 -0
- package/docs/src/src/periphery/JBDeadline3Hours.sol/contract.JBDeadline3Hours.md +15 -0
- package/docs/src/src/periphery/JBDeadline7Days.sol/contract.JBDeadline7Days.md +15 -0
- package/docs/src/src/periphery/JBMatchingPriceFeed.sol/contract.JBMatchingPriceFeed.md +22 -0
- package/docs/src/src/periphery/README.md +8 -0
- package/docs/src/src/structs/JBAccountingContext.sol/struct.JBAccountingContext.md +20 -0
- package/docs/src/src/structs/JBAfterCashOutRecordedContext.sol/struct.JBAfterCashOutRecordedContext.md +43 -0
- package/docs/src/src/structs/JBAfterPayRecordedContext.sol/struct.JBAfterPayRecordedContext.md +42 -0
- package/docs/src/src/structs/JBBeforeCashOutRecordedContext.sol/struct.JBBeforeCashOutRecordedContext.md +45 -0
- package/docs/src/src/structs/JBBeforePayRecordedContext.sol/struct.JBBeforePayRecordedContext.md +41 -0
- package/docs/src/src/structs/JBCashOutHookSpecification.sol/struct.JBCashOutHookSpecification.md +22 -0
- package/docs/src/src/structs/JBCurrencyAmount.sol/struct.JBCurrencyAmount.md +17 -0
- package/docs/src/src/structs/JBFee.sol/struct.JBFee.md +20 -0
- package/docs/src/src/structs/JBFundAccessLimitGroup.sol/struct.JBFundAccessLimitGroup.md +39 -0
- package/docs/src/src/structs/JBPayHookSpecification.sol/struct.JBPayHookSpecification.md +22 -0
- package/docs/src/src/structs/JBPermissionsData.sol/struct.JBPermissionsData.md +21 -0
- package/docs/src/src/structs/JBRuleset.sol/struct.JBRuleset.md +55 -0
- package/docs/src/src/structs/JBRulesetConfig.sol/struct.JBRulesetConfig.md +51 -0
- package/docs/src/src/structs/JBRulesetMetadata.sol/struct.JBRulesetMetadata.md +79 -0
- package/docs/src/src/structs/JBRulesetWeightCache.sol/struct.JBRulesetWeightCache.md +16 -0
- package/docs/src/src/structs/JBRulesetWithMetadata.sol/struct.JBRulesetWithMetadata.md +16 -0
- package/docs/src/src/structs/JBSingleAllowance.sol/struct.JBSingleAllowance.md +26 -0
- package/docs/src/src/structs/JBSplit.sol/struct.JBSplit.md +49 -0
- package/docs/src/src/structs/JBSplitGroup.sol/struct.JBSplitGroup.md +17 -0
- package/docs/src/src/structs/JBSplitHookContext.sol/struct.JBSplitHookContext.md +29 -0
- package/docs/src/src/structs/JBTerminalConfig.sol/struct.JBTerminalConfig.md +16 -0
- package/docs/src/src/structs/JBTokenAmount.sol/struct.JBTokenAmount.md +23 -0
- package/docs/src/src/structs/README.md +25 -0
- package/foundry.lock +11 -0
- package/foundry.toml +41 -0
- package/package.json +38 -0
- package/remappings.txt +1 -0
- package/script/Deploy.s.sol +111 -0
- package/script/DeployPeriphery.s.sol +287 -0
- package/script/helpers/CoreDeploymentLib.sol +121 -0
- package/slither-ci.config.json +10 -0
- package/sphinx.lock +507 -0
- package/src/JBChainlinkV3PriceFeed.sol +77 -0
- package/src/JBChainlinkV3SequencerPriceFeed.sol +75 -0
- package/src/JBController.sol +1186 -0
- package/src/JBDeadline.sol +73 -0
- package/src/JBDirectory.sol +343 -0
- package/src/JBERC20.sol +131 -0
- package/src/JBFeelessAddresses.sol +54 -0
- package/src/JBFundAccessLimits.sol +308 -0
- package/src/JBMultiTerminal.sol +2024 -0
- package/src/JBPermissions.sol +252 -0
- package/src/JBPrices.sol +227 -0
- package/src/JBProjects.sol +126 -0
- package/src/JBRulesets.sol +1093 -0
- package/src/JBSplits.sol +324 -0
- package/src/JBTerminalStore.sol +908 -0
- package/src/JBTokens.sol +376 -0
- package/src/abstract/JBControlled.sol +48 -0
- package/src/abstract/JBPermissioned.sol +77 -0
- package/src/enums/JBApprovalStatus.sol +12 -0
- package/src/interfaces/IJBCashOutHook.sol +15 -0
- package/src/interfaces/IJBCashOutTerminal.sol +51 -0
- package/src/interfaces/IJBControlled.sol +10 -0
- package/src/interfaces/IJBController.sol +280 -0
- package/src/interfaces/IJBDirectory.sol +69 -0
- package/src/interfaces/IJBDirectoryAccessControl.sol +15 -0
- package/src/interfaces/IJBFeeTerminal.sol +61 -0
- package/src/interfaces/IJBFeelessAddresses.sol +17 -0
- package/src/interfaces/IJBFundAccessLimits.sol +94 -0
- package/src/interfaces/IJBMigratable.sol +24 -0
- package/src/interfaces/IJBMultiTerminal.sol +36 -0
- package/src/interfaces/IJBPayHook.sol +14 -0
- package/src/interfaces/IJBPayoutTerminal.sol +92 -0
- package/src/interfaces/IJBPermissioned.sol +10 -0
- package/src/interfaces/IJBPermissions.sol +71 -0
- package/src/interfaces/IJBPermitTerminal.sol +14 -0
- package/src/interfaces/IJBPriceFeed.sol +10 -0
- package/src/interfaces/IJBPrices.sol +65 -0
- package/src/interfaces/IJBProjectUriRegistry.sol +15 -0
- package/src/interfaces/IJBProjects.sol +27 -0
- package/src/interfaces/IJBRulesetApprovalHook.sol +21 -0
- package/src/interfaces/IJBRulesetDataHook.sol +56 -0
- package/src/interfaces/IJBRulesets.sol +151 -0
- package/src/interfaces/IJBSplitHook.sol +16 -0
- package/src/interfaces/IJBSplits.sol +28 -0
- package/src/interfaces/IJBTerminal.sol +120 -0
- package/src/interfaces/IJBTerminalStore.sol +225 -0
- package/src/interfaces/IJBToken.sol +39 -0
- package/src/interfaces/IJBTokenUriResolver.sol +10 -0
- package/src/interfaces/IJBTokens.sol +113 -0
- package/src/libraries/JBCashOuts.sol +120 -0
- package/src/libraries/JBConstants.sol +14 -0
- package/src/libraries/JBCurrencyIds.sol +7 -0
- package/src/libraries/JBFees.sol +28 -0
- package/src/libraries/JBFixedPointNumber.sol +12 -0
- package/src/libraries/JBMetadataResolver.sol +306 -0
- package/src/libraries/JBRulesetMetadataResolver.sol +160 -0
- package/src/libraries/JBSplitGroupIds.sol +7 -0
- package/src/libraries/JBSurplus.sol +40 -0
- package/src/periphery/JBDeadline1Day.sol +8 -0
- package/src/periphery/JBDeadline3Days.sol +8 -0
- package/src/periphery/JBDeadline3Hours.sol +8 -0
- package/src/periphery/JBDeadline7Days.sol +8 -0
- package/src/periphery/JBMatchingPriceFeed.sol +13 -0
- package/src/structs/JBAccountingContext.sol +12 -0
- package/src/structs/JBAfterCashOutRecordedContext.sol +30 -0
- package/src/structs/JBAfterPayRecordedContext.sol +29 -0
- package/src/structs/JBBeforeCashOutRecordedContext.sol +31 -0
- package/src/structs/JBBeforePayRecordedContext.sol +28 -0
- package/src/structs/JBCashOutHookSpecification.sol +15 -0
- package/src/structs/JBCurrencyAmount.sol +10 -0
- package/src/structs/JBFee.sol +12 -0
- package/src/structs/JBFundAccessLimitGroup.sol +28 -0
- package/src/structs/JBPayHookSpecification.sol +15 -0
- package/src/structs/JBPermissionsData.sol +13 -0
- package/src/structs/JBRuleset.sol +42 -0
- package/src/structs/JBRulesetConfig.sol +43 -0
- package/src/structs/JBRulesetMetadata.sol +56 -0
- package/src/structs/JBRulesetWeightCache.sol +9 -0
- package/src/structs/JBRulesetWithMetadata.sol +12 -0
- package/src/structs/JBSingleAllowance.sol +16 -0
- package/src/structs/JBSplit.sol +37 -0
- package/src/structs/JBSplitGroup.sol +12 -0
- package/src/structs/JBSplitHookContext.sol +20 -0
- package/src/structs/JBTerminalConfig.sol +12 -0
- package/src/structs/JBTokenAmount.sol +14 -0
- package/test/AuditExploits.t.sol +2710 -0
- package/test/ComprehensiveInvariant.t.sol +298 -0
- package/test/EconomicSimulation.t.sol +340 -0
- package/test/EntryPointPermutations.t.sol +671 -0
- package/test/FlashLoanAttacks.t.sol +792 -0
- package/test/PermissionEscalation.t.sol +679 -0
- package/test/RulesetTransitions.t.sol +699 -0
- package/test/SplitLoopTests.t.sol +731 -0
- package/test/TestAccessToFunds.sol +2644 -0
- package/test/TestCashOut.sol +185 -0
- package/test/TestCashOutCountFor.sol +272 -0
- package/test/TestCashOutHooks.sol +317 -0
- package/test/TestCashOutTimingEdge.sol +229 -0
- package/test/TestDurationUnderflow.sol +220 -0
- package/test/TestFeeProcessingFailure.sol +208 -0
- package/test/TestFees.sol +604 -0
- package/test/TestInterfaceSupport.sol +62 -0
- package/test/TestJBERC20Inheritance.sol +91 -0
- package/test/TestLaunchProject.sol +176 -0
- package/test/TestMetaTx.sol +203 -0
- package/test/TestMetadataParserLib.sol +438 -0
- package/test/TestMigrationHeldFees.sol +249 -0
- package/test/TestMintTokensOf.sol +172 -0
- package/test/TestMultiTokenSurplus.sol +206 -0
- package/test/TestMultipleAccessLimits.sol +642 -0
- package/test/TestPayBurnRedeemFlow.sol +180 -0
- package/test/TestPayHooks.sol +190 -0
- package/test/TestPermissions.sol +305 -0
- package/test/TestPermissionsEdge.sol +286 -0
- package/test/TestPermit2Terminal.sol +339 -0
- package/test/TestRulesetQueueing.sol +1001 -0
- package/test/TestRulesetQueuingStress.sol +778 -0
- package/test/TestRulesetWeightCaching.sol +177 -0
- package/test/TestSplits.sol +369 -0
- package/test/TestTerminalMigration.sol +167 -0
- package/test/TestTokenFlow.sol +174 -0
- package/test/WeirdTokenTests.t.sol +764 -0
- package/test/formal/BondingCurveProperties.t.sol +411 -0
- package/test/formal/FeeProperties.t.sol +246 -0
- package/test/helpers/JBTest.sol +129 -0
- package/test/helpers/MetadataResolverHelper.sol +116 -0
- package/test/helpers/TestBaseWorkflow.sol +317 -0
- package/test/invariants/Phase3DeepInvariant.t.sol +404 -0
- package/test/invariants/RulesetsInvariant.t.sol +115 -0
- package/test/invariants/TerminalStoreInvariant.t.sol +220 -0
- package/test/invariants/TokensInvariant.t.sol +184 -0
- package/test/invariants/handlers/ComprehensiveHandler.sol +285 -0
- package/test/invariants/handlers/EconomicHandler.sol +347 -0
- package/test/invariants/handlers/Phase3Handler.sol +414 -0
- package/test/invariants/handlers/RulesetsHandler.sol +111 -0
- package/test/invariants/handlers/TerminalStoreHandler.sol +146 -0
- package/test/invariants/handlers/TokensHandler.sol +127 -0
- package/test/mock/ERC2771ForwarderMock.sol +37 -0
- package/test/mock/MockERC20.sol +18 -0
- package/test/mock/MockMaliciousBeneficiary.sol +67 -0
- package/test/mock/MockMaliciousSplitHook.sol +42 -0
- package/test/mock/MockPriceFeed.sol +20 -0
- package/test/trees/JBController/burnTokensOf.tree +9 -0
- package/test/trees/JBController/claimTokensFor.tree +5 -0
- package/test/trees/JBController/deployERC20For.tree +5 -0
- package/test/trees/JBController/getRulesetOf.tree +5 -0
- package/test/trees/JBController/launchProjectFor.tree +12 -0
- package/test/trees/JBController/launchRulesetsFor.tree +8 -0
- package/test/trees/JBController/migrateController.tree +12 -0
- package/test/trees/JBController/mintTokensOf.tree +12 -0
- package/test/trees/JBController/payReservedTokenToTerminal.tree +8 -0
- package/test/trees/JBController/receiveMigrationFrom.tree +4 -0
- package/test/trees/JBController/sendReservedTokensToSplitsOf.tree +12 -0
- package/test/trees/JBController/setMetadataOf.tree +5 -0
- package/test/trees/JBController/setSplitGroupsOf.tree +5 -0
- package/test/trees/JBController/setTokenFor.tree +5 -0
- package/test/trees/JBController/transferCreditsFrom.tree +8 -0
- package/test/trees/JBDirectory/primaryTerminalOf.tree +8 -0
- package/test/trees/JBDirectory/setControllerOf.tree +11 -0
- package/test/trees/JBDirectory/setPrimaryTerminalOf.tree +15 -0
- package/test/trees/JBDirectory/setTerminalsOf.tree +11 -0
- package/test/trees/JBERC20/initialize.tree +7 -0
- package/test/trees/JBERC20/name.tree +5 -0
- package/test/trees/JBERC20/nonces.tree +5 -0
- package/test/trees/JBERC20/symbol.tree +5 -0
- package/test/trees/JBFeelessAddresses/setFeelessAddress.tree +5 -0
- package/test/trees/JBFeelessAddresses/supportsInterface.tree +5 -0
- package/test/trees/JBFundAccessLimits/payoutLimitOf.tree +5 -0
- package/test/trees/JBFundAccessLimits/payoutLimitsOf.tree +8 -0
- package/test/trees/JBFundAccessLimits/setFundAccessLimitsFor.tree +18 -0
- package/test/trees/JBFundAccessLimits/surplusAllowanceOf.tree +5 -0
- package/test/trees/JBFundAccessLimits/surplusAllowancesOf.tree +8 -0
- package/test/trees/JBMetadataResolver/getDataFor.tree +8 -0
- package/test/trees/JBMultiTerminal/accountingContextsOf.tree +5 -0
- package/test/trees/JBMultiTerminal/addAccountingContextsFor.tree +10 -0
- package/test/trees/JBMultiTerminal/addToBalanceOf.tree +23 -0
- package/test/trees/JBMultiTerminal/cashOutTokensOf.tree +23 -0
- package/test/trees/JBMultiTerminal/executePayout.tree +32 -0
- package/test/trees/JBMultiTerminal/executeProcessFee.tree +14 -0
- package/test/trees/JBMultiTerminal/migrateBalanceOf.tree +12 -0
- package/test/trees/JBMultiTerminal/pay.tree +23 -0
- package/test/trees/JBMultiTerminal/processHeldFeesOf.tree +8 -0
- package/test/trees/JBMultiTerminal/sendPayoutsOf.tree +34 -0
- package/test/trees/JBMultiTerminal/useAllowanceOf.tree +16 -0
- package/test/trees/JBPermissions/hasPermission.tree +8 -0
- package/test/trees/JBPermissions/hasPermissions.tree +8 -0
- package/test/trees/JBPermissions/setPermissionsFor.tree +5 -0
- package/test/trees/JBPrices/addPriceFeedFor.tree +14 -0
- package/test/trees/JBPrices/pricePerUnitOf.tree +11 -0
- package/test/trees/JBProjects/createFor.tree +11 -0
- package/test/trees/JBProjects/setTokenUriResolver.tree +5 -0
- package/test/trees/JBProjects/supportsInterface.tree +9 -0
- package/test/trees/JBProjects/tokenURI.tree +5 -0
- package/test/trees/JBRulesets/currentApprovalStatusForLatestRulesetOf.tree +8 -0
- package/test/trees/JBRulesets/currentOf.tree +12 -0
- package/test/trees/JBRulesets/getRulesetOf.tree +5 -0
- package/test/trees/JBRulesets/latestQueuedRulesetOf.tree +10 -0
- package/test/trees/JBRulesets/rulesetsOf.tree +11 -0
- package/test/trees/JBRulesets/upcomingRulesetOf.tree +20 -0
- package/test/trees/JBRulesets/updateRulesetWeightCache.tree +5 -0
- package/test/trees/JBSplits/setSplitGroupsOf.tree +17 -0
- package/test/trees/JBSplits/splitsOf.tree +5 -0
- package/test/trees/JBTerminalStore/currentReclaimableSurplusOf.tree +16 -0
- package/test/trees/JBTerminalStore/currentSurplusOf.tree +25 -0
- package/test/trees/JBTerminalStore/currentTotalSurplusOf.tree +5 -0
- package/test/trees/JBTerminalStore/recordCashOutsFor.tree +16 -0
- package/test/trees/JBTerminalStore/recordPaymentFrom.tree +14 -0
- package/test/trees/JBTerminalStore/recordPayoutFor.tree +10 -0
- package/test/trees/JBTerminalStore/recordTerminalMigration.tree +5 -0
- package/test/trees/JBTerminalStore/recordUsedAllowanceOf.tree +10 -0
- package/test/trees/JBTokens/burnFrom.tree +10 -0
- package/test/trees/JBTokens/claimTokensFor.tree +10 -0
- package/test/trees/JBTokens/deployERC20For.tree +12 -0
- package/test/trees/JBTokens/mintFor.tree +10 -0
- package/test/trees/JBTokens/setTokenFor.tree +11 -0
- package/test/trees/JBTokens/totalBalanceOf.tree +5 -0
- package/test/trees/JBTokens/totalSupplyOf.tree +5 -0
- package/test/trees/JBTokens/transferCreditsFrom.tree +8 -0
- package/test/trees/mintTokensOf.tree +12 -0
- package/test/units/static/JBChainlinkV3PriceFeed/TestPriceFeed.sol +220 -0
- package/test/units/static/JBController/JBControllerSetup.sol +40 -0
- package/test/units/static/JBController/TestBurnTokensOf.sol +107 -0
- package/test/units/static/JBController/TestClaimTokensFor.sol +60 -0
- package/test/units/static/JBController/TestDeployErc20For.sol +80 -0
- package/test/units/static/JBController/TestLaunchProjectFor.sol +282 -0
- package/test/units/static/JBController/TestLaunchRulesetsFor.sol +322 -0
- package/test/units/static/JBController/TestMigrateController.sol +148 -0
- package/test/units/static/JBController/TestMintTokensOfUnits.sol +102 -0
- package/test/units/static/JBController/TestPayReservedTokenToTerminal.sol +71 -0
- package/test/units/static/JBController/TestReceiveMigrationFrom.sol +95 -0
- package/test/units/static/JBController/TestRulesetViews.sol +219 -0
- package/test/units/static/JBController/TestSendReservedTokensToSplitsOf.sol +595 -0
- package/test/units/static/JBController/TestSetSplitGroupsOf.sol +63 -0
- package/test/units/static/JBController/TestSetTokenFor.sol +227 -0
- package/test/units/static/JBController/TestSetUriOf.sol +53 -0
- package/test/units/static/JBController/TestTransferCreditsFrom.sol +159 -0
- package/test/units/static/JBDeadline/TestDeadlineFuzz.sol +194 -0
- package/test/units/static/JBDirectory/JBDirectorySetup.sol +22 -0
- package/test/units/static/JBDirectory/TestPrimaryTerminalOf.sol +122 -0
- package/test/units/static/JBDirectory/TestSetControllerOf.sol +173 -0
- package/test/units/static/JBDirectory/TestSetControllerOfMigrationOrder.sol +98 -0
- package/test/units/static/JBDirectory/TestSetPrimaryTerminalOf.sol +169 -0
- package/test/units/static/JBDirectory/TestSetTerminalsOf.sol +128 -0
- package/test/units/static/JBERC20/JBERC20Setup.sol +20 -0
- package/test/units/static/JBERC20/SigUtils.sol +34 -0
- package/test/units/static/JBERC20/TestInitialize.sol +54 -0
- package/test/units/static/JBERC20/TestName.sol +30 -0
- package/test/units/static/JBERC20/TestNonces.sol +59 -0
- package/test/units/static/JBERC20/TestSymbol.sol +31 -0
- package/test/units/static/JBFeelessAdresses/JBFeelessSetup.sol +20 -0
- package/test/units/static/JBFeelessAdresses/TestInterfaces.sol +29 -0
- package/test/units/static/JBFeelessAdresses/TestSetFeelessAddress.sol +35 -0
- package/test/units/static/JBFees/TestFeesFuzz.sol +78 -0
- package/test/units/static/JBFixedPointNumber/TestAdjustDecimals.sol +16 -0
- package/test/units/static/JBFixedPointNumber/TestAdjustDecimalsFuzz.sol +71 -0
- package/test/units/static/JBFundAccessLimits/JBFundAccessSetup.sol +21 -0
- package/test/units/static/JBFundAccessLimits/TestFundAccessLimitsEdge.sol +159 -0
- package/test/units/static/JBFundAccessLimits/TestPayoutLimitOf.sol +56 -0
- package/test/units/static/JBFundAccessLimits/TestPayoutLimitsOf.sol +94 -0
- package/test/units/static/JBFundAccessLimits/TestSetFundAccessLimitsFor.sol +182 -0
- package/test/units/static/JBFundAccessLimits/TestSurplusAllowanceOf.sol +61 -0
- package/test/units/static/JBFundAccessLimits/TestSurplusAllowancesOf.sol +96 -0
- package/test/units/static/JBMetadataResolver/TestGetDataFor.sol +89 -0
- package/test/units/static/JBMetadataResolver/TestMetadataResolverFuzz.sol +227 -0
- package/test/units/static/JBMetadataResolver/TestMetadataResolverM20M21.sol +245 -0
- package/test/units/static/JBMultiTerminal/JBMultiTerminalSetup.sol +39 -0
- package/test/units/static/JBMultiTerminal/TestAccountingContextsOf.sol +65 -0
- package/test/units/static/JBMultiTerminal/TestAddAccountingContextsFor.sol +313 -0
- package/test/units/static/JBMultiTerminal/TestAddToBalanceOf.sol +432 -0
- package/test/units/static/JBMultiTerminal/TestCashOutTokensOf.sol +478 -0
- package/test/units/static/JBMultiTerminal/TestExecutePayout.sol +577 -0
- package/test/units/static/JBMultiTerminal/TestExecuteProcessFee.sol +176 -0
- package/test/units/static/JBMultiTerminal/TestMigrateBalanceOf.sol +190 -0
- package/test/units/static/JBMultiTerminal/TestPay.sol +514 -0
- package/test/units/static/JBMultiTerminal/TestProcessHeldFeesOf.sol +29 -0
- package/test/units/static/JBMultiTerminal/TestSendPayoutsOf.sol +243 -0
- package/test/units/static/JBMultiTerminal/TestUseAllowanceOf.sol +310 -0
- package/test/units/static/JBPermissions/JBPermissionsSetup.sol +18 -0
- package/test/units/static/JBPermissions/TestHasPermission.sol +50 -0
- package/test/units/static/JBPermissions/TestHasPermissions.sol +93 -0
- package/test/units/static/JBPermissions/TestSetPermissionsFor.sol +62 -0
- package/test/units/static/JBPrices/JBPricesSetup.sol +26 -0
- package/test/units/static/JBPrices/TestAddPriceFeedFor.sol +102 -0
- package/test/units/static/JBPrices/TestPricePerUnitOf.sol +129 -0
- package/test/units/static/JBPrices/TestPrices.sol +262 -0
- package/test/units/static/JBProjects/JBProjectsSetup.sol +20 -0
- package/test/units/static/JBProjects/TestCreateFor.sol +69 -0
- package/test/units/static/JBProjects/TestInitialProject.sol +19 -0
- package/test/units/static/JBProjects/TestInterfaces.sol +27 -0
- package/test/units/static/JBProjects/TestSetResolver.sol +36 -0
- package/test/units/static/JBProjects/TestTokenUri.sol +38 -0
- package/test/units/static/JBRulesetMetadataResolver/TestSetCashOutTaxRateTo.sol +99 -0
- package/test/units/static/JBRulesets/JBRulesetsSetup.sol +21 -0
- package/test/units/static/JBRulesets/TestCurrentApprovalStatusForLatestRulesetOf.sol +257 -0
- package/test/units/static/JBRulesets/TestCurrentOf.sol +231 -0
- package/test/units/static/JBRulesets/TestGetRulesetOf.sol +94 -0
- package/test/units/static/JBRulesets/TestLatestQueuedRulesetOf.sol +252 -0
- package/test/units/static/JBRulesets/TestRulesets.sol +617 -0
- package/test/units/static/JBRulesets/TestRulesetsOf.sol +37 -0
- package/test/units/static/JBRulesets/TestUpcomingRulesetOf.sol +526 -0
- package/test/units/static/JBRulesets/TestUpdateRulesetWeightCache.sol +91 -0
- package/test/units/static/JBSplits/JBSplitsSetup.sol +23 -0
- package/test/units/static/JBSplits/TestSelfManagedSplitGroups.sol +502 -0
- package/test/units/static/JBSplits/TestSetSplitGroupsOf.sol +370 -0
- package/test/units/static/JBSplits/TestSplitsLockedEdge.sol +262 -0
- package/test/units/static/JBSplits/TestSplitsOf.sol +24 -0
- package/test/units/static/JBSplits/TestSplitsPacking.sol +33 -0
- package/test/units/static/JBSurplus/TestSurplusFuzz.sol +125 -0
- package/test/units/static/JBTerminalStore/JBTerminalStoreSetup.sol +23 -0
- package/test/units/static/JBTerminalStore/TestCurrentReclaimableSurplusOf.sol +434 -0
- package/test/units/static/JBTerminalStore/TestCurrentSurplusOf.sol +428 -0
- package/test/units/static/JBTerminalStore/TestCurrentTotalSurplusOf.sol +65 -0
- package/test/units/static/JBTerminalStore/TestRecordCashOutsFor.sol +479 -0
- package/test/units/static/JBTerminalStore/TestRecordPaymentFrom.sol +508 -0
- package/test/units/static/JBTerminalStore/TestRecordPayoutFor.sol +257 -0
- package/test/units/static/JBTerminalStore/TestRecordTerminalMigration.sol +131 -0
- package/test/units/static/JBTerminalStore/TestRecordUsedAllowanceOf.sol +390 -0
- package/test/units/static/JBTerminalStore/TestUint224Overflow.sol +187 -0
- package/test/units/static/JBTokens/JBTokensSetup.sol +23 -0
- package/test/units/static/JBTokens/TestBurnFrom.sol +104 -0
- package/test/units/static/JBTokens/TestClaimTokensFor.sol +107 -0
- package/test/units/static/JBTokens/TestDeployERC20ForUnits.sol +89 -0
- package/test/units/static/JBTokens/TestMintFor.sol +97 -0
- package/test/units/static/JBTokens/TestSetTokenFor.sol +95 -0
- package/test/units/static/JBTokens/TestTotalBalanceOf.sol +65 -0
- package/test/units/static/JBTokens/TestTotalSupplyOf.sol +56 -0
- package/test/units/static/JBTokens/TestTransferCreditsFrom.sol +54 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# IJBController
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBController.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
IERC165, [IJBProjectUriRegistry](/src/interfaces/IJBProjectUriRegistry.sol/interface.IJBProjectUriRegistry.md), [IJBDirectoryAccessControl](/src/interfaces/IJBDirectoryAccessControl.sol/interface.IJBDirectoryAccessControl.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### DIRECTORY
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
function DIRECTORY() external view returns (IJBDirectory);
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### FUND_ACCESS_LIMITS
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
```solidity
|
|
20
|
+
function FUND_ACCESS_LIMITS() external view returns (IJBFundAccessLimits);
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### PRICES
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
```solidity
|
|
27
|
+
function PRICES() external view returns (IJBPrices);
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### PROJECTS
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
```solidity
|
|
34
|
+
function PROJECTS() external view returns (IJBProjects);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### RULESETS
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
```solidity
|
|
41
|
+
function RULESETS() external view returns (IJBRulesets);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### SPLITS
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
```solidity
|
|
48
|
+
function SPLITS() external view returns (IJBSplits);
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### TOKENS
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
```solidity
|
|
55
|
+
function TOKENS() external view returns (IJBTokens);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### allRulesetsOf
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
```solidity
|
|
62
|
+
function allRulesetsOf(
|
|
63
|
+
uint256 projectId,
|
|
64
|
+
uint256 startingId,
|
|
65
|
+
uint256 size
|
|
66
|
+
)
|
|
67
|
+
external
|
|
68
|
+
view
|
|
69
|
+
returns (JBRulesetWithMetadata[] memory rulesets);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### currentRulesetOf
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
```solidity
|
|
76
|
+
function currentRulesetOf(uint256 projectId)
|
|
77
|
+
external
|
|
78
|
+
view
|
|
79
|
+
returns (JBRuleset memory ruleset, JBRulesetMetadata memory metadata);
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### getRulesetOf
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
```solidity
|
|
86
|
+
function getRulesetOf(
|
|
87
|
+
uint256 projectId,
|
|
88
|
+
uint256 rulesetId
|
|
89
|
+
)
|
|
90
|
+
external
|
|
91
|
+
view
|
|
92
|
+
returns (JBRuleset memory ruleset, JBRulesetMetadata memory metadata);
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### latestQueuedRulesetOf
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
```solidity
|
|
99
|
+
function latestQueuedRulesetOf(uint256 projectId)
|
|
100
|
+
external
|
|
101
|
+
view
|
|
102
|
+
returns (JBRuleset memory, JBRulesetMetadata memory metadata, JBApprovalStatus);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### pendingReservedTokenBalanceOf
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
```solidity
|
|
109
|
+
function pendingReservedTokenBalanceOf(uint256 projectId) external view returns (uint256);
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### totalTokenSupplyWithReservedTokensOf
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
```solidity
|
|
116
|
+
function totalTokenSupplyWithReservedTokensOf(uint256 projectId) external view returns (uint256);
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### upcomingRulesetOf
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
```solidity
|
|
123
|
+
function upcomingRulesetOf(uint256 projectId)
|
|
124
|
+
external
|
|
125
|
+
view
|
|
126
|
+
returns (JBRuleset memory ruleset, JBRulesetMetadata memory metadata);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### addPriceFeed
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
```solidity
|
|
133
|
+
function addPriceFeed(uint256 projectId, uint256 pricingCurrency, uint256 unitCurrency, IJBPriceFeed feed) external;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### burnTokensOf
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
```solidity
|
|
140
|
+
function burnTokensOf(address holder, uint256 projectId, uint256 tokenCount, string calldata memo) external;
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### claimTokensFor
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
```solidity
|
|
147
|
+
function claimTokensFor(address holder, uint256 projectId, uint256 tokenCount, address beneficiary) external;
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### deployERC20For
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
```solidity
|
|
154
|
+
function deployERC20For(
|
|
155
|
+
uint256 projectId,
|
|
156
|
+
string calldata name,
|
|
157
|
+
string calldata symbol,
|
|
158
|
+
bytes32 salt
|
|
159
|
+
)
|
|
160
|
+
external
|
|
161
|
+
returns (IJBToken token);
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### launchProjectFor
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
```solidity
|
|
168
|
+
function launchProjectFor(
|
|
169
|
+
address owner,
|
|
170
|
+
string calldata projectUri,
|
|
171
|
+
JBRulesetConfig[] calldata rulesetConfigurations,
|
|
172
|
+
JBTerminalConfig[] memory terminalConfigurations,
|
|
173
|
+
string calldata memo
|
|
174
|
+
)
|
|
175
|
+
external
|
|
176
|
+
returns (uint256 projectId);
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### launchRulesetsFor
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
```solidity
|
|
183
|
+
function launchRulesetsFor(
|
|
184
|
+
uint256 projectId,
|
|
185
|
+
JBRulesetConfig[] calldata rulesetConfigurations,
|
|
186
|
+
JBTerminalConfig[] memory terminalConfigurations,
|
|
187
|
+
string calldata memo
|
|
188
|
+
)
|
|
189
|
+
external
|
|
190
|
+
returns (uint256 rulesetId);
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### mintTokensOf
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
```solidity
|
|
197
|
+
function mintTokensOf(
|
|
198
|
+
uint256 projectId,
|
|
199
|
+
uint256 tokenCount,
|
|
200
|
+
address beneficiary,
|
|
201
|
+
string calldata memo,
|
|
202
|
+
bool useReservedPercent
|
|
203
|
+
)
|
|
204
|
+
external
|
|
205
|
+
returns (uint256 beneficiaryTokenCount);
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### queueRulesetsOf
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
```solidity
|
|
212
|
+
function queueRulesetsOf(
|
|
213
|
+
uint256 projectId,
|
|
214
|
+
JBRulesetConfig[] calldata rulesetConfigurations,
|
|
215
|
+
string calldata memo
|
|
216
|
+
)
|
|
217
|
+
external
|
|
218
|
+
returns (uint256 rulesetId);
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### sendReservedTokensToSplitsOf
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
```solidity
|
|
225
|
+
function sendReservedTokensToSplitsOf(uint256 projectId) external returns (uint256);
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### setSplitGroupsOf
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
```solidity
|
|
232
|
+
function setSplitGroupsOf(uint256 projectId, uint256 rulesetId, JBSplitGroup[] calldata splitGroups) external;
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### setTokenFor
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
```solidity
|
|
239
|
+
function setTokenFor(uint256 projectId, IJBToken token) external;
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### transferCreditsFrom
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
```solidity
|
|
246
|
+
function transferCreditsFrom(address holder, uint256 projectId, address recipient, uint256 creditCount) external;
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Events
|
|
250
|
+
### BurnTokens
|
|
251
|
+
|
|
252
|
+
```solidity
|
|
253
|
+
event BurnTokens(address indexed holder, uint256 indexed projectId, uint256 tokenCount, string memo, address caller);
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### LaunchProject
|
|
257
|
+
|
|
258
|
+
```solidity
|
|
259
|
+
event LaunchProject(uint256 rulesetId, uint256 projectId, string projectUri, string memo, address caller);
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### LaunchRulesets
|
|
263
|
+
|
|
264
|
+
```solidity
|
|
265
|
+
event LaunchRulesets(uint256 rulesetId, uint256 projectId, string memo, address caller);
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### MintTokens
|
|
269
|
+
|
|
270
|
+
```solidity
|
|
271
|
+
event MintTokens(
|
|
272
|
+
address indexed beneficiary,
|
|
273
|
+
uint256 indexed projectId,
|
|
274
|
+
uint256 tokenCount,
|
|
275
|
+
uint256 beneficiaryTokenCount,
|
|
276
|
+
string memo,
|
|
277
|
+
uint256 reservedPercent,
|
|
278
|
+
address caller
|
|
279
|
+
);
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### PrepMigration
|
|
283
|
+
|
|
284
|
+
```solidity
|
|
285
|
+
event PrepMigration(uint256 indexed projectId, address from, address caller);
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### QueueRulesets
|
|
289
|
+
|
|
290
|
+
```solidity
|
|
291
|
+
event QueueRulesets(uint256 rulesetId, uint256 projectId, string memo, address caller);
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### ReservedDistributionReverted
|
|
295
|
+
|
|
296
|
+
```solidity
|
|
297
|
+
event ReservedDistributionReverted(
|
|
298
|
+
uint256 indexed projectId, JBSplit split, uint256 tokenCount, bytes reason, address caller
|
|
299
|
+
);
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### SendReservedTokensToSplit
|
|
303
|
+
|
|
304
|
+
```solidity
|
|
305
|
+
event SendReservedTokensToSplit(
|
|
306
|
+
uint256 indexed projectId,
|
|
307
|
+
uint256 indexed rulesetId,
|
|
308
|
+
uint256 indexed groupId,
|
|
309
|
+
JBSplit split,
|
|
310
|
+
uint256 tokenCount,
|
|
311
|
+
address caller
|
|
312
|
+
);
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### SendReservedTokensToSplits
|
|
316
|
+
|
|
317
|
+
```solidity
|
|
318
|
+
event SendReservedTokensToSplits(
|
|
319
|
+
uint256 indexed rulesetId,
|
|
320
|
+
uint256 indexed rulesetCycleNumber,
|
|
321
|
+
uint256 indexed projectId,
|
|
322
|
+
address owner,
|
|
323
|
+
uint256 tokenCount,
|
|
324
|
+
uint256 leftoverAmount,
|
|
325
|
+
address caller
|
|
326
|
+
);
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### SetUri
|
|
330
|
+
|
|
331
|
+
```solidity
|
|
332
|
+
event SetUri(uint256 indexed projectId, string uri, address caller);
|
|
333
|
+
```
|
|
334
|
+
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# IJBDirectory
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBDirectory.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### PROJECTS
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function PROJECTS() external view returns (IJBProjects);
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### controllerOf
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function controllerOf(uint256 projectId) external view returns (IERC165);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### isAllowedToSetFirstController
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
```solidity
|
|
24
|
+
function isAllowedToSetFirstController(address account) external view returns (bool);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### isTerminalOf
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
```solidity
|
|
31
|
+
function isTerminalOf(uint256 projectId, IJBTerminal terminal) external view returns (bool);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### primaryTerminalOf
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
```solidity
|
|
38
|
+
function primaryTerminalOf(uint256 projectId, address token) external view returns (IJBTerminal);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### terminalsOf
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
```solidity
|
|
45
|
+
function terminalsOf(uint256 projectId) external view returns (IJBTerminal[] memory);
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### setControllerOf
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
```solidity
|
|
52
|
+
function setControllerOf(uint256 projectId, IERC165 controller) external;
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### setIsAllowedToSetFirstController
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
```solidity
|
|
59
|
+
function setIsAllowedToSetFirstController(address account, bool flag) external;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### setPrimaryTerminalOf
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
```solidity
|
|
66
|
+
function setPrimaryTerminalOf(uint256 projectId, address token, IJBTerminal terminal) external;
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### setTerminalsOf
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
```solidity
|
|
73
|
+
function setTerminalsOf(uint256 projectId, IJBTerminal[] calldata terminals) external;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Events
|
|
77
|
+
### AddTerminal
|
|
78
|
+
|
|
79
|
+
```solidity
|
|
80
|
+
event AddTerminal(uint256 indexed projectId, IJBTerminal indexed terminal, address caller);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### SetController
|
|
84
|
+
|
|
85
|
+
```solidity
|
|
86
|
+
event SetController(uint256 indexed projectId, IERC165 indexed controller, address caller);
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### SetIsAllowedToSetFirstController
|
|
90
|
+
|
|
91
|
+
```solidity
|
|
92
|
+
event SetIsAllowedToSetFirstController(address indexed addr, bool indexed isAllowed, address caller);
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### SetPrimaryTerminal
|
|
96
|
+
|
|
97
|
+
```solidity
|
|
98
|
+
event SetPrimaryTerminal(
|
|
99
|
+
uint256 indexed projectId, address indexed token, IJBTerminal indexed terminal, address caller
|
|
100
|
+
);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### SetTerminals
|
|
104
|
+
|
|
105
|
+
```solidity
|
|
106
|
+
event SetTerminals(uint256 indexed projectId, IJBTerminal[] terminals, address caller);
|
|
107
|
+
```
|
|
108
|
+
|
package/docs/src/src/interfaces/IJBDirectoryAccessControl.sol/interface.IJBDirectoryAccessControl.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# IJBDirectoryAccessControl
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBDirectoryAccessControl.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### setControllerAllowed
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function setControllerAllowed(uint256 projectId) external view returns (bool);
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### setTerminalsAllowed
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function setTerminalsAllowed(uint256 projectId) external view returns (bool);
|
|
18
|
+
```
|
|
19
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# IJBFeeTerminal
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBFeeTerminal.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IJBTerminal](/src/interfaces/IJBTerminal.sol/interface.IJBTerminal.md)
|
|
6
|
+
|
|
7
|
+
A terminal that can process and hold fees.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Functions
|
|
11
|
+
### FEE
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
```solidity
|
|
15
|
+
function FEE() external view returns (uint256);
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### FEELESS_ADDRESSES
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
```solidity
|
|
22
|
+
function FEELESS_ADDRESSES() external view returns (IJBFeelessAddresses);
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### heldFeesOf
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
```solidity
|
|
29
|
+
function heldFeesOf(uint256 projectId, address token, uint256 count) external view returns (JBFee[] memory);
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### processHeldFeesOf
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
```solidity
|
|
36
|
+
function processHeldFeesOf(uint256 projectId, address token, uint256 count) external;
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Events
|
|
40
|
+
### FeeReverted
|
|
41
|
+
|
|
42
|
+
```solidity
|
|
43
|
+
event FeeReverted(
|
|
44
|
+
uint256 indexed projectId,
|
|
45
|
+
address indexed token,
|
|
46
|
+
uint256 indexed feeProjectId,
|
|
47
|
+
uint256 amount,
|
|
48
|
+
bytes reason,
|
|
49
|
+
address caller
|
|
50
|
+
);
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### HoldFee
|
|
54
|
+
|
|
55
|
+
```solidity
|
|
56
|
+
event HoldFee(
|
|
57
|
+
uint256 indexed projectId,
|
|
58
|
+
address indexed token,
|
|
59
|
+
uint256 indexed amount,
|
|
60
|
+
uint256 fee,
|
|
61
|
+
address beneficiary,
|
|
62
|
+
address caller
|
|
63
|
+
);
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### ProcessFee
|
|
67
|
+
|
|
68
|
+
```solidity
|
|
69
|
+
event ProcessFee(
|
|
70
|
+
uint256 indexed projectId,
|
|
71
|
+
address indexed token,
|
|
72
|
+
uint256 indexed amount,
|
|
73
|
+
bool wasHeld,
|
|
74
|
+
address beneficiary,
|
|
75
|
+
address caller
|
|
76
|
+
);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### ReturnHeldFees
|
|
80
|
+
|
|
81
|
+
```solidity
|
|
82
|
+
event ReturnHeldFees(
|
|
83
|
+
uint256 indexed projectId,
|
|
84
|
+
address indexed token,
|
|
85
|
+
uint256 indexed amount,
|
|
86
|
+
uint256 returnedFees,
|
|
87
|
+
uint256 leftoverAmount,
|
|
88
|
+
address caller
|
|
89
|
+
);
|
|
90
|
+
```
|
|
91
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# IJBFeelessAddresses
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBFeelessAddresses.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### isFeeless
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function isFeeless(address account) external view returns (bool);
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### setFeelessAddress
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function setFeelessAddress(address account, bool flag) external;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Events
|
|
21
|
+
### SetFeelessAddress
|
|
22
|
+
|
|
23
|
+
```solidity
|
|
24
|
+
event SetFeelessAddress(address indexed addr, bool indexed isFeeless, address caller);
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# IJBFundAccessLimits
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBFundAccessLimits.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### payoutLimitOf
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function payoutLimitOf(
|
|
11
|
+
uint256 projectId,
|
|
12
|
+
uint256 rulesetId,
|
|
13
|
+
address terminal,
|
|
14
|
+
address token,
|
|
15
|
+
uint256 currency
|
|
16
|
+
)
|
|
17
|
+
external
|
|
18
|
+
view
|
|
19
|
+
returns (uint256 payoutLimit);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### payoutLimitsOf
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
```solidity
|
|
26
|
+
function payoutLimitsOf(
|
|
27
|
+
uint256 projectId,
|
|
28
|
+
uint256 rulesetId,
|
|
29
|
+
address terminal,
|
|
30
|
+
address token
|
|
31
|
+
)
|
|
32
|
+
external
|
|
33
|
+
view
|
|
34
|
+
returns (JBCurrencyAmount[] memory payoutLimits);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### surplusAllowanceOf
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
```solidity
|
|
41
|
+
function surplusAllowanceOf(
|
|
42
|
+
uint256 projectId,
|
|
43
|
+
uint256 rulesetId,
|
|
44
|
+
address terminal,
|
|
45
|
+
address token,
|
|
46
|
+
uint256 currency
|
|
47
|
+
)
|
|
48
|
+
external
|
|
49
|
+
view
|
|
50
|
+
returns (uint256 surplusAllowance);
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### surplusAllowancesOf
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
```solidity
|
|
57
|
+
function surplusAllowancesOf(
|
|
58
|
+
uint256 projectId,
|
|
59
|
+
uint256 rulesetId,
|
|
60
|
+
address terminal,
|
|
61
|
+
address token
|
|
62
|
+
)
|
|
63
|
+
external
|
|
64
|
+
view
|
|
65
|
+
returns (JBCurrencyAmount[] memory surplusAllowances);
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### setFundAccessLimitsFor
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
```solidity
|
|
72
|
+
function setFundAccessLimitsFor(
|
|
73
|
+
uint256 projectId,
|
|
74
|
+
uint256 rulesetId,
|
|
75
|
+
JBFundAccessLimitGroup[] memory fundAccessLimitGroups
|
|
76
|
+
)
|
|
77
|
+
external;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Events
|
|
81
|
+
### SetFundAccessLimits
|
|
82
|
+
|
|
83
|
+
```solidity
|
|
84
|
+
event SetFundAccessLimits(
|
|
85
|
+
uint256 indexed rulesetId, uint256 indexed projectId, JBFundAccessLimitGroup fundAccessLimitGroup, address caller
|
|
86
|
+
);
|
|
87
|
+
```
|
|
88
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# IJBMigratable
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/interfaces/IJBMigratable.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
IERC165
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### migrate
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
function migrate(uint256 projectId, IERC165 to) external;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### beforeReceiveMigrationFrom
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
```solidity
|
|
20
|
+
function beforeReceiveMigrationFrom(IERC165 from, uint256 projectId) external;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Events
|
|
24
|
+
### Migrate
|
|
25
|
+
|
|
26
|
+
```solidity
|
|
27
|
+
event Migrate(uint256 indexed projectId, IERC165 to, address caller);
|
|
28
|
+
```
|
|
29
|
+
|