View Source: contracts/modules/UpgradableModuleFactory.solโ
โ Extends: ModuleFactory โ Derived Contracts: BlacklistTransferManagerFactory, CappedSTOFactory, CountTransferManagerFactory, DummySTOFactory, ERC20DividendCheckpointFactory, EtherDividendCheckpointFactory, GeneralPermissionManagerFactory, GeneralTransferManagerFactory, LockUpTransferManagerFactory, ManualApprovalTransferManagerFactory, PercentageTransferManagerFactory, PLCRVotingCheckpointFactory, PreSaleSTOFactory, USDTieredSTOFactory, VestingEscrowWalletFactory, VolumeRestrictionTMFactory, WeightedVoteCheckpointFactoryโ
UpgradableModuleFactory
struct LogicContract {string version,address logicContract,bytes upgradeData}
Constants & Variables
mapping(uint256 => struct UpgradableModuleFactory.LogicContract) public logicContracts;mapping(address => mapping(address => uint256)) public modules;mapping(address => address) public moduleToSecurityToken;uint256 public latestUpgrade;
Events
event LogicContractSet(string _version, uint256 _upgrade, address _logicContract, bytes _upgradeData);event ModuleUpgraded(address indexed _module, address indexed _securityToken, uint256 indexed _version);
โupgrade(address _module)โ
โversion()โ
Constructor
function (string _version, uint256 _setupCost, address _logicContract, address _polymathRegistry, bool _isCostInPoly) public nonpayable ModuleFactory
Arguments
Name | Type | Description |
_version | string | โ |
_setupCost | uint256 | Setup cost of the module |
_logicContract | address | Contract address that contains the logic related to |
_polymathRegistry | address | Address of the Polymath registry |
_isCostInPoly | bool | true = cost in Poly, false = USD |
Used to upgrade the module factory
function setLogicContract(string _version, address _logicContract, bytes _upgradeData) external nonpayable onlyOwner
Arguments
Name | Type | Description |
_version | string | Version of upgraded module |
_logicContract | address | Address of deployed module logic contract referenced from proxy |
_upgradeData | bytes | Data to be passed in call to upgradeToAndCall when a token upgrades its module |
Used to update an existing token logic contract
function updateLogicContract(uint256 _upgrade, string _version, address _logicContract, bytes _upgradeData) external nonpayable onlyOwner
Arguments
Name | Type | Description |
_upgrade | uint256 | logic contract to upgrade |
_version | string | Version of upgraded module |
_logicContract | address | Address of deployed module logic contract referenced from proxy |
_upgradeData | bytes | Data to be passed in call to upgradeToAndCall when a token upgrades its module |
function _modifyLogicContract(uint256 _upgrade, string _version, address _logicContract, bytes _upgradeData) internal nonpayable
Arguments
Name | Type | Description |
_upgrade | uint256 | โ |
_version | string | โ |
_logicContract | address | โ |
_upgradeData | bytes | โ |
Used by a security token to upgrade a given module
function upgrade(address _module) external nonpayable
Arguments
Name | Type | Description |
_module | address | Address of (proxy) module to be upgraded |
โคพ overrides ModuleFactory._initializeModuleโ
Used to initialize the module
function _initializeModule(address _module, bytes _data) internal nonpayable
Arguments
Name | Type | Description |
_module | address | Address of module |
_data | bytes | Data used for the intialization of the module factory variables |
โคพ overrides ModuleFactory.versionโ
Get the version related to the module factory
function version() external viewreturns(string)
Arguments
Name | Type | Description |