Skip to main content

JBV3TokenDeployer

V3 token deployer which is used by owners of V1 and/or V2 projects to deploy V3 token for their V3 project.

Git Source

Mainnet: 0x6d9899830791de5639C3926C2493c8cC38E6E6C4

Goerli: 0x90ee867396B2755506E2BD8d92A50Ee777115EA3

State Variables

projectDirectory

The V3 & V2 project directory instance (since both use 1 directory instance)

IJBProjects public immutable projectDirectory;

tokenStore

The V3 token store.

IJBV3TokenStore public immutable tokenStore;

Functions

constructor

constructor(IJBProjects _projectDirectory, IJBV3TokenStore _tokenStore);

Parameters

NameTypeDescription
_projectDirectoryIJBProjectsThe V3 & V2 project directory address.
_tokenStoreIJBV3TokenStoreThe token store address.

deploy

Deploy the V3 token and attach it to a V3 project.

Only the V3 project owner can deploy the token.

function deploy(
string calldata _name,
string calldata _symbol,
uint256 _projectId,
ITicketBooth _v1TicketBooth,
IJBV2TokenStore _v2TokenStore,
uint256 _v1ProjectId
) external returns (JBV3Token v3Token);

Parameters

NameTypeDescription
_namestringThe name of the token.
_symbolstringThe symbol that the token should be represented by.
_projectIduint256The V3 ID of the project that this token should exclusively be used for.
_v1TicketBoothITicketBoothV1 Token Booth instance, if V1 migration is desired.
_v2TokenStoreIJBV2TokenStoreV2 Token Store instance, if V2 migration is desired.
_v1ProjectIduint256V1 project ID that this token should include.

Returns

NameTypeDescription
v3TokenJBV3TokenThe address of the new token.

Events

Deploy

event Deploy(uint256 v3ProjectId, address v3Token, address owner);

Errors

NOT_OWNER

error NOT_OWNER();