Proxy for deploying SecurityToken instances (STFactory.sol)

View Source: contracts/tokens/STFactory.sol

↗ Extends: ISTFactory, Ownable

STFactory

Structs

LogicContract

struct LogicContract {
 string version,
 address logicContract,
 bytes initializationData,
 bytes upgradeData
}

Contract Members

Constants & Variables

//public members
address public transferManagerFactory;
contract DataStoreFactory public dataStoreFactory;
contract IPolymathRegistry public polymathRegistry;
uint256 public latestUpgrade;

//internal members
mapping(address => uint256) internal tokenUpgrade;
mapping(uint256 => struct STFactory.LogicContract) internal logicContracts;

Events

event LogicContractSet(string  _version, uint256  _upgrade, address  _logicContract, bytes  _initializationData, bytes  _upgradeData);
event TokenUpgraded(address indexed _securityToken, uint256 indexed _version);
event DefaultTransferManagerUpdated(address indexed _oldTransferManagerFactory, address indexed _newTransferManagerFactory);
event DefaultDataStoreUpdated(address indexed _oldDataStoreFactory, address indexed _newDataStoreFactory);

Functions

function (address _polymathRegistry, address _transferManagerFactory, address _dataStoreFactory, string _version, address _logicContract, bytes _initializationData) public nonpayable

Arguments

deployToken

⤾ overrides ISTFactory.deployToken

deploys the token and adds default modules like the GeneralTransferManager. Future versions of the proxy can attach different modules or pass different parameters.

function deployToken(string _name, string _symbol, uint8 _decimals, string _tokenDetails, address _issuer, bool _divisible, address _treasuryWallet) external nonpayable
returns(address)

Arguments

_deploy

function _deploy(string _name, string _symbol, uint8 _decimals, string _tokenDetails, bool _divisible) internal nonpayable
returns(address)

Arguments

setLogicContract

⤾ overrides ISTFactory.setLogicContract

Used to set a new token logic contract

function setLogicContract(string _version, address _logicContract, bytes _initializationData, bytes _upgradeData) external nonpayable onlyOwner

Arguments

updateLogicContract

Used to update an existing token logic contract

function updateLogicContract(uint256 _upgrade, string _version, address _logicContract, bytes _initializationData, bytes _upgradeData) external nonpayable onlyOwner

Arguments

_modifyLogicContract

function _modifyLogicContract(uint256 _upgrade, string _version, address _logicContract, bytes _initializationData, bytes _upgradeData) internal nonpayable

Arguments

upgradeToken

⤾ overrides ISTFactory.upgradeToken

Used to upgrade a token

function upgradeToken(uint8 _maxModuleType) external nonpayable

Arguments

updateDefaultTransferManager

⤾ overrides ISTFactory.updateDefaultTransferManager

Used to set a new default transfer manager

function updateDefaultTransferManager(address _transferManagerFactory) external nonpayable onlyOwner

Arguments

updateDefaultDataStore

⤾ overrides ISTFactory.updateDefaultDataStore

Used to set a new default data store

function updateDefaultDataStore(address _dataStoreFactory) external nonpayable onlyOwner

Arguments

Last updated