Creating Sets

Creating a Set:

In order to create a Set, you must call create function on the SetTokenCreator contract. The interface for create is as follows:

function create(
address[] memory _components,
int256[] memory _units,
address[] memory _modules,
address _manager,
string memory _name,
string memory _symbol
)
external
returns (address)

Input the the component addresses, component units in base units (e.g. 1 USDC = 1 * 10 ^ 6), module addresses the Set will interact with (e.g. BasicIssuanceModule), operator address of the Set, Set token name, and Set token symbol.

Returns the address of the SetToken created. The SetToken address can be read off-chain from the SetTokenCreated event.

After creation, ensure the SetToken is initialized in each module it was deployed with. For example, call BasicIssuanceModule.initialize(_setToken) to finalize activation of the module on the SetToken created.