Token Celo Euro
Overview ERC20
Price
$1.06 @ 2.224319 CELO (-1.09%)
Fully Diluted Market Cap
Total Supply:
14,228,433.579451 cEUR
Holders:
16,080 addresses
Contract:
Decimals:
18
Official Site:
Balance
0 cEURValue
$0.00
[ Download CSV Export ]
[ Download CSV Export ]
OVERVIEW
cEUR follows the value of Euros.Market
Volume (24H) | : | $58,808.00 |
Market Capitalization | : | $15,134,508.00 |
Circulating Supply | : | 14,228,434.00 cEUR |
Market Data Source: Coinmarketcap |
Update? Click here to update the token ICO / general information
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | ![]() | 0XD8763CBA276A3738E6DE85B4B3BF5FDED6D6CA73-0X765DE816845861E75A25FCA122BB6898B8B1282A | $1.068 0.0000401 Btc | $43,338.00 40,657.692 0XD8763CBA276A3738E6DE85B4B3BF5FDED6D6CA73 | 73.4848% |
2 | ![]() | CEUR-USDT | $1.063 0.0000399 Btc | $7,607.25 7,152.949 CEUR | 12.9283% |
3 | ![]() | CEUR-USDT | $0.997 0.0000374 Btc | $3,883.53 3,893.000 CEUR | 7.0362% |
4 | ![]() | CEUR-ETH | $1.06 0.0000397 Btc | $3,131.86 2,933.366 CEUR | 5.3018% |
5 | ![]() | 0XD8763CBA276A3738E6DE85B4B3BF5FDED6D6CA73-0X765DE816845861E75A25FCA122BB6898B8B1282A | $1.12 0.0000418 Btc | $559.42 503.350 0XD8763CBA276A3738E6DE85B4B3BF5FDED6D6CA73 | 0.9098% |
6 | ![]() | 0XD8763CBA276A3738E6DE85B4B3BF5FDED6D6CA73-0XE919F65739C26A42616B7B8EEDC6B5524D1E3AC4 | $1.072 0.0000402 Btc | $172.42 160.019 0XD8763CBA276A3738E6DE85B4B3BF5FDED6D6CA73 | 0.2892% |
7 | ![]() | CEUR-EUR | $1.062 0.0000403 Btc | $26.70 25.139 CEUR | 0.0454% |
8 | ![]() | CEUR-USDT | $1.072 0.0000415 Btc | $2.68 2.500 CEUR | 0.0045% |
Contract Name:
StableTokenEURProxy
Compiler Version
v0.5.13+commit.5b0b510c
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.5.13; /* solhint-disable no-inline-assembly, no-complex-fallback, avoid-low-level-calls */ import "openzeppelin-solidity/contracts/utils/Address.sol"; /** * @title A Proxy utilizing the Unstructured Storage pattern. */ contract Proxy { // Used to store the address of the owner. bytes32 private constant OWNER_POSITION = bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1); // Used to store the address of the implementation contract. bytes32 private constant IMPLEMENTATION_POSITION = bytes32( uint256(keccak256("eip1967.proxy.implementation")) - 1 ); event OwnerSet(address indexed owner); event ImplementationSet(address indexed implementation); constructor() public { _setOwner(msg.sender); } /** * @notice Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == _getOwner(), "sender was not owner"); _; } /** * @notice Delegates calls to the implementation contract. */ function() external payable { bytes32 implementationPosition = IMPLEMENTATION_POSITION; address implementationAddress; // Load the address of the implementation contract from an explicit storage slot. assembly { implementationAddress := sload(implementationPosition) } // Avoid checking if address is a contract or executing delegated call when // implementation address is 0x0 require(implementationAddress != address(0), "No Implementation set"); require(Address.isContract(implementationAddress), "Invalid contract address"); assembly { // Extract the position of the transaction data (i.e. function ID and arguments). let newCallDataPosition := mload(0x40) mstore(0x40, add(newCallDataPosition, calldatasize)) calldatacopy(newCallDataPosition, 0, calldatasize) // Call the smart contract at `implementationAddress` in the context of the proxy contract, // with the same msg.sender and value. let delegatecallSuccess := delegatecall( gas, implementationAddress, newCallDataPosition, calldatasize, 0, 0 ) // Copy the return value of the call so it can be returned. let returnDataSize := returndatasize let returnDataPosition := mload(0x40) mstore(0x40, add(returnDataPosition, returnDataSize)) returndatacopy(returnDataPosition, 0, returnDataSize) // Revert or return depending on whether or not the call was successful. switch delegatecallSuccess case 0 { revert(returnDataPosition, returnDataSize) } default { return(returnDataPosition, returnDataSize) } } } /** * @notice Transfers ownership of Proxy to a new owner. * @param newOwner Address of the new owner account. */ function _transferOwnership(address newOwner) external onlyOwner { _setOwner(newOwner); } /** * @notice Sets the address of the implementation contract and calls into it. * @param implementation Address of the new target contract. * @param callbackData The abi-encoded function call to perform in the implementation * contract. * @dev Throws if the initialization callback fails. * @dev If the target contract does not need initialization, use * setImplementation instead. */ function _setAndInitializeImplementation(address implementation, bytes calldata callbackData) external payable onlyOwner { _setImplementation(implementation); bool success; bytes memory returnValue; (success, returnValue) = implementation.delegatecall(callbackData); require(success, "initialization callback failed"); } /** * @notice Returns the implementation address. */ function _getImplementation() external view returns (address implementation) { bytes32 implementationPosition = IMPLEMENTATION_POSITION; // Load the address of the implementation contract from an explicit storage slot. assembly { implementation := sload(implementationPosition) } } /** * @notice Sets the address of the implementation contract. * @param implementation Address of the new target contract. * @dev If the target contract needs to be initialized, call * setAndInitializeImplementation instead. */ function _setImplementation(address implementation) public onlyOwner { bytes32 implementationPosition = IMPLEMENTATION_POSITION; require(Address.isContract(implementation), "Invalid contract address"); // Store the address of the implementation contract in an explicit storage slot. assembly { sstore(implementationPosition, implementation) } emit ImplementationSet(implementation); } /** * @notice Returns the Proxy owner's address. */ function _getOwner() public view returns (address owner) { bytes32 position = OWNER_POSITION; // Load the address of the contract owner from an explicit storage slot. assembly { owner := sload(position) } } function _setOwner(address newOwner) private { require(newOwner != address(0), "owner cannot be 0"); bytes32 position = OWNER_POSITION; // Store the address of the contract owner in an explicit storage slot. assembly { sstore(position, newOwner) } emit OwnerSet(newOwner); } }
pragma solidity ^0.5.13; import "../../common/Proxy.sol"; /* solhint-disable no-empty-blocks */ contract StableTokenEURProxy is Proxy {}
pragma solidity ^0.5.5; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Converts an `address` into `address payable`. Note that this is * simply a type cast: the actual underlying value is not changed. * * _Available since v2.4.0._ */ function toPayable(address account) internal pure returns (address payable) { return address(uint160(account)); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. * * _Available since v2.4.0._ */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-call-value (bool success, ) = recipient.call.value(amount)(""); require(success, "Address: unable to send value, recipient may have reverted"); } }
{ "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "istanbul", "remappings": [], "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"ImplementationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerSet","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"_getImplementation","outputs":[{"internalType":"address","name":"implementation","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_getOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"callbackData","type":"bytes"}],"name":"_setAndInitializeImplementation","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"_setImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"_transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526100133361001860201b60201c565b610148565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a25050565b610a22806101576000396000f3fe60806040526004361061004a5760003560e01c806303386ba3146101e757806342404e0714610280578063bb913f41146102d7578063d29d44ee14610328578063f7e6af8014610379575b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050600081549050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20496d706c656d656e746174696f6e20736574000000000000000000000081525060200191505060405180910390fd5b61013f816103d0565b6101b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b60405136810160405236600082376000803683855af43d604051818101604052816000823e82600081146101e3578282f35b8282fd5b61027e600480360360408110156101fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184600183028401116401000000008311171561026e57600080fd5b909192939192939050505061041b565b005b34801561028c57600080fd5b506102956105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e357600080fd5b50610326600480360360208110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060d565b005b34801561033457600080fd5b506103776004803603602081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bd565b005b34801561038557600080fd5b5061038e610871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561041257506000801b8214155b92505050919050565b610423610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6104cc8361060d565b600060608473ffffffffffffffffffffffffffffffffffffffff168484604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610539576040519150601f19603f3d011682016040523d82523d6000602084013e61053e565b606091505b508092508193505050816105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c697a6174696f6e2063616c6c6261636b206661696c6564000081525060200191505060405180910390fd5b5050505050565b600080600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050805491505090565b610615610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050610701826103d0565b610773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b8181558173ffffffffffffffffffffffffffffffffffffffff167fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1360405160405180910390a25050565b6107c5610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b61086e816108bd565b50565b600080600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b9050805491505090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2505056fea265627a7a7231582040c8cc4e01c17744f4d029322f904f00e184b80a19662a9330f8541437ffb29864736f6c634300050d0032
Deployed ByteCode Sourcemap
98:40:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1041:30:0;586:1;541:41;;;;;;;;;;;;;;;;;;;533:50;;:54;520:71;;1041:56;;1104:29;1274:22;1268:29;1243:54;;1467:1;1434:35;;:21;:35;;;;1426:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1509:41;1528:21;1509:18;:41::i;:::-;1501:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1724:4;1718:11;1774:12;1753:19;1749:38;1743:4;1736:52;1832:12;1829:1;1808:19;1795:50;2151:1;2140;2118:12;2089:19;2058:21;2045:3;2023:137;2256:14;2309:4;2303:11;2358:14;2338:18;2334:39;2328:4;2321:53;2419:14;2416:1;2396:18;2381:53;2528:19;2561:1;2556:71;;;;2683:14;2663:18;2656:42;2556:71;2602:14;2582:18;2575:42;3358:356;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3358:356:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3358:356:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3358:356:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3358:356:0;;;;;;;;;;;;:::i;:::-;;3779:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3779:305:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4333:419;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4333:419:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4333:419:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2847:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2847:95:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2847:95:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4816:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4816:230:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;686:610:2;746:4;1004:16;1030:19;1052:66;1030:88;;;;1219:7;1207:20;1195:32;;1258:11;1246:8;:23;;:42;;;;;1285:3;1273:15;;:8;:15;;1246:42;1238:51;;;;686:610;;;:::o;3358:356:0:-;882:11;:9;:11::i;:::-;868:25;;:10;:25;;;860:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3499:34;3518:14;3499:18;:34::i;:::-;3539:12;3557:24;3612:14;:27;;3640:12;;3612:41;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;3612:41:0;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3587:66:0;;;;;;;;3667:7;3659:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;924:1;;3358:356;;;:::o;3779:305::-;3832:22;3862:30;586:1;541:41;;;;;;;;;;;;;;;;;;;533:50;;:54;520:71;;3862:56;;4051:22;4045:29;4027:47;;4019:61;;:::o;4333:419::-;882:11;:9;:11::i;:::-;868:25;;:10;:25;;;860:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:30;586:1;541:41;;;;;;;;;;;;;;;;;;;533:50;;:54;520:71;;4408:56;;4479:34;4498:14;4479:18;:34::i;:::-;4471:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4682:14;4658:22;4651:46;4732:14;4714:33;;;;;;;;;;;;924:1;4333:419;:::o;2847:95::-;882:11;:9;:11::i;:::-;868:25;;:10;:25;;;860:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2918:19;2928:8;2918:9;:19::i;:::-;2847:95;:::o;4816:230::-;4858:13;4879:16;400:1;364:32;;;;;;;;;;;;;;;;;;;356:41;;:45;348:54;;4879:33;;5027:8;5021:15;5012:24;;5004:38;;:::o;5050:306::-;5129:1;5109:22;;:8;:22;;;;5101:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5159:16;400:1;364:32;;;;;;;;;;;;;;;;;;;356:41;;:45;348:54;;5159:33;;5308:8;5298;5291:26;5342:8;5333:18;;;;;;;;;;;;5050:306;;:::o
Swarm Source
bzzr://40c8cc4e01c17744f4d029322f904f00e184b80a19662a9330f8541437ffb298