View Source: contracts/libraries/TokenLib.sol
TokenLib
struct EIP712Domain {string name,uint256 chainId,address verifyingContract}
struct Acknowledgment {string text}
Constants & Variables
bytes32 internal constant EIP712DOMAIN_TYPEHASH;bytes32 internal constant ACK_TYPEHASH;bytes32 internal constant WHITELIST;bytes32 internal constant INVESTORSKEY;
Events
event ModuleUpgraded(uint8[] _types, address _module);event ModuleArchived(uint8[] _types, address _module);event ModuleUnarchived(uint8[] _types, address _module);event ModuleRemoved(uint8[] _types, address _module);event ModuleBudgetChanged(uint8[] _moduleTypes, address _module, uint256 _oldBudget, uint256 _budget);event DocumentUpdated(bytes32 indexed _name, string _uri, bytes32 _documentHash);event DocumentRemoved(bytes32 indexed _name, string _uri, bytes32 _documentHash);
function hash(struct TokenLib.EIP712Domain _eip712Domain) internal purereturns(bytes32)
Arguments
Name | Type | Description |
_eip712Domain | struct TokenLib.EIP712Domain | |
function hash(struct TokenLib.Acknowledgment _ack) internal purereturns(bytes32)
Arguments
Name | Type | Description |
_ack | struct TokenLib.Acknowledgment | |
function recoverFreezeIssuanceAckSigner(bytes _signature) external viewreturns(address)
Arguments
Name | Type | Description |
_signature | bytes | |
function recoverDisableControllerAckSigner(bytes _signature) external viewreturns(address)
Arguments
Name | Type | Description |
_signature | bytes | |
function extractSigner(struct TokenLib.Acknowledgment _ack, bytes _signature) internal viewreturns(address)
Arguments
Name | Type | Description |
_ack | struct TokenLib.Acknowledgment | |
_signature | bytes | |
Archives a module attached to the SecurityToken
function archiveModule(struct SecurityTokenStorage.ModuleData _moduleData) external nonpayable
Arguments
Name | Type | Description |
_moduleData | struct SecurityTokenStorage.ModuleData | Storage data |
Unarchives a module attached to the SecurityToken
function unarchiveModule(IModuleRegistry _moduleRegistry, struct SecurityTokenStorage.ModuleData _moduleData) external nonpayable
Arguments
Name | Type | Description |
_moduleRegistry | IModuleRegistry | |
_moduleData | struct SecurityTokenStorage.ModuleData | Storage data |
Upgrades a module attached to the SecurityToken
function upgradeModule(IModuleRegistry _moduleRegistry, struct SecurityTokenStorage.ModuleData _moduleData) external nonpayable
Arguments
Name | Type | Description |
_moduleRegistry | IModuleRegistry | |
_moduleData | struct SecurityTokenStorage.ModuleData | Storage data |
Removes a module attached to the SecurityToken
function removeModule(address _module, mapping(uint8 => address[]) _modules, mapping(address => struct SecurityTokenStorage.ModuleData) _modulesToData, mapping(bytes32 => address[]) _names) external nonpayable
Arguments
Name | Type | Description |
_module | address | address of module to unarchive |
_modules | mapping(uint8 => address[]) | |
_modulesToData | mapping(address => struct SecurityTokenStorage.ModuleData) | |
_names | mapping(bytes32 => address[]) | |
Internal - Removes a module attached to the SecurityToken by index
function _removeModuleWithIndex(uint8 _type, uint256 _index, mapping(uint8 => address[]) _modules, mapping(address => struct SecurityTokenStorage.ModuleData) _modulesToData) internal nonpayable
Arguments
Name | Type | Description |
_type | uint8 | |
_index | uint256 | |
_modules | mapping(uint8 => address[]) | |
_modulesToData | mapping(address => struct SecurityTokenStorage.ModuleData) | |
allows owner to increase/decrease POLY approval of one of the modules
function changeModuleBudget(address _module, uint256 _change, bool _increase, IERC20 _polyToken, mapping(address => struct SecurityTokenStorage.ModuleData) _modulesToData) external nonpayable
Arguments
Name | Type | Description |
_module | address | module address |
_change | uint256 | change in allowance |
_increase | bool | true if budget has to be increased, false if decrease |
_polyToken | IERC20 | |
_modulesToData | mapping(address => struct SecurityTokenStorage.ModuleData) | |
Queries a value at a defined checkpoint
function getValueAt(struct SecurityTokenStorage.Checkpoint[] _checkpoints, uint256 _checkpointId, uint256 _currentValue) external viewreturns(uint256)
Returns
uint256
Arguments
Name | Type | Description |
_checkpoints | struct SecurityTokenStorage.Checkpoint[] | is array of Checkpoint objects |
_checkpointId | uint256 | is the Checkpoint ID to query |
_currentValue | uint256 | is the Current value of checkpoint |
Stores the changes to the checkpoint objects
function adjustCheckpoints(struct SecurityTokenStorage.Checkpoint[] _checkpoints, uint256 _newValue, uint256 _currentCheckpointId) external nonpayable
Arguments
Name | Type | Description |
_checkpoints | struct SecurityTokenStorage.Checkpoint[] | is the affected checkpoint object array |
_newValue | uint256 | is the new value that needs to be stored |
_currentCheckpointId | uint256 | |
Keeps track of the number of non-zero token holders
function adjustInvestorCount(uint256 _holderCount, address _from, address _to, uint256 _value, uint256 _balanceTo, uint256 _balanceFrom, IDataStore _dataStore) external nonpayablereturns(uint256)
Arguments
Name | Type | Description |
_holderCount | uint256 | Number of current token holders |
_from | address | Sender of transfer |
_to | address | Receiver of transfer |
_value | uint256 | Value of transfer |
_balanceTo | uint256 | Balance of the _to address |
_balanceFrom | uint256 | Balance of the _from address |
_dataStore | IDataStore | address of data store |
Used to attach a new document to the contract, or update the URI or hash of an existing attached document
function setDocument(mapping(bytes32 => struct SecurityTokenStorage.Document) document, bytes32[] docNames, mapping(bytes32 => uint256) docIndexes, bytes32 name, string uri, bytes32 documentHash) external nonpayable
Arguments
Name | Type | Description |
document | mapping(bytes32 => struct SecurityTokenStorage.Document) | Hash hash (of the contents) of the document. |
docNames | bytes32[] | |
docIndexes | mapping(bytes32 => uint256) | |
name | bytes32 | Name of the document. It should be unique always |
uri | string | Off-chain uri of the document from where it is accessible to investors/advisors to read. |
documentHash | bytes32 | hash (of the contents) of the document. |
Used to remove an existing document from the contract by giving the name of the document.
function removeDocument(mapping(bytes32 => struct SecurityTokenStorage.Document) document, bytes32[] docNames, mapping(bytes32 => uint256) docIndexes, bytes32 name) external nonpayable
Arguments
Name | Type | Description |
document | mapping(bytes32 => struct SecurityTokenStorage.Document) | |
docNames | bytes32[] | |
docIndexes | mapping(bytes32 => uint256) | |
name | bytes32 | Name of the document. It should be unique always |
Validate transfer with TransferManager module if it exists
function verifyTransfer(address[] modules, mapping(address => struct SecurityTokenStorage.ModuleData) modulesToData, address from, address to, uint256 value, bytes data, bool transfersFrozen) public viewreturns(bool, bytes32)
Returns
bool
Arguments
Name | Type | Description |
modules | address[] | Array of addresses for transfer managers |
modulesToData | mapping(address => struct SecurityTokenStorage.ModuleData) | Mapping of the modules details |
from | address | sender of transfer |
to | address | receiver of transfer |
value | uint256 | value of transfer |
data | bytes | data to indicate validation |
transfersFrozen | bool | whether the transfer are frozen or not. |
function canTransfer(bool success, bytes32 appCode, address to, uint256 value, uint256 balanceOfFrom) external purereturns(bytes1, bytes32)
Arguments
Name | Type | Description |
success | bool | |
appCode | bytes32 | |
to | address | |
value | uint256 | |
balanceOfFrom | uint256 | |
function _getKey(bytes32 _key1, address _key2) internal purereturns(bytes32)
Arguments
Name | Type | Description |
_key1 | bytes32 | |
_key2 | address | |
function _isExistingInvestor(address _investor, IDataStore dataStore) internal viewreturns(bool)
Arguments
Name | Type | Description |
_investor | address | |
dataStore | IDataStore | |