Skip to main content

IHubCoreFactory

Git Source

Inherits: IBridgeAdapterFactory

Functions

isPreDepositVault

Address => Whether this is a PreDepositVault instance deployed by this factory.

function isPreDepositVault(address preDepositVault) external view returns (bool);

isMachine

Address => Whether this is a Machine instance deployed by this factory.

function isMachine(address machine) external view returns (bool);

createPreDepositVault

Deploys a new PreDepositVault instance.

function createPreDepositVault(
IPreDepositVault.PreDepositVaultInitParams calldata params,
address depositToken,
address accountingToken,
string memory tokenName,
string memory tokenSymbol
) external returns (address preDepositVault);

Parameters

NameTypeDescription
paramsIPreDepositVault.PreDepositVaultInitParamsThe initialization parameters.
depositTokenaddressThe address of the deposit token.
accountingTokenaddressThe address of the accounting token.
tokenNamestringThe name of the share token.
tokenSymbolstringThe symbol of the share token.

Returns

NameTypeDescription
preDepositVaultaddressThe address of the deployed PreDepositVault instance.

createMachineFromPreDeposit

Deploys a new Machine instance and migrates an existing PreDepositVault instance to it.

function createMachineFromPreDeposit(
IMachine.MachineInitParams calldata mParams,
ICaliber.CaliberInitParams calldata cParams,
IMakinaGovernable.MakinaGovernableInitParams calldata mgParams,
address preDepositVault,
bytes32 salt
) external returns (address machine);

Parameters

NameTypeDescription
mParamsIMachine.MachineInitParamsThe machine initialization parameters.
cParamsICaliber.CaliberInitParamsThe caliber initialization parameters.
mgParamsIMakinaGovernable.MakinaGovernableInitParamsThe makina governable initialization parameters.
preDepositVaultaddressThe address of the PreDepositVault instance to migrate.
saltbytes32The salt used to deploy the Hub Caliber deterministically.

Returns

NameTypeDescription
machineaddressThe address of the deployed Machine instance.

createMachine

Deploys a new Machine instance.

function createMachine(
IMachine.MachineInitParams calldata mParams,
ICaliber.CaliberInitParams calldata cParams,
IMakinaGovernable.MakinaGovernableInitParams calldata mgParams,
address accountingToken,
string memory tokenName,
string memory tokenSymbol,
bytes32 salt
) external returns (address machine);

Parameters

NameTypeDescription
mParamsIMachine.MachineInitParamsThe machine initialization parameters.
cParamsICaliber.CaliberInitParamsThe caliber initialization parameters.
mgParamsIMakinaGovernable.MakinaGovernableInitParamsThe makina governable initialization parameters.
accountingTokenaddressThe address of the accounting token.
tokenNamestringThe name of the share token.
tokenSymbolstringThe symbol of the share token.
saltbytes32The salt used to deploy the Hub Caliber deterministically.

Returns

NameTypeDescription
machineaddressThe address of the deployed Machine instance.

Events

MachineCreated

event MachineCreated(address indexed machine, address indexed shareToken);

PreDepositVaultCreated

event PreDepositVaultCreated(address indexed preDepositVault, address indexed shareToken);

ShareTokenCreated

event ShareTokenCreated(address indexed shareToken);