ERC20
This contract is an ERC20 token.
Name
Propy
Symbol
PRO
Decimals
8
Total Supply
100,000,000 PRO
About link description
Propy (PRO) is a cryptocurrency and operates on the Ethereum platform. Propy has a current supply of 100,000,000 with 70,850,406 in circulation. The last known price of Propy is 0.18009017 USD and is up 2.35 over the last 24 hours. It is currently trading on 7 active market(s) with $29,777.14 traded over the last 24 hours. More information can be found at https://propy.com/.
Stats
Public Functions
35
Event Types
3
Code Size
20,728 bytes
Constants (1) keyboard_arrow_up
State Variables (8) keyboard_arrow_up
Functions
_forwardApprove keyboard_arrow_up
Modifiers help
onlyImplementationFor checks for the following:
Source Code
function _forwardApprove(
address _spender,
uint256 _value,
address _sender
) onlyImplementationFor(_sender) returns (bool) {
return etoken2.proxyApprove(_spender, _value, etoken2Symbol, _sender);
}
_forwardTransferFromWithReference keyboard_arrow_up
Parameters help
Modifiers help
onlyImplementationFor checks for the following:
Source Code
function _forwardTransferFromWithReference(
address _from,
address _to,
uint256 _value,
string _reference,
address _sender
) onlyImplementationFor(_sender) returns (bool) {
return
etoken2.proxyTransferFromWithReference(
_from,
_to,
_value,
etoken2Symbol,
_reference,
_sender
);
}
_forwardTransferFromToICAPWithReference keyboard_arrow_up
Parameters help
Modifiers help
onlyImplementationFor checks for the following:
Source Code
function _forwardTransferFromToICAPWithReference(
address _from,
bytes32 _icap,
uint256 _value,
string _reference,
address _sender
) onlyImplementationFor(_sender) returns (bool) {
return
etoken2.proxyTransferFromToICAPWithReference(
_from,
_icap,
_value,
_reference,
_sender
);
}
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
transferFrom keyboard_arrow_up
approve keyboard_arrow_up
allowance keyboard_arrow_up
decimals keyboard_arrow_up
init keyboard_arrow_up
Source Code
function init(
EToken2 _etoken2,
string _symbol,
string _name
) returns (bool) {
if (address(etoken2) != 0x0) {
return false;
}
etoken2 = _etoken2;
etoken2Symbol = _bytes32(_symbol);
name = _name;
symbol = _symbol;
return true;
}
recoverTokens keyboard_arrow_up
Modifiers help
onlyAssetOwner checks for the following:
Source Code
function recoverTokens(uint256 _value) onlyAssetOwner() returns (bool) {
return this.transferWithReference(msg.sender, _value, "Tokens recovery");
}
transfer keyboard_arrow_up
transferWithReference keyboard_arrow_up
Source Code
function transferWithReference(
address _to,
uint256 _value,
string _reference
) returns (bool) {
return
_getAsset()._performTransferWithReference(
_to,
_value,
_reference,
msg.sender
);
}
transferToICAP keyboard_arrow_up
transferToICAPWithReference keyboard_arrow_up
Source Code
function transferToICAPWithReference(
bytes32 _icap,
uint256 _value,
string _reference
) returns (bool) {
return
_getAsset()._performTransferToICAPWithReference(
_icap,
_value,
_reference,
msg.sender
);
}
transferFrom keyboard_arrow_up
transferFromWithReference keyboard_arrow_up
Parameters help
Source Code
function transferFromWithReference(
address _from,
address _to,
uint256 _value,
string _reference
) returns (bool) {
return
_getAsset()._performTransferFromWithReference(
_from,
_to,
_value,
_reference,
msg.sender
);
}
transferFromToICAP keyboard_arrow_up
Source Code
function transferFromToICAP(
address _from,
bytes32 _icap,
uint256 _value
) returns (bool) {
return transferFromToICAPWithReference(_from, _icap, _value, "");
}
transferFromToICAPWithReference keyboard_arrow_up
Parameters help
Source Code
function transferFromToICAPWithReference(
address _from,
bytes32 _icap,
uint256 _value,
string _reference
) returns (bool) {
return
_getAsset()._performTransferFromToICAPWithReference(
_from,
_icap,
_value,
_reference,
msg.sender
);
}
approve keyboard_arrow_up
emitTransfer keyboard_arrow_up
Modifiers help
onlyEToken2 checks for the following:
Source Code
function emitTransfer(
address _from,
address _to,
uint256 _value
) onlyEToken2() {
Transfer(_from, _to, _value);
}
emitApprove keyboard_arrow_up
Modifiers help
onlyEToken2 checks for the following:
Source Code
function emitApprove(
address _from,
address _spender,
uint256 _value
) onlyEToken2() {
Approval(_from, _spender, _value);
}
constructor keyboard_arrow_up
getVersionFor keyboard_arrow_up
getLatestVersion keyboard_arrow_up
getPendingVersion keyboard_arrow_up
getPendingVersionTimestamp keyboard_arrow_up
proposeUpgrade keyboard_arrow_up
Modifiers help
onlyAssetOwner checks for the following:
Source Code
function proposeUpgrade(address _newVersion) onlyAssetOwner() returns (bool) {
// Should not already be in the upgrading process.
if (pendingVersion != 0x0) {
return false;
}
// New version address should be other than 0x0.
if (_newVersion == 0x0) {
return false;
}
// Don't apply freeze-time for the initial setup.
if (latestVersion == 0x0) {
latestVersion = _newVersion;
return true;
}
pendingVersion = _newVersion;
pendingVersionTimestamp = now;
UpgradeProposal(_newVersion);
return true;
}
purgeUpgrade keyboard_arrow_up
commitUpgrade keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function commitUpgrade() returns (bool) {
if (pendingVersion == 0x0) {
return false;
}
if (pendingVersionTimestamp + UPGRADE_FREEZE_TIME > now) {
return false;
}
latestVersion = pendingVersion;
delete pendingVersion;
delete pendingVersionTimestamp;
return true;
}
optOut keyboard_arrow_up
optIn keyboard_arrow_up
multiAsset keyboard_arrow_up
change keyboard_arrow_up
Modifiers help
onlyAssetOwner checks for the following:
Source Code
function change(string _symbol, string _name) onlyAssetOwner() returns (bool) {
if (etoken2.isLocked(etoken2Symbol)) {
return false;
}
name = _name;
symbol = _symbol;
return true;
}
Internal Functions
Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.