Skip to main content

JBTiered721DelegateDeployer

Deploys a tier delegate.


Git Source

Inherits: IJBTiered721DelegateDeployer

Adheres to -

  • IJBTiered721DelegateDeployer: General interface for the generic controller methods in this contract that interacts with funding cycles and tokens according to the protocol's rules.

State Variables

globalGovernance

The contract that supports on-chain governance across all tiers.

JB721GlobalGovernance public immutable globalGovernance;

tieredGovernance

The contract that supports on-chain governance per-tier.

JB721TieredGovernance public immutable tieredGovernance;

noGovernance

The contract that has no on-chain governance.

JBTiered721Delegate public immutable noGovernance;

delegatesRegistry

The delegates registry.

IJBDelegatesRegistry public immutable delegatesRegistry;

_nonce

This contract current nonce, used for the registry

uint256 private _nonce;

Functions

constructor

constructor(
JB721GlobalGovernance _globalGovernance,
JB721TieredGovernance _tieredGovernance,
JBTiered721Delegate _noGovernance,
IJBDelegatesRegistry _delegatesRegistry
);

deployDelegateFor

Deploys a delegate.

function deployDelegateFor(
uint256 _projectId,
JBDeployTiered721DelegateData memory _deployTiered721DelegateData,
IJBDirectory _directory
) external override returns (IJBTiered721Delegate newDelegate);

Parameters

NameTypeDescription
_projectIduint256The ID of the project this contract's functionality applies to.
_deployTiered721DelegateDataJBDeployTiered721DelegateDataData necessary to fulfill the transaction to deploy a delegate.
_directoryIJBDirectoryThe directory of terminals and controllers for projects.

Returns

NameTypeDescription
newDelegateIJBTiered721DelegateThe address of the newly deployed delegate.

Errors

INVALID_GOVERNANCE_TYPE

error INVALID_GOVERNANCE_TYPE();