Polymath
master
master
  • README
  • api
    • Proxy (Proxy.sol)
    • Base abstract contract to be extended by all STO modules (STO.sol)
    • OwnedUpgradeabilityProxy (OwnedUpgradeabilityProxy.sol)
    • Transfer Manager module for core transfer validation functionality (GeneralTransferManager.sol)
    • VotingCheckpointStorage.sol
    • PLCRVotingCheckpoint.sol
    • Factory for deploying VestingEscrowWallet module (VestingEscrowWalletFactory.sol)
    • Helper library use to compare or validate the semantic versions (VersionUtils.sol)
    • Interface to be implemented by all Wallet modules (Wallet.sol)
    • Factory for deploying CappedSTO module (CappedSTOFactory.sol)
    • Checkpoint module for issuing ERC20 dividends (ERC20DividendCheckpoint.sol)
    • Interface to be implemented by all Transfer Manager modules (ITransferManager.sol)
    • StableOracle.sol
    • VolumeRestrictionTM.sol
    • SecurityTokenRegistryProxy (SecurityTokenRegistryProxy.sol)
    • PreSaleSTO module Proxy (PreSaleSTOProxy.sol)
    • DataStoreProxy Proxy (DataStoreProxy.sol)
    • Proxy for deploying SecurityToken instances (STFactory.sol)
    • Ownable (IOwnable.sol)
    • Checkpoint module for issuing ether dividends (DividendCheckpoint.sol)
    • CountTransferManager module Proxy (BlacklistTransferManagerProxy.sol)
    • Security Token contract (mock) (MockSTGetter.sol)
    • Permission Manager module for core permissioning functionality (GeneralPermissionManager.sol)
    • Contract used to store layout for the CountTransferManager storage (CountTransferManagerStorage.sol)
    • DummySTO module Proxy (DummySTOProxy.sol)
    • Transfer Manager module for limiting percentage of token supply a single address can hold (Percentag
    • Helps contracts guard against reentrancy attacks. (ReentrancyGuard.sol)
    • Factory for deploying EtherDividendCheckpoint module (ScheduledCheckpointFactory.sol)
    • Interface that every module factory contract should implement (IModuleFactory.sol)
    • Factory for deploying GeneralTransferManager module (TrackedRedemptionFactory.sol)
    • SafeMath (SafeMath.sol)
    • USDTiered STO module Proxy (SecurityTokenProxy.sol)
    • USDTiered STO module Proxy (USDTieredSTOProxy.sol)
    • IOracle.sol
    • ManualApprovalTransferManager module Proxy (ManualApprovalTransferManagerProxy.sol)
    • Interface to be implemented by all permission manager modules (IPermissionManager.sol)
    • Factory for deploying PreSaleSTO module (PreSaleSTOFactory.sol)
    • MockPolyOracle.sol
    • Transfer Manager module for verifing transations with a signed message (SignedTransferManager.sol)
    • DataStoreFactory.sol
    • OraclizeAddrResolverI.sol
    • PolyTokenFaucet.sol
    • Registry contract for issuers to register their security tokens (MockModuleRegistry.sol)
    • VolumeRestrictionLib.sol
    • Contract used to store layout for the PercentageTransferManager storage (PercentageTransferManagerSt
    • Transfer Manager for limiting maximum number of token holders (CountTransferManager.sol)
    • ModuleRegistryProxy (ModuleRegistryProxy.sol)
    • Voting module for governance (WeightedVoteCheckpointProxy.sol)
    • Factory for deploying BlacklistTransferManager module (BlacklistTransferManagerFactory.sol)
    • Contract used to store layout for the GeneralPermissionManager storage (GeneralPermissionManagerStor
    • CountTransferManager module Proxy (LockUpTransferManagerProxy.sol)
    • Holds the storage variable for the DividendCheckpoint modules (i.e ERC20, Ether) (DividendCheckpoint
    • Factory for deploying DummySTO module (DummySTOFactory.sol)
    • IERC1644.sol
    • Core functionality for registry upgradability (PolymathRegistry.sol)
    • Utility contract to allow owner to retreive any ERC20 sent to the contract (ReclaimTokens.sol)
    • SecurityTokenMock.sol
    • Factory for deploying CappedSTO module (USDTieredSTOFactory.sol)
    • Factory for deploying ManualApprovalTransferManager module (ManualApprovalTransferManagerFactory.sol
    • IERC1643.sol
    • Transfer Manager module for core transfer validation functionality (EtherDividendCheckpointProxy.sol
    • solcChecker.sol
    • It holds the storage variables related to ERC20DividendCheckpoint module (ERC20DividendCheckpointSto
    • Interface for all security tokens (ISecurityToken.sol)
    • Base abstract contract to be implemented by all Transfer Manager modules (TransferManager.sol)
    • Storage layout for VolumeRestrictionTM (VolumeRestrictionTMStorage.sol)
    • Security Token contract (mock) (MockSecurityTokenLogic.sol)
    • Transfer Manager module for core transfer validation functionality (GeneralTransferManagerStorage.so
    • IERC1410.sol
    • VotingCheckpoint.sol
    • Factory for deploying WeightedVoteCheckpoint module (WeightedVoteCheckpointFactory.sol)
    • PLCRVotingCheckpointStorage.sol
    • IDataStore.sol
    • TestSTOFactory.sol
    • Ownable (Ownable.sol)
    • UpgradeabilityProxy (UpgradeabilityProxy.sol)
    • Mock Contract Not fit for production environment (MockFactory.sol)
    • Registry contract for issuers to register their security tokens (SecurityTokenRegistryMock.sol)
    • ICheckPermission.sol
    • Factory for deploying LockUpTransferManager module (LockUpTransferManagerFactory.sol)
    • Storage layout for the STO contract (STOStorage.sol)
    • Interface for the Polymath Security Token Registry contract (ISecurityTokenRegistry.sol)
    • Mock Contract Not fit for production environment (MockWrongTypeFactory.sol)
    • Transfer Manager module for core transfer validation functionality (KYCTransferManager.sol)
    • Factory for deploying EtherDividendCheckpoint module (EtherDividendCheckpointFactory.sol)
    • functionSigClash2.sol
    • Standard Interface of ERC1594 (IERC1594.sol)
    • TokenLib.sol
    • MakerDAOOracle.sol
    • Interface that any module contract should implement (Module.sol)
    • Interface that any module factory contract should implement (ModuleFactory.sol)
    • STGetter.sol
    • Interface to be implemented by upgradable token factories (IUpgradableTokenFactory.sol)
    • ERC20 interface (IERC20.sol)
    • KYCTransferManagerFactory.sol
    • Checkpoint module for issuing ether dividends (EtherDividendCheckpoint.sol)
    • functionSigClash1.sol
    • Wallet for core vesting escrow functionality (VestingEscrowWalletStorage.sol)
    • Interface for managing polymath feature switches (IFeatureRegistry.sol)
    • Encoder.sol
    • STRGetter.sol
    • OraclizeI.sol
    • Contract used to store layout for the CappedSTO storage (CappedSTOStorage.sol)
    • LockUpTransferManager.sol
    • Checkpoint module for token weighted vote (WeightedVoteCheckpoint.sol)
    • Registry contract to store registered modules (ModuleRegistry.sol)
    • Factory for deploying upgradable modules (UpgradableModuleFactory.sol)
    • Utility contract to allow pausing and unpausing of certain functions (Pausable.sol)
    • CountTransferManager module Proxy (CountTransferManagerProxy.sol)
    • Math (Math.sol)
    • IPolymathRegistry.sol
    • MockOracle.sol
    • Transfer Manager module for manually approving transactions between accounts (ManualApprovalTransfer
    • DecimalMath.sol
    • STO module for standard capped crowdsale (USDTieredSTO.sol)
    • Security Token contract (SecurityToken.sol)
    • PercentageTransferManager module Proxy (PercentageTransferManagerProxy.sol)
    • Interface to be implemented by all checkpoint modules (IBurn.sol)
    • Burn module for burning tokens and keeping track of burnt amounts (MockRedemptionManager.sol)
    • GeneralPermissionManager module Proxy (GeneralPermissionManagerProxy.sol)
    • STO module for sample implementation of a different crowdsale module (DummySTO.sol)
    • Factory for deploying CountTransferManager module (CountTransferManagerFactory.sol)
    • Interface to be implemented by all STO modules (ISTO.sol)
    • Data store contract that stores data for all the modules in a central contract. (DataStore.sol)
    • Transfer Manager module to automate blacklist and restrict transfers (BlacklistTransferManager.sol)
    • Contract used to store layout for the PreSaleSTO storage (PreSaleSTOStorage.sol)
    • Migrations.sol
    • Contract used to store layout for the CountTransferManager storage (BlacklistTransferManagerStorage.
    • STO module for private presales (PreSaleSTO.sol)
    • DataStoreStorage.sol
    • Storage layout for the ISTO contract (ISTOStorage.sol)
    • Registry contract for issuers to register their tickers and security tokens (SecurityTokenRegistry.s
    • Factory for deploying SignedTransferManager module (SignedTransferManagerFactory.sol)
    • Transfer Manager module for core transfer validation functionality (ERC20DividendCheckpointProxy.sol
    • Burn module for burning tokens and keeping track of burnt amounts (ScheduledCheckpoint.sol)
    • ERC20 interface (IPoly.sol)
    • Transfer Manager module for core transfer validation functionality (VolumeRestrictionTMProxy.sol)
    • Contract used to store layout for the DummySTO storage (DummySTOStorage.sol)
    • Burn module for burning tokens and keeping track of burnt amounts (TrackedRedemption.sol)
    • Interface that every module contract should implement (IModule.sol)
    • Contract used to store layout for the ManualApprovalTransferManager storage (ManualApprovalTransferM
    • Elliptic curve signature operations (ECDSA.sol)
    • Factory for deploying PercentageTransferManager module (PercentageTransferManagerFactory.sol)
    • Transfer Manager module for core transfer validation functionality (GeneralTransferManagerProxy.sol)
    • Utility contract for reusable code (Util.sol)
    • SecurityTokenStorage.sol
    • Contract used to store layout for the USDTieredSTO storage (USDTieredSTOStorage.sol)
    • Factory for deploying GeneralPermissionManager module (GeneralPermissionManagerFactory.sol)
    • Address.sol
    • StatusCodes.sol
    • Standard ERC20 token
    • Voting module for governance (PLCRVotingCheckpointProxy.sol)
    • CBOR.sol
    • Registry for managing polymath feature switches (FeatureRegistry.sol)
    • WeightedVoteCheckpointStorage.sol
    • Interface for the Polymath Module Registry contract (IModuleRegistry.sol)
    • Interface for security token proxy deployment (ISTFactory.sol)
    • Registry contract for issuers to register their security tokens (MockSTRGetter.sol)
    • Buffer.sol
    • BokkyPooBahsDateTimeLibrary.sol
    • Mock Contract Not fit for production environment (MockBurnFactory.sol)
    • Wallet for core vesting escrow functionality (LockUpTransferManagerStorage.sol)
    • Factory for deploying VolumeRestrictionTM module (VolumeRestrictionTMFactory.sol)
    • usingOraclize.sol
    • STO module for standard capped crowdsale (CappedSTO.sol)
    • Interface to MakerDAO Medianizer contract (IMedianizer.sol)
    • Interface to be implemented by all checkpoint modules (ICheckpoint.sol)
    • Factory for deploying ERC20DividendCheckpoint module (ERC20DividendCheckpointFactory.sol)
    • Factory for deploying GeneralTransferManager module (GeneralTransferManagerFactory.sol)
    • Escrow wallet module for vesting functionality (VestingEscrowWalletProxy.sol)
    • OZStorage.sol
    • Wallet for core vesting escrow functionality (VestingEscrowWallet.sol)
    • EternalStorage.sol
    • Factory for deploying PLCRVotingCheckpoint module (PLCRVotingCheckpointFactory.sol)
    • IVoting.sol
    • Transfer Manager for limiting maximum number of token holders (MockCountTransferManager.sol)
    • CappedSTO module Proxy (CappedSTOProxy.sol)
    • Storage for Module contract (ModuleStorage.sol)
  • wiki
    • Dividend-Module
    • Transfer-manager-results
    • General Permission Manager
    • Transfer-Feature
    • Voting-Checkpoint-Modules
    • USDTieredSTO
    • Contract-Manager
    • Vesting-Escrow-Wallet
    • General Transfer Manager
    • Permission-Manager
    • Dividends-Manager
    • Manual Approval Transfer Manager
    • Transfer-Ownership
    • Transfer-Manager
    • How-to-Use-the-Investor-Portal
    • Count Transfer Manager
    • VolumeRestrictionTransferManager
    • Time-Travel-(Contract-Testing)
    • Percentage Transfer Manager
    • Prerequisite-Instructions-for-Deploying-and-Setting-Up-the-Polymath-Contracts
    • How to Create and Launch an STO
    • Token-Manager
    • How to set up and use the POLY Faucet
    • Advanced PLCR Voting Checkpoint
    • Welcome to the Polymath Core Wiki
    • Capped STO
    • _Sidebar
    • CLI for Polymath-core
    • Lockup Transfer Manager
    • The-STO-Manager
    • Blacklist Transfer Manager (BTM)
  • misc
    • Multiple Transfer Managers
    • PolyOracle Encrypted URL
    • ethereum_status_codes
    • Flags List
    • Permissions List
Powered by GitBook
On this page
  • Functions
  • generateSecurityToken
  • generateNewSecurityToken
  • refreshSecurityToken
  • modifySecurityToken
  • modifyExistingSecurityToken
  • modifyExistingTicker
  • registerTicker
  • registerNewTicker
  • isSecurityToken
  • transferOwnership
  • getSecurityTokenAddress
  • getSecurityTokenData
  • getSTFactoryAddress
  • getSTFactoryAddressOfVersion
  • getLatestProtocolVersion
  • getTickersByOwner
  • getTokensByOwner
  • getTokens
  • getTickerDetails
  • modifyTicker
  • removeTicker
  • transferTickerOwnership
  • changeExpiryLimit
  • changeTickerRegistrationFee
  • changeSecurityLaunchFee
  • changeFeesAmountAndCurrency
  • setProtocolFactory
  • removeProtocolFactory
  • setLatestVersion
  • updatePolyTokenAddress
  • updateFromRegistry
  • getSecurityTokenLaunchFee
  • getTickerRegistrationFee
  • setGetterRegistry
  • getFees
  • getTokensByDelegate
  • getExpiryLimit
  • getTickerStatus
  • getIsFeeInPoly
  • getTickerOwner
  • isPaused
  • pause
  • unpause
  • reclaimERC20
  • owner
  • tickerAvailable

Was this helpful?

  1. api

Interface for the Polymath Security Token Registry contract (ISecurityTokenRegistry.sol)

PreviousStorage layout for the STO contract (STOStorage.sol)NextMock Contract Not fit for production environment (MockWrongTypeFactory.sol)

Last updated 5 years ago

Was this helpful?

View Source:

ISecurityTokenRegistry

Events

event Pause(address  account);
event Unpause(address  account);
event TickerRemoved(string  _ticker, address  _removedBy);
event ChangeExpiryLimit(uint256  _oldExpiry, uint256  _newExpiry);
event ChangeSecurityLaunchFee(uint256  _oldFee, uint256  _newFee);
event ChangeTickerRegistrationFee(uint256  _oldFee, uint256  _newFee);
event ChangeFeeCurrency(bool  _isFeeInPoly);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event ChangeTickerOwnership(string  _ticker, address indexed _oldOwner, address indexed _newOwner);
event NewSecurityToken(string  _ticker, string  _name, address indexed _securityTokenAddress, address indexed _owner, uint256  _addedAt, address  _registrant, bool  _fromAdmin, uint256  _usdFee, uint256  _polyFee, uint256  _protocolVersion);
event NewSecurityToken(string  _ticker, string  _name, address indexed _securityTokenAddress, address indexed _owner, uint256  _addedAt, address  _registrant, bool  _fromAdmin, uint256  _registrationFee);
event RegisterTicker(address indexed _owner, string  _ticker, uint256 indexed _registrationDate, uint256 indexed _expiryDate, bool  _fromAdmin, uint256  _registrationFeePoly, uint256  _registrationFeeUsd);
event RegisterTicker(address indexed _owner, string  _ticker, string  _name, uint256 indexed _registrationDate, uint256 indexed _expiryDate, bool  _fromAdmin, uint256  _registrationFee);
event SecurityTokenRefreshed(string  _ticker, string  _name, address indexed _securityTokenAddress, address indexed _owner, uint256  _addedAt, address  _registrant, uint256  _protocolVersion);
event ProtocolFactorySet(address indexed _STFactory, uint8  _major, uint8  _minor, uint8  _patch);
event LatestVersionSet(uint8  _major, uint8  _minor, uint8  _patch);
event ProtocolFactoryRemoved(address indexed _STFactory, uint8  _major, uint8  _minor, uint8  _patch);

Functions

generateSecurityToken

Deploys an instance of a new Security Token of version 2.0 and records it to the registry

function generateSecurityToken(string _name, string _ticker, string _tokenDetails, bool _divisible) external nonpayable

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

function generateNewSecurityToken(string _name, string _ticker, string _tokenDetails, bool _divisible, address _treasuryWallet, uint256 _protocolVersion) external nonpayable

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

  • _protocolVersion is 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

function refreshSecurityToken(string _name, string _ticker, string _tokenDetails, bool _divisible, address _treasuryWallet) external nonpayable
returns(securityToken address)

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

modifySecurityToken

Adds a new custom Security Token and saves it to the registry. (Token should follow the ISecurityToken interface)

function modifySecurityToken(string _name, string _ticker, address _owner, address _securityToken, string _tokenDetails, uint256 _deployedAt) external nonpayable

Arguments

Name

Type

Description

_name

string

Name of the token

_ticker

string

Ticker of the security token

_owner

address

Owner of the token

_securityToken

address

Address of the securityToken

_tokenDetails

string

Off-chain details of the token

_deployedAt

uint256

Timestamp at which security token comes deployed on the ethereum blockchain

modifyExistingSecurityToken

Adds a new custom Security Token and saves it to the registry. (Token should follow the ISecurityToken interface)

function modifyExistingSecurityToken(string _ticker, address _owner, address _securityToken, string _tokenDetails, uint256 _deployedAt) external nonpayable

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

modifyExistingTicker

Modifies the ticker details. Only Polymath has the ability to do so.

function modifyExistingTicker(address _owner, string _ticker, uint256 _registrationDate, uint256 _expiryDate, bool _status) external nonpayable

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

registerTicker

Registers the token ticker for its particular owner

function registerTicker(address _owner, string _ticker, string _tokenName) external nonpayable

Arguments

Name

Type

Description

_owner

address

Address of the owner of the token

_ticker

string

Token ticker

_tokenName

string

Name of the token

registerNewTicker

Registers the token ticker to the selected owner

function registerNewTicker(address _owner, string _ticker) external nonpayable

Arguments

Name

Type

Description

_owner

address

is address of the owner of the token

_ticker

string

is unique token ticker

isSecurityToken

Check that Security Token is registered

function isSecurityToken(address _securityToken) external view
returns(isValid bool)

Returns

bool

Arguments

Name

Type

Description

_securityToken

address

Address of the Scurity token

transferOwnership

Allows the current owner to transfer control of the contract to a newOwner.

function transferOwnership(address _newOwner) external nonpayable

Arguments

Name

Type

Description

_newOwner

address

The address to transfer ownership to.

getSecurityTokenAddress

Get security token address by ticker name

function getSecurityTokenAddress(string _ticker) external view
returns(tokenAddress address)

Returns

address

Arguments

Name

Type

Description

_ticker

string

Symbol of the Scurity token

getSecurityTokenData

Returns the security token data by address

function getSecurityTokenData(address _securityToken) external view
returns(tokenSymbol string, tokenAddress address, tokenDetails string, tokenTime uint256)

Returns

string is the ticker of the security Token.

Arguments

Name

Type

Description

_securityToken

address

is the address of the security token.

getSTFactoryAddress

Get the current STFactory Address

function getSTFactoryAddress() external view
returns(stFactoryAddress address)

Arguments

Name

Type

Description

getSTFactoryAddressOfVersion

Returns the STFactory Address of a particular version

function getSTFactoryAddressOfVersion(uint256 _protocolVersion) external view
returns(stFactory address)

Arguments

Name

Type

Description

_protocolVersion

uint256

Packed protocol version

getLatestProtocolVersion

Get Protocol version

function getLatestProtocolVersion() external view
returns(protocolVersion uint8[])

Arguments

Name

Type

Description

getTickersByOwner

Used to get the ticker list as per the owner

function getTickersByOwner(address _owner) external view
returns(tickers bytes32[])

Arguments

Name

Type

Description

_owner

address

Address which owns the list of tickers

getTokensByOwner

Returns the list of tokens owned by the selected address

function getTokensByOwner(address _owner) external view
returns(tokens address[])

Arguments

Name

Type

Description

_owner

address

is the address which owns the list of tickers

getTokens

Returns the list of all tokens

function getTokens() external view
returns(tokens address[])

Arguments

Name

Type

Description

getTickerDetails

Returns the owner and timestamp for a given ticker

function getTickerDetails(string _ticker) external view
returns(tickerOwner address, tickerRegistration uint256, tickerExpiry uint256, tokenName string, tickerStatus bool)

Returns

address

Arguments

Name

Type

Description

_ticker

string

ticker

modifyTicker

Modifies the ticker details. Only polymath account has the ability to do so. Only allowed to modify the tickers which are not yet deployed

function modifyTicker(address _owner, string _ticker, string _tokenName, uint256 _registrationDate, uint256 _expiryDate, bool _status) external nonpayable

Arguments

Name

Type

Description

_owner

address

Owner of the token

_ticker

string

Token ticker

_tokenName

string

Name of the token

_registrationDate

uint256

Date on which ticker get registered

_expiryDate

uint256

Expiry date of the ticker

_status

bool

Token deployed status

removeTicker

Removes the ticker details and associated ownership & security token mapping

function removeTicker(string _ticker) external nonpayable

Arguments

Name

Type

Description

_ticker

string

Token ticker

transferTickerOwnership

Transfers the ownership of the ticker

function transferTickerOwnership(address _newOwner, string _ticker) external nonpayable

Arguments

Name

Type

Description

_newOwner

address

_ticker

string

changeExpiryLimit

Changes the expiry time for the token ticker

function changeExpiryLimit(uint256 _newExpiry) external nonpayable

Arguments

Name

Type

Description

_newExpiry

uint256

New time period for token ticker expiry

changeTickerRegistrationFee

Sets the ticker registration fee in USD tokens. Only Polymath.

function changeTickerRegistrationFee(uint256 _tickerRegFee) external nonpayable

Arguments

Name

Type

Description

_tickerRegFee

uint256

is the registration fee in USD tokens (base 18 decimals)

changeSecurityLaunchFee

Sets the ticker registration fee in USD tokens. Only Polymath.

function changeSecurityLaunchFee(uint256 _stLaunchFee) external nonpayable

Arguments

Name

Type

Description

_stLaunchFee

uint256

is the registration fee in USD tokens (base 18 decimals)

changeFeesAmountAndCurrency

Sets the ticker registration and ST launch fee amount and currency

function changeFeesAmountAndCurrency(uint256 _tickerRegFee, uint256 _stLaunchFee, bool _isFeeInPoly) external nonpayable

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

setProtocolFactory

Changes the SecurityToken contract for a particular factory version

function setProtocolFactory(address _STFactoryAddress, uint8 _major, uint8 _minor, uint8 _patch) external nonpayable

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

removeProtocolFactory

Removes a STFactory

function removeProtocolFactory(uint8 _major, uint8 _minor, uint8 _patch) external nonpayable

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

function setLatestVersion(uint8 _major, uint8 _minor, uint8 _patch) external nonpayable

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

updatePolyTokenAddress

Changes the PolyToken address. Only Polymath.

function updatePolyTokenAddress(address _newAddress) external nonpayable

Arguments

Name

Type

Description

_newAddress

address

is the address of the polytoken.

updateFromRegistry

Used to update the polyToken contract address

function updateFromRegistry() external nonpayable

Arguments

Name

Type

Description

getSecurityTokenLaunchFee

Gets the security token launch fee

function getSecurityTokenLaunchFee() external nonpayable
returns(fee uint256)

Returns

Fee amount

Arguments

Name

Type

Description

getTickerRegistrationFee

Gets the ticker registration fee

function getTickerRegistrationFee() external nonpayable
returns(fee uint256)

Returns

Fee amount

Arguments

Name

Type

Description

setGetterRegistry

Set the getter contract address

function setGetterRegistry(address _getterContract) external nonpayable

Arguments

Name

Type

Description

_getterContract

address

Address of the contract

getFees

Returns the usd & poly fee for a particular feetype

function getFees(bytes32 _feeType) external nonpayable
returns(usdFee uint256, polyFee uint256)

Arguments

Name

Type

Description

_feeType

bytes32

Key corresponding to fee type

getTokensByDelegate

Returns the list of tokens to which the delegate has some access

function getTokensByDelegate(address _delegate) external view
returns(tokens address[])

Arguments

Name

Type

Description

_delegate

address

is the address for the delegate

getExpiryLimit

Gets the expiry limit

function getExpiryLimit() external view
returns(expiry uint256)

Returns

Expiry limit

Arguments

Name

Type

Description

getTickerStatus

Gets the status of the ticker

function getTickerStatus(string _ticker) external view
returns(status bool)

Returns

bool

Arguments

Name

Type

Description

_ticker

string

Ticker whose status need to determine

getIsFeeInPoly

Gets the fee currency

function getIsFeeInPoly() external view
returns(isInPoly bool)

Returns

true = poly, false = usd

Arguments

Name

Type

Description

getTickerOwner

Gets the owner of the ticker

function getTickerOwner(string _ticker) external view
returns(owner address)

Returns

address Address of the owner

Arguments

Name

Type

Description

_ticker

string

Ticker whose owner need to determine

isPaused

Checks whether the registry is paused or not

function isPaused() external view
returns(paused bool)

Returns

bool

Arguments

Name

Type

Description

pause

Called by the owner to pause, triggers stopped state

function pause() external nonpayable

Arguments

Name

Type

Description

unpause

Called by the owner to unpause, returns to normal state

function unpause() external nonpayable

Arguments

Name

Type

Description

reclaimERC20

Reclaims all ERC20Basic compatible tokens

function reclaimERC20(address _tokenContract) external nonpayable

Arguments

Name

Type

Description

_tokenContract

address

is the address of the token contract

owner

Gets the owner of the contract

function owner() external view
returns(ownerAddress address)

Returns

address owner

Arguments

Name

Type

Description

tickerAvailable

Checks if the entered ticker is registered and has not expired

function tickerAvailable(string _ticker) external view
returns(bool)

Returns

bool

Arguments

Name

Type

Description

_ticker

string

is the token ticker

contracts/interfaces/ISecurityTokenRegistry.sol
generateSecurityToken(string _name, string _ticker, string _tokenDetails, bool _divisible)
generateNewSecurityToken(string _name, string _ticker, string _tokenDetails, bool _divisible, address _treasuryWallet, uint256 _protocolVersion)
refreshSecurityToken(string _name, string _ticker, string _tokenDetails, bool _divisible, address _treasuryWallet)
modifySecurityToken(string _name, string _ticker, address _owner, address _securityToken, string _tokenDetails, uint256 _deployedAt)
modifyExistingSecurityToken(string _ticker, address _owner, address _securityToken, string _tokenDetails, uint256 _deployedAt)
modifyExistingTicker(address _owner, string _ticker, uint256 _registrationDate, uint256 _expiryDate, bool _status)
registerTicker(address _owner, string _ticker, string _tokenName)
registerNewTicker(address _owner, string _ticker)
isSecurityToken(address _securityToken)
transferOwnership(address _newOwner)
getSecurityTokenAddress(string _ticker)
getSecurityTokenData(address _securityToken)
getSTFactoryAddress()
getSTFactoryAddressOfVersion(uint256 _protocolVersion)
getLatestProtocolVersion()
getTickersByOwner(address _owner)
getTokensByOwner(address _owner)
getTokens()
getTickerDetails(string _ticker)
modifyTicker(address _owner, string _ticker, string _tokenName, uint256 _registrationDate, uint256 _expiryDate, bool _status)
removeTicker(string _ticker)
transferTickerOwnership(address _newOwner, string _ticker)
changeExpiryLimit(uint256 _newExpiry)
changeTickerRegistrationFee(uint256 _tickerRegFee)
changeSecurityLaunchFee(uint256 _stLaunchFee)
changeFeesAmountAndCurrency(uint256 _tickerRegFee, uint256 _stLaunchFee, bool _isFeeInPoly)
setProtocolFactory(address _STFactoryAddress, uint8 _major, uint8 _minor, uint8 _patch)
removeProtocolFactory(uint8 _major, uint8 _minor, uint8 _patch)
setLatestVersion(uint8 _major, uint8 _minor, uint8 _patch)
updatePolyTokenAddress(address _newAddress)
updateFromRegistry()
getSecurityTokenLaunchFee()
getTickerRegistrationFee()
setGetterRegistry(address _getterContract)
getFees(bytes32 _feeType)
getTokensByDelegate(address _delegate)
getExpiryLimit()
getTickerStatus(string _ticker)
getIsFeeInPoly()
getTickerOwner(string _ticker)
isPaused()
pause()
unpause()
reclaimERC20(address _tokenContract)
owner()
tickerAvailable(string _ticker)