REMME token
ERC20
This contract is an ERC20 token.
Name
REMME token
Symbol
REM
Decimals
4
Total Supply
1,000,000,000 REM
About link description
Remme (REM) is a cryptocurrency and operates on the Ethereum platform. Remme has a current supply of 1,000,000,000 with 999,999,999.9938 in circulation. The last known price of Remme is 0.00126785 USD and is down -3.12 over the last 24 hours. It is currently trading on 10 active market(s) with $155,445.87 traded over the last 24 hours. More information can be found at https://remme.io/.
Stats
Public Functions
38
Event Types
3
Code Size
22,510 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
);
}
balanceOf keyboard_arrow_up
totalSupply 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(
EToken2Interface _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
transferToICAP keyboard_arrow_up
transferToICAPWithReference keyboard_arrow_up
Source Code
function transferToICAPWithReference(
string _icap,
uint256 _value,
string _reference
) returns (bool) {
return transferToICAPWithReference(_bytes32(_icap), _value, _reference);
}
transferFromToICAP keyboard_arrow_up
Source Code
function transferFromToICAP(
address _from,
string _icap,
uint256 _value
) returns (bool) {
return transferFromToICAPWithReference(_from, _icap, _value, "");
}
transferFromToICAPWithReference keyboard_arrow_up
Parameters help
Source Code
function transferFromToICAPWithReference(
address _from,
string _icap,
uint256 _value,
string _reference
) returns (bool) {
return
transferFromToICAPWithReference(_from, _bytes32(_icap), _value, _reference);
}
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
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.
internal REMME._getAsset keyboard_arrow_up
internal Bytes32._bytes32 keyboard_arrow_up
internal ReturnData._returnReturnData keyboard_arrow_up
Source Code
function _returnReturnData(bool _success) internal {
assembly {
let returndatastart := msize()
mstore(0x40, add(returndatastart, returndatasize))
returndatacopy(returndatastart, 0, returndatasize)
switch _success
case 0 {
revert(returndatastart, returndatasize)
}
default {
return(returndatastart, returndatasize)
}
}
}
internal ReturnData._assemblyCall keyboard_arrow_up
Source Code
function _assemblyCall(
address _destination,
uint256 _value,
bytes _data
) internal returns (bool success) {
assembly {
success := call(
div(mul(gas, 63), 64),
_destination,
_value,
add(_data, 32),
mload(_data),
0,
0
)
}
}