Registry contract for issuers to register their tickers and security tokens (SecurityTokenRegistry.s
View Source: contracts/SecurityTokenRegistry.sol
↗ Extends: EternalStorage, Proxy ↘ Derived Contracts: SecurityTokenRegistryMock
SecurityTokenRegistry
Contract Members
Constants & Variables
bytes32 internal constant INITIALIZE;
bytes32 internal constant POLYTOKEN;
bytes32 internal constant STLAUNCHFEE;
bytes32 internal constant TICKERREGFEE;
bytes32 internal constant EXPIRYLIMIT;
bytes32 internal constant PAUSED;
bytes32 internal constant OWNER;
bytes32 internal constant POLYMATHREGISTRY;
bytes32 internal constant STRGETTER;
bytes32 internal constant IS_FEE_IN_POLY;
bytes32 internal constant ACTIVE_USERS;
bytes32 internal constant LATEST_VERSION;
string internal constant POLY_ORACLE;Events
Modifiers
onlyOwner
Throws if called by any account other than the owner.
Arguments
Name
Type
Description
onlyOwnerOrSelf
Arguments
Name
Type
Description
whenNotPausedOrOwner
Modifier to make a function callable only when the contract is not paused.
Arguments
Name
Type
Description
whenNotPaused
Modifier to make a function callable only when the contract is not paused and ignore is msg.sender is owner.
Arguments
Name
Type
Description
whenPaused
Modifier to make a function callable only when the contract is paused.
Arguments
Name
Type
Description
Functions
_onlyOwner
Arguments
Name
Type
Description
_whenNotPausedOrOwner
Arguments
Name
Type
Description
Arguments
Name
Type
Description
initialize
Initializes instance of STR
Arguments
Name
Type
Description
_polymathRegistry
address
is the address of the Polymath Registry
_stLaunchFee
uint256
is the fee in USD required to launch a token
_tickerRegFee
uint256
is the fee in USD required to register a ticker
_owner
address
is the owner of the STR,
_getterContract
address
Contract address of the contract which consists getter functions.
updateFromRegistry
Used to update the polyToken contract address
Arguments
Name
Type
Description
_updateFromRegistry
Arguments
Name
Type
Description
_takeFee
Converts USD fees into POLY amounts
Arguments
Name
Type
Description
_feeType
bytes32
getFees
Returns the usd & poly fee for a particular feetype
Arguments
Name
Type
Description
_feeType
bytes32
Key corresponding to fee type
getSecurityTokenLaunchFee
Gets the security token launch fee
Returns
Fee amount
Arguments
Name
Type
Description
getTickerRegistrationFee
Gets the ticker registration fee
Returns
Fee amount
Arguments
Name
Type
Description
setGetterRegistry
Set the getter contract address
Arguments
Name
Type
Description
_getterContract
address
Address of the contract
_implementation
⤾ overrides Proxy._implementation
Arguments
Name
Type
Description
registerNewTicker
Registers the token ticker to the selected owner
Arguments
Name
Type
Description
_owner
address
is address of the owner of the token
_ticker
string
is unique token ticker
registerTicker
This function is just for backwards compatibility
Arguments
Name
Type
Description
_owner
address
_ticker
string
_tokenName
string
_addTicker
Internal - Sets the details of the ticker
Arguments
Name
Type
Description
_owner
address
_ticker
string
_registrationDate
uint256
_expiryDate
uint256
_status
bool
_fromAdmin
bool
_polyFee
uint256
_usdFee
uint256
modifyExistingTicker
Modifies the ticker details. Only Polymath has the ability to do so.
Arguments
Name
Type
Description
_owner
address
is the owner of the token
_ticker
string
is the token ticker
_registrationDate
uint256
is the date at which ticker is registered
_expiryDate
uint256
is the expiry date for the ticker
_status
bool
is the token deployment status
modifyTicker
This function is just for backwards compatibility
Arguments
Name
Type
Description
_owner
address
_ticker
string
_tokenName
string
_registrationDate
uint256
_expiryDate
uint256
_status
bool
_modifyTicker
Internal -- Modifies the ticker details.
Arguments
Name
Type
Description
_owner
address
_ticker
string
_registrationDate
uint256
_expiryDate
uint256
_status
bool
_tickerOwner
Arguments
Name
Type
Description
_ticker
string
removeTicker
Removes the ticker details, associated ownership & security token mapping
Arguments
Name
Type
Description
_ticker
string
is the token ticker
tickerAvailable
Checks if the entered ticker is registered and has not expired
Returns
bool
Arguments
Name
Type
Description
_ticker
string
is the token ticker
_tickerStatus
Arguments
Name
Type
Description
_ticker
string
_setTickerOwnership
Internal - Sets the ticker owner
Arguments
Name
Type
Description
_owner
address
is the address of the owner of the ticker
_ticker
string
is the ticker symbol
_storeTickerDetails
Internal - Stores the ticker details
Arguments
Name
Type
Description
_ticker
string
_owner
address
_registrationDate
uint256
_expiryDate
uint256
_status
bool
transferTickerOwnership
Transfers the ownership of the ticker
Arguments
Name
Type
Description
_newOwner
address
is the address of the new owner of the ticker
_ticker
string
is the ticker symbol
_deleteTickerOwnership
Internal - Removes the owner of a ticker
Arguments
Name
Type
Description
_owner
address
_ticker
string
changeExpiryLimit
Changes the expiry time for the token ticker. Only available to Polymath.
Arguments
Name
Type
Description
_newExpiry
uint256
is the new expiry for newly generated tickers
generateSecurityToken
Deploys an instance of a new Security Token of version 2.0 and records it to the registry
Arguments
Name
Type
Description
_name
string
is the name of the token
_ticker
string
is the ticker symbol of the security token
_tokenDetails
string
is the off-chain details of the token
_divisible
bool
is whether or not the token is divisible
generateNewSecurityToken
Deploys an instance of a new Security Token and records it to the registry
Arguments
Name
Type
Description
_name
string
is the name of the token
_ticker
string
is the ticker symbol of the security token
_tokenDetails
string
is the off-chain details of the token
_divisible
bool
is whether or not the token is divisible
_treasuryWallet
address
Ethereum address which will holds the STs.
_protocolVersion
uint256
Version of securityToken contract
_protocolVersionis the packed value of uin8[3] array (it will be calculated offchain)if _protocolVersion == 0 then latest version of securityToken will be generated |
refreshSecurityToken
Deploys an instance of a new Security Token and replaces the old one in the registry This can be used to upgrade from version 2.0 of ST to 3.0 or in case something goes wrong with earlier ST
Arguments
Name
Type
Description
_name
string
is the name of the token
_ticker
string
is the ticker symbol of the security token
_tokenDetails
string
is the off-chain details of the token
_divisible
bool
is whether or not the token is divisible
_treasuryWallet
address
_deployToken
Arguments
Name
Type
Description
_name
string
_ticker
string
_tokenDetails
string
_issuer
address
_divisible
bool
_wallet
address
_protocolVersion
uint256
modifyExistingSecurityToken
Adds a new custom Security Token and saves it to the registry. (Token should follow the ISecurityToken interface)
Arguments
Name
Type
Description
_ticker
string
is the ticker symbol of the security token
_owner
address
is the owner of the token
_securityToken
address
is the address of the securityToken
_tokenDetails
string
is the off-chain details of the token
_deployedAt
uint256
is the timestamp at which the security token is deployed
modifySecurityToken
This function is just for backwards compatibility
Arguments
Name
Type
Description
string
_ticker
string
_owner
address
_securityToken
address
_tokenDetails
string
_deployedAt
uint256
_storeSecurityTokenData
Internal - Stores the security token details
Arguments
Name
Type
Description
_securityToken
address
_ticker
string
_tokenDetails
string
_deployedAt
uint256
isSecurityToken
Checks that Security Token is registered
Returns
bool
Arguments
Name
Type
Description
_securityToken
address
is the address of the security token
transferOwnership
Allows the current owner to transfer control of the contract to a newOwner.
Arguments
Name
Type
Description
_newOwner
address
The address to transfer ownership to.
pause
Called by the owner to pause, triggers stopped state
Arguments
Name
Type
Description
unpause
Called by the owner to unpause, returns to normal state
Arguments
Name
Type
Description
changeTickerRegistrationFee
Sets the ticker registration fee in USD tokens. Only Polymath.
Arguments
Name
Type
Description
_tickerRegFee
uint256
is the registration fee in USD tokens (base 18 decimals)
_changeTickerRegistrationFee
Arguments
Name
Type
Description
_oldFee
uint256
_newFee
uint256
changeSecurityLaunchFee
Sets the ticker registration fee in USD tokens. Only Polymath.
Arguments
Name
Type
Description
_stLaunchFee
uint256
is the registration fee in USD tokens (base 18 decimals)
_changeSecurityLaunchFee
Arguments
Name
Type
Description
_oldFee
uint256
_newFee
uint256
changeFeesAmountAndCurrency
Sets the ticker registration and ST launch fee amount and currency
Arguments
Name
Type
Description
_tickerRegFee
uint256
is the ticker registration fee (base 18 decimals)
_stLaunchFee
uint256
is the st generation fee (base 18 decimals)
_isFeeInPoly
bool
defines if the fee is in poly or usd
reclaimERC20
Reclaims all ERC20Basic compatible tokens
Arguments
Name
Type
Description
_tokenContract
address
is the address of the token contract
setProtocolFactory
Changes the SecurityToken contract for a particular factory version
Arguments
Name
Type
Description
_STFactoryAddress
address
is the address of the proxy.
_major
uint8
Major version of the proxy.
_minor
uint8
Minor version of the proxy.
_patch
uint8
Patch version of the proxy
_setProtocolFactory
Arguments
Name
Type
Description
_STFactoryAddress
address
_major
uint8
_minor
uint8
_patch
uint8
removeProtocolFactory
Removes a STFactory
Arguments
Name
Type
Description
_major
uint8
Major version of the proxy.
_minor
uint8
Minor version of the proxy.
_patch
uint8
Patch version of the proxy
setLatestVersion
Changes the default protocol version
Arguments
Name
Type
Description
_major
uint8
Major version of the proxy.
_minor
uint8
Minor version of the proxy.
_patch
uint8
Patch version of the proxy
_setLatestVersion
Arguments
Name
Type
Description
_major
uint8
_minor
uint8
_patch
uint8
updatePolyTokenAddress
Changes the PolyToken address. Only Polymath.
Arguments
Name
Type
Description
_newAddress
address
is the address of the polytoken.
isPaused
Check whether the registry is paused or not
Returns
bool
Arguments
Name
Type
Description
owner
Gets the owner of the contract
Returns
address owner
Arguments
Name
Type
Description
Last updated
Was this helpful?