Skip to main content

Contracts

ContractDescription
JBProjectsStores project ownership and identifying information.
JBTokenStoreManage token minting, burning, and account balances.
JBFundingCycleStoreManages funding cycle scheduling.
JBSplitsStoreStores splits information for all groups of each project. Projects can create split groups for directing percents of a total token allocation to any address, any other Juicebox project, or any contract that inherits from the IJBSplitAllocator interface.
JBPricesManages and normalizes price feeds.
JBOperatorStoreStores operator permissions for all addresses. Addresses can give permissions to any other address to take specific indexed actions on their behalf.
JBDirectoryKeeps a reference of which terminal contracts each project is currently accepting funds through, and which controller contract is managing each project's tokens and funding cycles.
JBController3_1Stitches together funding cycles and project tokens, making sure all activity is accounted for and correct.
JBFundAccessConstraintsStoreInformation pertaining to how much funds can be accessed by a project from each payment terminal.
JBETHPaymentTerminal3_1Manages inflows and outflows of ETH funds into the protocol ecosystem. This contract contains minor inefficiencies.
JBETHPaymentTerminal3_1_1Manages inflows and outflows of ETH funds into the protocol ecosystem. This contract contains minor inefficiencies.
JBETHPaymentTerminal3_1_2Manages inflows and outflows of ETH funds into the protocol ecosystem. This contract contains several improvements over 3_1_1 and 3_1.
JBSingleTokenPaymentTerminalStore3_1Manages all bookkeeping for inflows and outflows of funds for JBETHPaymentTerminal3_1.
JBSingleTokenPaymentTerminalStore3_1_1Manages bookkeeping for inflows and outflows of funds for JBETHPaymentTerminal3_1_1.
JBETHERC20ProjectPayerSends ETH or ERC20's to a project treasury as it receives direct payments or has it's functions called.
JBETHERC20ProjectPayerDeployerDeploys project payer contracts.
JBETHERC20SplitsPayerSends ETH or ERC20's to a group of splits as it receives direct payments or has its functions called.
JBETHERC20SplitsPayerDeployerDeploys splits payer contracts.