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

Functions

Arguments

Name

Type

Description

_polymathRegistry

address

_transferManagerFactory

address

_dataStoreFactory

address

_version

string

_logicContract

address

_initializationData

bytes

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.

Arguments

Name

Type

Description

_name

string

_symbol

string

_decimals

uint8

_tokenDetails

string

_issuer

address

_divisible

bool

_treasuryWallet

address

_deploy

Arguments

Name

Type

Description

_name

string

_symbol

string

_decimals

uint8

_tokenDetails

string

_divisible

bool

setLogicContract

⤾ overrides ISTFactory.setLogicContract

Used to set a new token logic contract

Arguments

Name

Type

Description

_version

string

Version of upgraded module

_logicContract

address

Address of deployed module logic contract referenced from proxy

_initializationData

bytes

Initialization data that used to intialize value in the securityToken

_upgradeData

bytes

Data to be passed in call to upgradeToAndCall when a token upgrades its module

updateLogicContract

Used to update an existing token logic contract

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

_initializationData

bytes

_upgradeData

bytes

Data to be passed in call to upgradeToAndCall when a token upgrades its module

_modifyLogicContract

Arguments

Name

Type

Description

_upgrade

uint256

_version

string

_logicContract

address

_initializationData

bytes

_upgradeData

bytes

upgradeToken

⤾ overrides ISTFactory.upgradeToken

Used to upgrade a token

Arguments

Name

Type

Description

_maxModuleType

uint8

maximum module type enumeration

updateDefaultTransferManager

⤾ overrides ISTFactory.updateDefaultTransferManager

Used to set a new default transfer manager

Arguments

Name

Type

Description

_transferManagerFactory

address

Address of new default transfer manager factory

updateDefaultDataStore

⤾ overrides ISTFactory.updateDefaultDataStore

Used to set a new default data store

Arguments

Name

Type

Description

_dataStoreFactory

address

Address of new default data store factory

Last updated

Was this helpful?