@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
package/docs/src/src/libraries/JBRulesetMetadataResolver.sol/library.JBRulesetMetadataResolver.md
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# JBRulesetMetadataResolver
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/libraries/JBRulesetMetadataResolver.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### reservedPercent
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function reservedPercent(JBRuleset memory ruleset) internal pure returns (uint16);
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### cashOutTaxRate
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function cashOutTaxRate(JBRuleset memory ruleset) internal pure returns (uint16);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### baseCurrency
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
```solidity
|
|
24
|
+
function baseCurrency(JBRuleset memory ruleset) internal pure returns (uint32);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### pausePay
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
```solidity
|
|
31
|
+
function pausePay(JBRuleset memory ruleset) internal pure returns (bool);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### pauseCreditTransfers
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
```solidity
|
|
38
|
+
function pauseCreditTransfers(JBRuleset memory ruleset) internal pure returns (bool);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### allowOwnerMinting
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
```solidity
|
|
45
|
+
function allowOwnerMinting(JBRuleset memory ruleset) internal pure returns (bool);
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### allowSetCustomToken
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
```solidity
|
|
52
|
+
function allowSetCustomToken(JBRuleset memory ruleset) internal pure returns (bool);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### allowTerminalMigration
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
```solidity
|
|
59
|
+
function allowTerminalMigration(JBRuleset memory ruleset) internal pure returns (bool);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### allowSetTerminals
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
```solidity
|
|
66
|
+
function allowSetTerminals(JBRuleset memory ruleset) internal pure returns (bool);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### allowSetController
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
```solidity
|
|
73
|
+
function allowSetController(JBRuleset memory ruleset) internal pure returns (bool);
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### allowAddAccountingContext
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
```solidity
|
|
80
|
+
function allowAddAccountingContext(JBRuleset memory ruleset) internal pure returns (bool);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### allowAddPriceFeed
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
```solidity
|
|
87
|
+
function allowAddPriceFeed(JBRuleset memory ruleset) internal pure returns (bool);
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### ownerMustSendPayouts
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
```solidity
|
|
94
|
+
function ownerMustSendPayouts(JBRuleset memory ruleset) internal pure returns (bool);
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### holdFees
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
```solidity
|
|
101
|
+
function holdFees(JBRuleset memory ruleset) internal pure returns (bool);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### useTotalSurplusForCashOuts
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
```solidity
|
|
108
|
+
function useTotalSurplusForCashOuts(JBRuleset memory ruleset) internal pure returns (bool);
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### useDataHookForPay
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
```solidity
|
|
115
|
+
function useDataHookForPay(JBRuleset memory ruleset) internal pure returns (bool);
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### useDataHookForCashOut
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
```solidity
|
|
122
|
+
function useDataHookForCashOut(JBRuleset memory ruleset) internal pure returns (bool);
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### dataHook
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
```solidity
|
|
129
|
+
function dataHook(JBRuleset memory ruleset) internal pure returns (address);
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### metadata
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
```solidity
|
|
136
|
+
function metadata(JBRuleset memory ruleset) internal pure returns (uint16);
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### packRulesetMetadata
|
|
140
|
+
|
|
141
|
+
Pack the funding cycle metadata.
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
```solidity
|
|
145
|
+
function packRulesetMetadata(JBRulesetMetadata memory rulesetMetadata) internal pure returns (uint256 packed);
|
|
146
|
+
```
|
|
147
|
+
**Parameters**
|
|
148
|
+
|
|
149
|
+
|Name|Type|Description|
|
|
150
|
+
|----|----|-----------|
|
|
151
|
+
|`rulesetMetadata`|`JBRulesetMetadata`|The ruleset metadata to validate and pack.|
|
|
152
|
+
|
|
153
|
+
**Returns**
|
|
154
|
+
|
|
155
|
+
|Name|Type|Description|
|
|
156
|
+
|----|----|-----------|
|
|
157
|
+
|`packed`|`uint256`|The packed uint256 of all metadata params. The first 8 bits specify the version.|
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
### expandMetadata
|
|
161
|
+
|
|
162
|
+
Expand the funding cycle metadata.
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
```solidity
|
|
166
|
+
function expandMetadata(JBRuleset memory ruleset) internal pure returns (JBRulesetMetadata memory);
|
|
167
|
+
```
|
|
168
|
+
**Parameters**
|
|
169
|
+
|
|
170
|
+
|Name|Type|Description|
|
|
171
|
+
|----|----|-----------|
|
|
172
|
+
|`ruleset`|`JBRuleset`|The funding cycle having its metadata expanded.|
|
|
173
|
+
|
|
174
|
+
**Returns**
|
|
175
|
+
|
|
176
|
+
|Name|Type|Description|
|
|
177
|
+
|----|----|-----------|
|
|
178
|
+
|`<none>`|`JBRulesetMetadata`|rulesetMetadata The ruleset's metadata object.|
|
|
179
|
+
|
|
180
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# JBSplitGroupIds
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/libraries/JBSplitGroupIds.sol)
|
|
3
|
+
|
|
4
|
+
Group IDs that categorize splits.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## State Variables
|
|
8
|
+
### RESERVED_TOKENS
|
|
9
|
+
|
|
10
|
+
```solidity
|
|
11
|
+
uint256 public constant RESERVED_TOKENS = 1;
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# JBSurplus
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/libraries/JBSurplus.sol)
|
|
3
|
+
|
|
4
|
+
Surplus calculations.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
### currentSurplusOf
|
|
9
|
+
|
|
10
|
+
Gets the total current surplus amount across all of a project's terminals.
|
|
11
|
+
|
|
12
|
+
*This amount changes as the value of the balances changes in relation to the currency being used to measure
|
|
13
|
+
the project's payout limits.*
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function currentSurplusOf(
|
|
18
|
+
uint256 projectId,
|
|
19
|
+
IJBTerminal[] memory terminals,
|
|
20
|
+
JBAccountingContext[] memory accountingContexts,
|
|
21
|
+
uint256 decimals,
|
|
22
|
+
uint256 currency
|
|
23
|
+
)
|
|
24
|
+
internal
|
|
25
|
+
view
|
|
26
|
+
returns (uint256 surplus);
|
|
27
|
+
```
|
|
28
|
+
**Parameters**
|
|
29
|
+
|
|
30
|
+
|Name|Type|Description|
|
|
31
|
+
|----|----|-----------|
|
|
32
|
+
|`projectId`|`uint256`|The ID of the project to get the total surplus for.|
|
|
33
|
+
|`terminals`|`IJBTerminal[]`|The terminals to look for surplus within.|
|
|
34
|
+
|`accountingContexts`|`JBAccountingContext[]`|The accounting contexts to use to calculate the surplus.|
|
|
35
|
+
|`decimals`|`uint256`|The number of decimals that the fixed point surplus result should include.|
|
|
36
|
+
|`currency`|`uint256`|The currency that the surplus result should be in terms of.|
|
|
37
|
+
|
|
38
|
+
**Returns**
|
|
39
|
+
|
|
40
|
+
|Name|Type|Description|
|
|
41
|
+
|----|----|-----------|
|
|
42
|
+
|`surplus`|`uint256`|The total surplus of a project's funds in terms of `currency`, as a fixed point number with the specified number of decimals.|
|
|
43
|
+
|
|
44
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Contents
|
|
4
|
+
- [JBCashOuts](JBCashOuts.sol/library.JBCashOuts.md)
|
|
5
|
+
- [JBConstants](JBConstants.sol/library.JBConstants.md)
|
|
6
|
+
- [JBCurrencyIds](JBCurrencyIds.sol/library.JBCurrencyIds.md)
|
|
7
|
+
- [JBFees](JBFees.sol/library.JBFees.md)
|
|
8
|
+
- [JBFixedPointNumber](JBFixedPointNumber.sol/library.JBFixedPointNumber.md)
|
|
9
|
+
- [JBMetadataResolver](JBMetadataResolver.sol/library.JBMetadataResolver.md)
|
|
10
|
+
- [JBRulesetMetadataResolver](JBRulesetMetadataResolver.sol/library.JBRulesetMetadataResolver.md)
|
|
11
|
+
- [JBSplitGroupIds](JBSplitGroupIds.sol/library.JBSplitGroupIds.md)
|
|
12
|
+
- [JBSurplus](JBSurplus.sol/library.JBSurplus.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# JBDeadline1Day
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/periphery/JBDeadline1Day.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[JBDeadline](/src/JBDeadline.sol/contract.JBDeadline.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### constructor
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
constructor() JBDeadline(1 days);
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# JBDeadline3Days
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/periphery/JBDeadline3Days.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[JBDeadline](/src/JBDeadline.sol/contract.JBDeadline.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### constructor
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
constructor() JBDeadline(3 days);
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# JBDeadline3Hours
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/periphery/JBDeadline3Hours.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[JBDeadline](/src/JBDeadline.sol/contract.JBDeadline.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### constructor
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
constructor() JBDeadline(3 hours);
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# JBDeadline7Days
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/periphery/JBDeadline7Days.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[JBDeadline](/src/JBDeadline.sol/contract.JBDeadline.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### constructor
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
constructor() JBDeadline(7 days);
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# JBMatchingPriceFeed
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/periphery/JBMatchingPriceFeed.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IJBPriceFeed](/src/interfaces/IJBPriceFeed.sol/interface.IJBPriceFeed.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### constructor
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
constructor();
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### currentUnitPrice
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
```solidity
|
|
20
|
+
function currentUnitPrice(uint256 decimals) public view virtual override returns (uint256);
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Contents
|
|
4
|
+
- [JBDeadline1Day](JBDeadline1Day.sol/contract.JBDeadline1Day.md)
|
|
5
|
+
- [JBDeadline3Days](JBDeadline3Days.sol/contract.JBDeadline3Days.md)
|
|
6
|
+
- [JBDeadline3Hours](JBDeadline3Hours.sol/contract.JBDeadline3Hours.md)
|
|
7
|
+
- [JBDeadline7Days](JBDeadline7Days.sol/contract.JBDeadline7Days.md)
|
|
8
|
+
- [JBMatchingPriceFeed](JBMatchingPriceFeed.sol/contract.JBMatchingPriceFeed.md)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# JBAccountingContext
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBAccountingContext.sol)
|
|
3
|
+
|
|
4
|
+
**Notes:**
|
|
5
|
+
- member: token The address of the token that accounting is being done with.
|
|
6
|
+
|
|
7
|
+
- member: decimals The number of decimals expected in that token's fixed point accounting.
|
|
8
|
+
|
|
9
|
+
- member: currency The currency that the token is priced in terms of. By convention, this is
|
|
10
|
+
`uint32(uint160(tokenAddress))` for tokens, or a constant ID from e.g. `JBCurrencyIds` for other currencies.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
```solidity
|
|
14
|
+
struct JBAccountingContext {
|
|
15
|
+
address token;
|
|
16
|
+
uint8 decimals;
|
|
17
|
+
uint32 currency;
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# JBAfterCashOutRecordedContext
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBAfterCashOutRecordedContext.sol)
|
|
3
|
+
|
|
4
|
+
**Notes:**
|
|
5
|
+
- member: holder The holder of the tokens being cashed out.
|
|
6
|
+
|
|
7
|
+
- member: projectId The ID of the project being cashed out from.
|
|
8
|
+
|
|
9
|
+
- member: rulesetId The ID of the ruleset the cash out is being made during.
|
|
10
|
+
|
|
11
|
+
- member: cashOutCount The number of project tokens being cashed out.
|
|
12
|
+
|
|
13
|
+
- member: cashOutTaxRate The current ruleset's cash out tax rate.
|
|
14
|
+
|
|
15
|
+
- member: reclaimedAmount The token amount being reclaimed from the project's terminal balance. Includes the
|
|
16
|
+
token being
|
|
17
|
+
reclaimed, the value, the number of decimals included, and the currency of the amount.
|
|
18
|
+
|
|
19
|
+
- member: forwardedAmount The token amount being forwarded to the cash out hook. Includes the token
|
|
20
|
+
being forwarded, the value, the number of decimals included, and the currency of the amount.
|
|
21
|
+
|
|
22
|
+
- member: beneficiary The address the reclaimed amount will be sent to.
|
|
23
|
+
|
|
24
|
+
- member: hookMetadata Extra data specified by the data hook, which is sent to the cash out hook.
|
|
25
|
+
|
|
26
|
+
- member: cashOutMetadata Extra data specified by the account cashing out, which is sent to the cash out hook.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
```solidity
|
|
30
|
+
struct JBAfterCashOutRecordedContext {
|
|
31
|
+
address holder;
|
|
32
|
+
uint256 projectId;
|
|
33
|
+
uint256 rulesetId;
|
|
34
|
+
uint256 cashOutCount;
|
|
35
|
+
JBTokenAmount reclaimedAmount;
|
|
36
|
+
JBTokenAmount forwardedAmount;
|
|
37
|
+
uint256 cashOutTaxRate;
|
|
38
|
+
address payable beneficiary;
|
|
39
|
+
bytes hookMetadata;
|
|
40
|
+
bytes cashOutMetadata;
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
package/docs/src/src/structs/JBAfterPayRecordedContext.sol/struct.JBAfterPayRecordedContext.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# JBAfterPayRecordedContext
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBAfterPayRecordedContext.sol)
|
|
3
|
+
|
|
4
|
+
**Notes:**
|
|
5
|
+
- member: payer The address the payment originated from.
|
|
6
|
+
|
|
7
|
+
- member: projectId The ID of the project being paid.
|
|
8
|
+
|
|
9
|
+
- member: rulesetId The ID of the ruleset the payment is being made during.
|
|
10
|
+
|
|
11
|
+
- member: amount The payment's token amount. Includes the token being paid, the value, the number of decimals
|
|
12
|
+
included, and the currency of the amount.
|
|
13
|
+
|
|
14
|
+
- member: forwardedAmount The token amount being forwarded to the pay hook. Includes the token
|
|
15
|
+
being paid, the value, the number of decimals included, and the currency of the amount.
|
|
16
|
+
|
|
17
|
+
- member: weight The current ruleset's weight (used to determine how many tokens should be minted).
|
|
18
|
+
|
|
19
|
+
- member: newlyIssuedTokenCount The number of project tokens minted for the beneficiary.
|
|
20
|
+
|
|
21
|
+
- member: beneficiary The address which receives any tokens this payment yields.
|
|
22
|
+
|
|
23
|
+
- member: hookMetadata Extra data specified by the data hook, which is sent to the pay hook.
|
|
24
|
+
|
|
25
|
+
- member: payerMetadata Extra data specified by the payer, which is sent to the pay hook.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
```solidity
|
|
29
|
+
struct JBAfterPayRecordedContext {
|
|
30
|
+
address payer;
|
|
31
|
+
uint256 projectId;
|
|
32
|
+
uint256 rulesetId;
|
|
33
|
+
JBTokenAmount amount;
|
|
34
|
+
JBTokenAmount forwardedAmount;
|
|
35
|
+
uint256 weight;
|
|
36
|
+
uint256 newlyIssuedTokenCount;
|
|
37
|
+
address beneficiary;
|
|
38
|
+
bytes hookMetadata;
|
|
39
|
+
bytes payerMetadata;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# JBBeforeCashOutRecordedContext
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBBeforeCashOutRecordedContext.sol)
|
|
3
|
+
|
|
4
|
+
Context sent from the terminal to the ruleset's data hook upon cash out.
|
|
5
|
+
|
|
6
|
+
**Notes:**
|
|
7
|
+
- member: terminal The terminal that is facilitating the cash out.
|
|
8
|
+
|
|
9
|
+
- member: holder The holder of the tokens being cashed out.
|
|
10
|
+
|
|
11
|
+
- member: projectId The ID of the project whose tokens are being cashed out.
|
|
12
|
+
|
|
13
|
+
- member: rulesetId The ID of the ruleset the cash out is being made during.
|
|
14
|
+
|
|
15
|
+
- member: cashOutCount The number of tokens being cashed out, as a fixed point number with 18 decimals.
|
|
16
|
+
|
|
17
|
+
- member: totalSupply The total token supply being used for the calculation, as a fixed point number with 18
|
|
18
|
+
decimals.
|
|
19
|
+
|
|
20
|
+
- member: surplus The surplus amount used for the calculation, as a fixed point number with 18 decimals.
|
|
21
|
+
Includes the token of the surplus, the surplus value, the number of decimals
|
|
22
|
+
included, and the currency of the surplus.
|
|
23
|
+
|
|
24
|
+
- member: useTotalSurplus If surplus across all of a project's terminals is being used when making cash outs.
|
|
25
|
+
|
|
26
|
+
- member: cashOutTaxRate The cash out tax rate of the ruleset the cash out is being made during.
|
|
27
|
+
|
|
28
|
+
- member: metadata Extra data provided by the casher.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
```solidity
|
|
32
|
+
struct JBBeforeCashOutRecordedContext {
|
|
33
|
+
address terminal;
|
|
34
|
+
address holder;
|
|
35
|
+
uint256 projectId;
|
|
36
|
+
uint256 rulesetId;
|
|
37
|
+
uint256 cashOutCount;
|
|
38
|
+
uint256 totalSupply;
|
|
39
|
+
JBTokenAmount surplus;
|
|
40
|
+
bool useTotalSurplus;
|
|
41
|
+
uint256 cashOutTaxRate;
|
|
42
|
+
bytes metadata;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
package/docs/src/src/structs/JBBeforePayRecordedContext.sol/struct.JBBeforePayRecordedContext.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# JBBeforePayRecordedContext
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBBeforePayRecordedContext.sol)
|
|
3
|
+
|
|
4
|
+
Context sent from the terminal to the ruleset's data hook upon payment.
|
|
5
|
+
|
|
6
|
+
**Notes:**
|
|
7
|
+
- member: terminal The terminal that is facilitating the payment.
|
|
8
|
+
|
|
9
|
+
- member: payer The address that the payment originated from.
|
|
10
|
+
|
|
11
|
+
- member: amount The payment's token amount, including the token being paid, the value, the number of decimals
|
|
12
|
+
included, and the currency of the amount.
|
|
13
|
+
|
|
14
|
+
- member: projectId The ID of the project being paid.
|
|
15
|
+
|
|
16
|
+
- member: rulesetId The ID of the ruleset the payment is being made during.
|
|
17
|
+
|
|
18
|
+
- member: beneficiary The specified address that should be the beneficiary of anything that this payment
|
|
19
|
+
yields.
|
|
20
|
+
|
|
21
|
+
- member: weight The weight of the ruleset during which the payment is being made.
|
|
22
|
+
|
|
23
|
+
- member: reservedPercent The reserved percent of the ruleset the payment is being made during.
|
|
24
|
+
|
|
25
|
+
- member: metadata Extra data specified by the payer.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
```solidity
|
|
29
|
+
struct JBBeforePayRecordedContext {
|
|
30
|
+
address terminal;
|
|
31
|
+
address payer;
|
|
32
|
+
JBTokenAmount amount;
|
|
33
|
+
uint256 projectId;
|
|
34
|
+
uint256 rulesetId;
|
|
35
|
+
address beneficiary;
|
|
36
|
+
uint256 weight;
|
|
37
|
+
uint256 reservedPercent;
|
|
38
|
+
bytes metadata;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
package/docs/src/src/structs/JBCashOutHookSpecification.sol/struct.JBCashOutHookSpecification.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# JBCashOutHookSpecification
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBCashOutHookSpecification.sol)
|
|
3
|
+
|
|
4
|
+
A cash out hook specification sent from the ruleset's data hook back to the terminal. This specification is
|
|
5
|
+
fulfilled by the terminal.
|
|
6
|
+
|
|
7
|
+
**Notes:**
|
|
8
|
+
- member: hook The cash out hook to use when fulfilling this specification.
|
|
9
|
+
|
|
10
|
+
- member: amount The amount to send to the hook.
|
|
11
|
+
|
|
12
|
+
- member: metadata Metadata to pass to the hook.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
```solidity
|
|
16
|
+
struct JBCashOutHookSpecification {
|
|
17
|
+
IJBCashOutHook hook;
|
|
18
|
+
uint256 amount;
|
|
19
|
+
bytes metadata;
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# JBCurrencyAmount
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBCurrencyAmount.sol)
|
|
3
|
+
|
|
4
|
+
**Notes:**
|
|
5
|
+
- member: amount The amount of the currency.
|
|
6
|
+
|
|
7
|
+
- member: currency The currency. By convention, this is `uint32(uint160(tokenAddress))` for tokens, or a
|
|
8
|
+
constant ID from e.g. `JBCurrencyIds` for other currencies.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
```solidity
|
|
12
|
+
struct JBCurrencyAmount {
|
|
13
|
+
uint224 amount;
|
|
14
|
+
uint32 currency;
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# JBFee
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBFee.sol)
|
|
3
|
+
|
|
4
|
+
**Notes:**
|
|
5
|
+
- member: amount The total amount the fee was taken from, as a fixed point number with the same number of
|
|
6
|
+
decimals as the terminal in which this struct was created.
|
|
7
|
+
|
|
8
|
+
- member: beneficiary The address that will receive the tokens that are minted as a result of the fee payment.
|
|
9
|
+
|
|
10
|
+
- member: unlockTimestamp The timestamp at which the fee is unlocked and can be processed.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
```solidity
|
|
14
|
+
struct JBFee {
|
|
15
|
+
uint256 amount;
|
|
16
|
+
address beneficiary;
|
|
17
|
+
uint48 unlockTimestamp;
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# JBFundAccessLimitGroup
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBFundAccessLimitGroup.sol)
|
|
3
|
+
|
|
4
|
+
*Payout limit example: if the `amount` is 5, the `currency` is 1 (USD), and the terminal's token is ETH, then
|
|
5
|
+
the project can pay out 5 USD worth of ETH during a ruleset.*
|
|
6
|
+
|
|
7
|
+
*Surplus allowance example: if the `amount` is 5, the `currency` is 1 (USD), and the terminal's token is ETH,
|
|
8
|
+
then the project can pay out 5 USD worth of ETH from its surplus during a ruleset. A project's surplus is its
|
|
9
|
+
balance minus its current combined payout limit.*
|
|
10
|
+
|
|
11
|
+
*If a project has multiple payout limits or surplus allowances, they are all available. They can all be used
|
|
12
|
+
during a single ruleset.*
|
|
13
|
+
|
|
14
|
+
*The payout limits' and surplus allowances' fixed point amounts have the same number of decimals as the
|
|
15
|
+
terminal.*
|
|
16
|
+
|
|
17
|
+
**Notes:**
|
|
18
|
+
- member: terminal The terminal that the payout limits and surplus allowances apply to.
|
|
19
|
+
|
|
20
|
+
- member: token The token that the payout limits and surplus allowances apply to within the `terminal`.
|
|
21
|
+
|
|
22
|
+
- member: payoutLimits An array of payout limits. The payout limits cumulatively dictate the maximum value of
|
|
23
|
+
`token`s a project can pay out from its balance in a terminal during a ruleset. Each payout limit can have a unique
|
|
24
|
+
currency and amount.
|
|
25
|
+
|
|
26
|
+
- member: surplusAllowances An array of surplus allowances. The surplus allowances cumulatively dictates the
|
|
27
|
+
maximum value of `token`s a project can pay out from its surplus (balance less payouts) in a terminal during a
|
|
28
|
+
ruleset. Each surplus allowance can have a unique currency and amount.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
```solidity
|
|
32
|
+
struct JBFundAccessLimitGroup {
|
|
33
|
+
address terminal;
|
|
34
|
+
address token;
|
|
35
|
+
JBCurrencyAmount[] payoutLimits;
|
|
36
|
+
JBCurrencyAmount[] surplusAllowances;
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# JBPayHookSpecification
|
|
2
|
+
[Git Source](https://github.com/Bananapus/nana-core/blob/2998dca2fbd2658e2c8791d6dc8348147d69e28e/src/structs/JBPayHookSpecification.sol)
|
|
3
|
+
|
|
4
|
+
A pay hook specification sent from the ruleset's data hook back to the terminal. This specification is
|
|
5
|
+
fulfilled by the terminal.
|
|
6
|
+
|
|
7
|
+
**Notes:**
|
|
8
|
+
- member: hook The pay hook to use when fulfilling this specification.
|
|
9
|
+
|
|
10
|
+
- member: amount The amount to send to the hook.
|
|
11
|
+
|
|
12
|
+
- member: metadata Metadata to pass the hook.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
```solidity
|
|
16
|
+
struct JBPayHookSpecification {
|
|
17
|
+
IJBPayHook hook;
|
|
18
|
+
uint256 amount;
|
|
19
|
+
bytes metadata;
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|