Skip to content
LogoLogo

IHubPeripheryFactory

Git Source

Functions

isDepositor

Address => Whether this is a depositor deployed by this factory

function isDepositor(address depositor) external view returns (bool);

Parameters

NameTypeDescription
depositoraddress

Returns

NameTypeDescription
<none>bool

isRedeemer

Address => Whether this is a redeemer deployed by this factory

function isRedeemer(address redeemer) external view returns (bool);

Parameters

NameTypeDescription
redeemeraddress

Returns

NameTypeDescription
<none>bool

isFeeManager

Address => Whether this is a fee manager deployed by this factory

function isFeeManager(address feeManager) external view returns (bool);

Parameters

NameTypeDescription
feeManageraddress

Returns

NameTypeDescription
<none>bool

isSecurityModule

Address => Whether this is a security module deployed by this factory

function isSecurityModule(address securityModule) external view returns (bool);

Parameters

NameTypeDescription
securityModuleaddress

Returns

NameTypeDescription
<none>bool

depositorImplemId

Depositor => Implementation ID

function depositorImplemId(address depositor) external view returns (uint16);

Parameters

NameTypeDescription
depositoraddress

Returns

NameTypeDescription
<none>uint16

redeemerImplemId

Redeemer => Implementation ID

function redeemerImplemId(address redeemer) external view returns (uint16);

Parameters

NameTypeDescription
redeemeraddress

Returns

NameTypeDescription
<none>uint16

feeManagerImplemId

Fee manager => Implementation ID

function feeManagerImplemId(address feeManager) external view returns (uint16);

Parameters

NameTypeDescription
feeManageraddress

Returns

NameTypeDescription
<none>uint16

setMachine

Sets the machine address in the machine periphery contract.

function setMachine(address machinePeriphery, address machine) external;

Parameters

NameTypeDescription
machinePeripheryaddressThe address of the machine periphery contract.
machineaddressThe address of the machine to be set.

setSecurityModule

Sets the security module address in the fee manager contract.

function setSecurityModule(address feeManager, address securityModule) external;

Parameters

NameTypeDescription
feeManageraddressThe address of the fee manager contract.
securityModuleaddressThe address of the security module to be set.

createDepositor

Creates a new machine depositor using the specified implementation ID.

function createDepositor(uint16 implemId, bytes calldata initializationData) external returns (address depositor);

Parameters

NameTypeDescription
implemIduint16The ID of the depositor implementation to be used.
initializationDatabytesAdditional initialization data.

Returns

NameTypeDescription
depositoraddressThe address of the newly created depositor.

createRedeemer

Creates a new machine redeemer using the specified implementation ID.

function createRedeemer(uint16 implemId, bytes calldata initializationData) external returns (address redeemer);

Parameters

NameTypeDescription
implemIduint16The ID of the redeemer implementation to be used.
initializationDatabytesAdditional initialization data.

Returns

NameTypeDescription
redeemeraddressThe address of the newly created redeemer.

createFeeManager

Creates a new machine fee manager using the specified implementation ID.

function createFeeManager(uint16 implemId, bytes calldata initializationData) external returns (address feeManager);

Parameters

NameTypeDescription
implemIduint16The ID of the fee manager implementation to be used.
initializationDatabytesAdditional initialization data.

Returns

NameTypeDescription
feeManageraddressThe address of the newly created fee manager.

createSecurityModule

Creates a new security module.

function createSecurityModule(ISecurityModule.SecurityModuleInitParams calldata smParams)
        external
        returns (address securityModule);

Parameters

NameTypeDescription
smParamsISecurityModule.SecurityModuleInitParamsThe security module initialization parameters.

Returns

NameTypeDescription
securityModuleaddressThe address of the newly created security module.

Events

DepositorCreated

event DepositorCreated(address indexed depositor, uint16 indexed implemId);

Parameters

NameTypeDescription
depositoraddress
implemIduint16

RedeemerCreated

event RedeemerCreated(address indexed redeemer, uint16 indexed implemId);

Parameters

NameTypeDescription
redeemeraddress
implemIduint16

FeeManagerCreated

event FeeManagerCreated(address indexed feeManager, uint16 indexed implemId);

Parameters

NameTypeDescription
feeManageraddress
implemIduint16

SecurityModuleCreated

event SecurityModuleCreated(address indexed securityModule);

Parameters

NameTypeDescription
securityModuleaddress