Skip to content
LogoLogo

IModuleFactory

Git Source

Functions

isMakinaXModule

Module => Whether the module was deployed by this factory.

function isMakinaXModule(address module) external view returns (bool);

Parameters

NameTypeDescription
moduleaddress

Returns

NameTypeDescription
<none>bool

defaultProvider

Provider enforced by default on modules deployed through the free path.

function defaultProvider() external view returns (address);

Returns

NameTypeDescription
<none>address

defaultSwapFeeRate

Swap fee rate enforced by default on modules deployed through the free path, 1e18 = 100%.

function defaultSwapFeeRate() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256

freeDeployment

Whether free module deployment is currently enabled.

function freeDeployment() external view returns (bool);

Returns

NameTypeDescription
<none>bool

createModule

Deploys a new MakinaXModule clone with caller-provided service parameters.

Restricted to authorized deployers.

function createModule(
        IMakinaXModule.MakinaXModuleInitParams calldata params,
        IMakinaXModule.MakinaXModuleServiceParams calldata serviceParams,
        bytes32 salt,
        bytes32 referralKey
    ) external returns (address);

Parameters

NameTypeDescription
paramsIMakinaXModule.MakinaXModuleInitParamsThe strategy and risk initialization parameters for the MakinaXModule.
serviceParamsIMakinaXModule.MakinaXModuleServiceParamsThe protocol-controlled service initialization parameters.
saltbytes32The salt used for deterministic deployment of the module clone.
referralKeybytes32The referral key associated with the module creation.

Returns

NameTypeDescription
<none>addressThe address of the newly deployed MakinaXModule.

createModuleFree

Deploys a new MakinaXModule clone, with service parameters enforced by the factory.

Callable by anyone while free deployment is enabled.

function createModuleFree(IMakinaXModule.MakinaXModuleInitParams calldata params, bytes32 salt, bytes32 referralKey)
        external
        returns (address);

Parameters

NameTypeDescription
paramsIMakinaXModule.MakinaXModuleInitParamsThe strategy and risk initialization parameters for the MakinaXModule.
saltbytes32The caller-scoped salt used for deterministic deployment of the module clone.
referralKeybytes32The referral key associated with the module creation.

Returns

NameTypeDescription
<none>addressThe address of the newly deployed MakinaXModule.

setDefaultProvider

Sets the provider enforced on free deployment.

function setDefaultProvider(address newDefaultProvider) external;

Parameters

NameTypeDescription
newDefaultProvideraddressThe new default provider address.

setDefaultSwapFeeRate

Sets the swap fee rate enforced on free deployment.

function setDefaultSwapFeeRate(uint256 newDefaultSwapFeeRate) external;

Parameters

NameTypeDescription
newDefaultSwapFeeRateuint256The new default swap fee rate, 1e18 = 100%.

setFreeDeployment

Enables or disables free module deployment.

function setFreeDeployment(bool enabled) external;

Parameters

NameTypeDescription
enabledboolTrue to enable free deployment, false to disable it.

Events

MakinaXModuleCreated

event MakinaXModuleCreated(address indexed module, address indexed implementation, bytes32 indexed referralKey);

Parameters

NameTypeDescription
moduleaddress
implementationaddress
referralKeybytes32

DefaultProviderChanged

event DefaultProviderChanged(address indexed oldDefaultProvider, address indexed newDefaultProvider);

Parameters

NameTypeDescription
oldDefaultProvideraddress
newDefaultProvideraddress

DefaultSwapFeeRateChanged

event DefaultSwapFeeRateChanged(uint256 oldDefaultSwapFeeRate, uint256 newDefaultSwapFeeRate);

Parameters

NameTypeDescription
oldDefaultSwapFeeRateuint256
newDefaultSwapFeeRateuint256

FreeDeploymentChanged

event FreeDeploymentChanged(bool enabled);

Parameters

NameTypeDescription
enabledbool