Contract Address 0x73c084388F5423c991030C3FA22249D3e02b1960

 

Overview

Total Supply:
1,000,000,000 MDR

Circulating Supply:
300,000,000 MDR

Holders:
Addresses

Price:
$0.07

Market Cap/Fully MC:
$400,000,000 (@ $0.07)

Token:
My Name Tag:
Not Available, login to update

Contract:
0x73c084388F5423c991030C3FA22249D3e02b1960

Creator:
0x7d528109c7Db392E92740C982A4e36f37c4ca684

Decimal:
8

Issuing Time :
2023-05-04 11:23

Official Website:
#

Social Profiles:
Balance
295.559 MDR

Value
$0.00

Txn Hash
Method
Age
From
To
Quantity
0xabe96e552d256b639b1f1f56b414c473d81e6de6cac9123b0085f8d140b7909d Transfer 2024-03-24 22:30:54 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x0d5e0817527d1b9ea7ff70b94df0b79915eb793f 13,711.0000 MDR
0x350a3a7e08bb4efebac3fc99246d39db6ab001b769380851cdd5925128c95faa Transfer 2024-03-24 22:23:09 0x2e8424e97d9ef8b569881578bacd7260c12110f3 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 3,800.0000 MDR
0x45dc7475b9202ebd5c69d0f654789b2b3316edbeb447ee43075bdee23fbd3cea Transfer 2024-03-15 18:16:35 0x6e684398684e77e4a29624007fd236962218af2b IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 3,500.0000 MDR
0x6c700ae3662e8cfddd9f428c61fc7059ab597e9eac9263aba56d96240116adb0 Transfer 2024-03-15 18:03:50 0x9fd953af8d6138cf1669c544262632fad4e608af IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 5,500.0000 MDR
0xfccb4f9a98146df336cd52864080a85dcb192d9810eff621b53b1dfcd3e7bd95 Transfer 2024-02-29 12:19:09 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 75.0500 MDR
0xb88c682ca08245d220645f0273712cfc81d601d6eb18ba8498f197effb1d86d3 Transfer 2024-02-14 19:38:48 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0xfadb471d007be01cc497754209e118d448e21f69 6,803.0000 MDR
0xbbfb09e564019aa42b877db414ceb190414c86189a91eab63f48cab6838234f5 Transfer 2024-02-14 17:41:09 0x9efa0a63c6b5bba28714b6852b5557d0f064c383 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 7,343.5000 MDR
0xcd07eece1b5eb18b2b7a525cd3486f027c536c1274449ff8695f3029d6fdf637 Transfer 2024-02-14 17:34:33 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x9efa0a63c6b5bba28714b6852b5557d0f064c383 0.0010 MDR
0xd73b29aceff71f5e323600bf9d07d9e660a0b143027230c0fab11aedd74b57fd Transfer 2024-02-13 14:16:14 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x20073895bd04ae0105b7bcd8578094fdd3baa64d 35,500.0000 MDR
0x16e41b225121ce30b9ccba8c6e553a93cb96e0e5b8db2a47f747a7301f86d675 Transfer 2024-02-12 20:30:48 0x0becfac124aeea76ee00362ad63a774633b17a18 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 36,075.0000 MDR
0xb745b6a40010ecb33c2c633700bb4cf64530301127b2bbe14ec1844d7efc0701 Transfer 2024-02-10 21:40:23 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x20073895bd04ae0105b7bcd8578094fdd3baa64d 25,000.0000 MDR
0x55d4da356c0999c2a27b9951dbce591d7a0bfedd09b7ac6d2ea47f78804883c2 Transfer 2024-02-10 21:37:41 0x3c2f6556525d5a50e5fabb822565be653ff92f29 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 300.0000 MDR
0x0c2bf0f441b65d3a4965142f23f47a6661bd65a42c5fac225374a2c8249ec2ac Transfer 2024-02-10 21:30:44 0xed8bae721600e6f168ef6eb8bb090d4edcf026fd IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 3,080.0000 MDR
0x163f3045b16a56cee6aa1091b2b57754f227ba458f6aea566c50fbc119d152f0 Transfer 2024-02-10 21:28:41 0xf880c70183dfb736cfab75e831698636c96d2dfb IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 2,800.0000 MDR
0xac8394262363bffdeb6df2a63c116f471609334fc4e62f58d854499cc050c979 Transfer 2024-02-10 21:25:32 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0xfadb471d007be01cc497754209e118d448e21f69 10,710.0000 MDR
0xb9516016ee965f71ca8e294506fb5952d321587c82c712c38f9c6a67d53bb79f Transfer 2024-02-10 21:24:38 0x4faea84fdb1136b2fe6d8ac8f752b21e5b8f5d29 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,490.0000 MDR
0x0059608b8baf36224f2ba089479d69e18f1c2799819f1f77542c3e465c9c62a8 Transfer 2024-02-10 21:20:41 0x253472113b2a27bf537cfeeddfd142a0cbc4a924 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,300.0000 MDR
0x4b5d1a4b376aaba7fe52df6aaa6ceff49427b662eee8be835cd5f981ece7cd6b Transfer 2024-02-10 20:58:38 0x4e30807d7f59ce6d25f9b2dad92c34b1d47e77b2 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 13,000.0000 MDR
0xec32846e5733a72025d48dc91224d7cbb517689958de1e96d19422ba32a3f608 Transfer 2024-02-10 19:36:31 0x21298726f7b0a25c94ad563a1111e7c572ab5df2 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 835.0000 MDR
0xf711a475e48e54190059797abd1ab89a6791ed1a75bd6764b5361ecb8c6e0f89 Transfer 2024-02-10 19:33:49 0x0d5e0817527d1b9ea7ff70b94df0b79915eb793f IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 9,874.3000 MDR
0x9d90f7e4ea46690a79449ca5386d389808bcbd6597f4f4e37bd3be06e928392e Transfer 2024-02-10 19:29:01 0xf5ed51cb78d980078541e764c570087f87caa488 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 3,000.0000 MDR
0x7039dbd2a862bf5a024b30a9715a5a021c5ab4fbaca0f260b67ed63955fb093b Transfer 2024-02-10 17:20:04 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x20073895bd04ae0105b7bcd8578094fdd3baa64d 72,500.0000 MDR
0x70d4ff503d60d89320338dba8aeef64ada55f2dab0d7a3fcb336949667df78ba Transfer 2024-02-10 15:16:22 0x3c2f6556525d5a50e5fabb822565be653ff92f29 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 5,000.0000 MDR
0x830192b0967281dd0877d1330394861207dcde6badfea5f861935a88f2031493 Transfer 2024-02-09 17:24:50 0x40cc2e6a6b45e1bf6ec655a22d5f364be15a33b6 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 4,000.0000 MDR
0xc4cd13e24451ec9e296dff5dbfd0acc9a446db25bf072c3eb10b8b2929296546 Transfer 2024-02-09 12:34:47 0x442e78b3db5715c823a346d84beaa1878b605b59 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 21,000.0000 MDR
0x5933d222bb208f737aaf68d86999231c346eaa9c2de28a44e1e6c383943d7693 Transfer 2024-02-08 20:08:26 0x6e684398684e77e4a29624007fd236962218af2b IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 9,500.0000 MDR
0x6062ec4140528af6b6f4bbc823881b952723a1f79ac9ebb1b7c7bb958cc7bd60 Transfer 2024-02-08 17:16:10 0xdb438d1942ced58d4561f9acae653e92c440924e IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 890.6300 MDR
0x18c8106ac6bdcd38ee017fb942d3df55565b6d9e09b9e8d526db12ba014ac4ad Transfer 2024-02-08 17:07:07 0xa6beac1dbf68a5aee26ec4c58b4c9a9fcc8701e5 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 5,832.2800 MDR
0x92e8e6e519de6b5e806d0a8d2dfb90b3b515a6064d0c7b60ba03225eac00f0b0 Transfer 2024-02-08 14:37:07 0x40cc2e6a6b45e1bf6ec655a22d5f364be15a33b6 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 26,000.0000 MDR
0x9479e2a58529f7bdbac8be935f4e9ce14f09f4b25c3fb840cb46a9b23a732258 Transfer 2024-02-07 18:32:25 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x20073895bd04ae0105b7bcd8578094fdd3baa64d 100,000.0000 MDR
0xcf249ee4db47482b711eb0924c9c2665a8d31ebec133032ad4f45235f1b8ff1a Transfer 2024-02-07 17:58:52 0x7074a7c2dff34c0a51009568b1ff813fc13e4844 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 4,400.0000 MDR
0x10a7ae50ad3fe51489a3afc81beff4f3ba849e95de27688dcb362598dc953e74 Transfer 2024-02-07 15:03:04 0x0becfac124aeea76ee00362ad63a774633b17a18 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 58,495.0000 MDR
0x5630c2ece00cf7ad6fa3c3de4fc4738a89a5a70dadcbd488671cd485a9864b42 Transfer 2024-02-07 13:10:40 0xca20cce11c402bd2a4bd6df5fed6b6a952718c73 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 9,800.0000 MDR
0x0f5bdd25508d228f3f7d3a082343de0799a8535389f09d9afd2ef897e73ca926 Transfer 2024-02-07 10:29:07 0xcdba7e779078eee805507c83fbeb9b13ee7c5f5f IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 6,400.0000 MDR
0x6d25ea6da765a3ed9e70a42dc969bffd9062388b33d6e48d00348953fbb7c156 Transfer 2024-02-07 09:12:51 0x6772d7dc470c5468218b1c8850cb76145176fbf0 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,300.0000 MDR
0xb6d0803d1b21758dd18ddd5ee9dfa39d327e64f0db56b67494c29a8ace83bb7b Transfer 2024-02-07 09:09:18 0x45ed80efe6ee9398f6b2bc7a18cc4349f99c1743 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 3,800.0000 MDR
0xdb218df467caf63d9b193ab2793b0f8df3e7d4dc68fedf089bf8797593b4b575 Transfer 2024-02-06 10:03:09 0x442e78b3db5715c823a346d84beaa1878b605b59 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 4,500.0000 MDR
0x0e73b79014e8d458a4a6b11d4207cc2ce874fdd508b2e3afc7a6a35edf27af46 Transfer 2024-02-05 13:45:29 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x29d4f26ec0136d7e9aeef5b9e90f8ed68097cf49 6,000.0000 MDR
0xcb011c85d95439fc7694dd78f016ccaa774b8ba9616629f1f71bce546fb340c4 Transfer 2024-02-05 12:52:38 0x29d4f26ec0136d7e9aeef5b9e90f8ed68097cf49 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 11,000.0000 MDR
0x17c48b3868babb2e4d4e6ae8c3944bef9b447bb384a6072b990b7b7cfd7de9f7 Transfer 2024-02-05 12:19:15 0x8abb796245177ee4acebf62544ac8c40707be179 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 6,000.0000 MDR
0x0db47bf25d53d7cd1df292fb09dc3986dc7de76433cb15670e5125ed80aa7292 Transfer 2024-01-27 18:44:26 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0xfadb471d007be01cc497754209e118d448e21f69 17,000.0000 MDR
0x649ae1444ca563a39e4a5fc807b4c42e13c27cdebcaa7be08383ed7fdb77945f Transfer 2024-01-27 16:37:02 0x7b8c82ad5164545ca69d9eda11a9314b34db0ef3 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 15,822.2500 MDR
0xe43758bfd4d2035ce89a91cb8ba3b5d008404261eabc85eb4ab5ee5cddc48565 Transfer 2024-01-27 16:32:02 0x0d5e0817527d1b9ea7ff70b94df0b79915eb793f IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,235.9500 MDR
0x61192b93ddbc4673bf193c25fd4cf321831844e6469c39d86cba00de4a1c6140 Transfer 2024-01-15 15:37:14 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 83.6000 MDR
0xd39958b54a728985475903ba0e9b93b554356aac0e283ef51a7de22869799182 Transfer 2024-01-15 15:36:44 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 83.6000 MDR
0x0604826be23c35f33ea3c949ad3518370cd5131cb772e959e872715ef6818827 Transfer 2024-01-15 15:36:14 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 83.6000 MDR
0xf4897f521de8eeb2485819ca1ef722bd2c534640f1afd9f1981a85c11a680c27 Transfer 2024-01-15 15:35:32 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 83.6000 MDR
0x016a2cfe3bffd93910bbb8ccef90f46cebf5e028897045070029233e00a3958d Transfer 2024-01-15 15:34:47 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 83.6000 MDR
0xc782832d2a706b2761290cd6e107577c47cbefc1c7a7b70b59957af578330ef6 Transfer 2024-01-15 15:34:20 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 83.6000 MDR
0x6e16eb8e99962a9a43e76f9f578b20f1616197cea3f6bca42f6c598ef4bda32f Transfer 2024-01-15 11:22:50 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x2e8424e97d9ef8b569881578bacd7260c12110f3 4,800.0000 MDR
0xb10c133e46422bfe6d2cc944a0658a1d8597d52d8a537deccb5ac1bdbf140de7 Transfer 2023-12-27 14:06:12 0x23b2184fa6e2a5c2ea54003623fc0678302eb9be IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,286.0000 MDR
0x941a472a2942cbb081371080b9f9f59151add58f0d987d9d9cee56a77b6b491d Transfer 2023-12-27 13:26:30 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 212.8000 MDR
0x6b3ffb185fccf2e6d8d5f11b2b51c8d59d2ec33368a105bed8ca50fcf322b92c Transfer 2023-12-22 15:59:55 0xc6b74bb6c3d6cec93a11618080c7416beab9744c IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,000.0000 MDR
0x893623118681887dafd10a17f9a14a4ed706471cb428fd297d2c39c511ddcd49 Transfer 2023-10-17 18:40:52 0x23b2184fa6e2a5c2ea54003623fc0678302eb9be IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 880.0000 MDR
0x833de90ca6de928250bde5afe2e1384cc9553cdef73cc16eed4111175c5fdff5 Transfer 2023-10-17 10:37:43 0xc6b74bb6c3d6cec93a11618080c7416beab9744c IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,000.0000 MDR
0x8a03d5ac62f2bc760b402a8818f81fd624a66d2bb3f582e1cf01445b606eacb9 Transfer 2023-10-06 22:29:52 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c OUT 0x18c6ae955d2ce754f13a74ef93c29fffdb8dbbaf 11,000.0000 MDR
0xcdca6dabb2b275bb5d1bc486df70749458ed913665dad7ea8c860139e304cd29 Transfer 2023-10-06 22:26:25 0x12fecd6c1d5e03beaf7db721eebfa6e32ba7cb4c IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 1,000.0000 MDR
0x0a71e0d4e9bf721f34cb3ef200226e8c5ed37bc0c90631a60c52f7f3aad5222a Transfer 2023-10-06 21:55:31 0xed8bae721600e6f168ef6eb8bb090d4edcf026fd IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 4,000.0000 MDR
0x13601dd2a8963af8c1c450f43c59058f50bd195ed779ba6db1b855368b37cfb3 Transfer 2023-10-06 21:54:04 0xed8bae721600e6f168ef6eb8bb090d4edcf026fd IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 10.0000 MDR
0x8c95dce380da493cfb3449e935884ac4bd03831dbcd98f075fb26dac5d688a74 Transfer 2023-10-06 21:52:25 0xed8bae721600e6f168ef6eb8bb090d4edcf026fd IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 10.0000 MDR
0xeb9748239de3355b3e0e94e3bda5f725418700ca5af0ef57a1b09005109f4aef Transfer 2023-08-28 13:16:19 0x0becfac124aeea76ee00362ad63a774633b17a18 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 4,995.0000 MDR
0x07cdfdefcca10b77e9c61d130f83ec5f06ccdd42645a967c44ae297448f94959 Transfer 2023-08-19 17:44:22 0x395be9851792e1b58b5aaaab99f56ce2e4ec0207 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 795.0000 MDR
0x6a2ed9533f07b30dc184f277bceea05c61bd3df3b583323da1714a16d956114a Transfer 2023-08-13 22:59:39 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x3d8f8f9c99dfa07fd12d71be7abed171c70c190c 680.2000 MDR

 Latest 9 ERC-20 Token Transfer Events

Txn Hash
Block
From
To
Value [Txn Fee]
0x4c8599fa5db502d29d78ad3c85e39ff7160c4775e4e645cd344af13d662eded3 16807914 2 hrs 6 mins ago 0x931cdb4f83672a7803a552414c026b7914bb72ae OUT 0x1fd1259fa8cdc60c6e8c86cfa592ca1b8403dfad 0 BLN 0.000143891192

 Latest 25 blocks (From a total of 353,417 blocks with 47,300.41 BLN in fees)

Block Transaction Gas Used Reward
16738610 31 secs ago 430 19,977,660 (99.89%)
0.16001155598032753 BLN
16738609 33 secs ago 349 19,967,071 (99.84%)
1.368512730518157196 BLN
16738608 35 secs ago 430 19,959,026 (99.80%)
1.119899900678144967 BLN

pragma solidity ^0.4.24;

contract ERC20 {
    uint256 public totalSupply;

    function balanceOf(address who) public view returns (uint256 balance);

    function allowance(address owner, address spender) public view returns (uint256 remaining);

    function transfer(address to, uint256 value) public returns (bool success);

    function approve(address spender, uint256 value) public returns (bool success);

    function transferFrom(address from, address to, uint256 value) public returns (bool success);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);

    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a - b;
        assert(b <= a && c <= a);
        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a && c>=b);
        return c;
    }
}

library SafeERC20 {
    function safeTransfer(ERC20 _token, address _to, uint256 _value) internal {
        require(_token.transfer(_to, _value));
    }
}

contract Owned {
    address public owner;

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner,"O1- Owner only function");
        _;
    }

    function setOwner(address newOwner) onlyOwner public {
        owner = newOwner;
    }
}

contract Pausable is Owned {
    event Pause();
    event Unpause();

    bool public paused = false;

    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    modifier whenPaused() {
        require(paused);
        _;
    }

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}

contract AVNrich is Owned, Pausable, ERC20 {
    using SafeMath for uint256;
    using SafeERC20 for ERC20;

    mapping (address => uint256) public balances;
    mapping (address => mapping (address => uint256)) public allowed;
    mapping (address => bool) public frozenAccount;
    mapping (address => bool) public verifyPublisher;
    mapping (address => bool) public verifyWallet;

    struct fStruct { uint256 index; }
    mapping(string => fStruct) private fileHashes;
    string[] private fileIndex;

    string public constant name = "Bullion Share";
    uint8 public constant decimals = 8;
    string public constant symbol = "BLNS";
    uint256 public constant initialSupply = 21000000;
    uint256 public validationPrice = 7 * 10 ** uint(decimals);
    address public validationWallet = address(0);

    constructor() public {
        validationWallet = msg.sender;
        verifyWallet[msg.sender] = true;
        totalSupply = initialSupply * 10 ** uint(decimals);
        balances[msg.sender] = totalSupply;
        emit Transfer(address(0),owner,initialSupply);
    }

    function () public payable {
        revert();
    }

    function transfer(address _to, uint256 _value) public whenNotPaused returns (bool success) {
        require(_to != msg.sender,"T1- Recipient can not be the same as sender");
        require(_to != address(0),"T2- Please check the recipient address");
        require(balances[msg.sender] >= _value,"T3- The balance of sender is too low");
        require(!frozenAccount[msg.sender],"T4- The wallet of sender is frozen");
        require(!frozenAccount[_to],"T5- The wallet of recipient is frozen");

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        emit Transfer(msg.sender, _to, _value);

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool success) {
        require(_to != address(0),"TF1- Please check the recipient address");
        require(balances[_from] >= _value,"TF2- The balance of sender is too low");
        require(allowed[_from][msg.sender] >= _value,"TF3- The allowance of sender is too low");
        require(!frozenAccount[_from],"TF4- The wallet of sender is frozen");
        require(!frozenAccount[_to],"TF5- The wallet of recipient is frozen");

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);

        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

        emit Transfer(_from, _to, _value);

        return true;
    }

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) public whenNotPaused returns (bool success) {
        require((_value == 0) || (allowed[msg.sender][_spender] == 0),"A1- Reset allowance to 0 first");

        allowed[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;
    }

    function increaseApproval(address _spender, uint256 _addedValue) public whenNotPaused returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

        return true;
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public whenNotPaused returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subtractedValue);

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);

        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    struct TKN { address sender; uint256 value; bytes data; bytes4 sig; }

    function tokenFallback(address _from, uint256 _value, bytes _data) public pure returns (bool) {
        TKN memory tkn;
        tkn.sender = _from;
        tkn.value = _value;
        tkn.data = _data;
        uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
        tkn.sig = bytes4(u);
        return true;
    }

    function transferToken(address tokenAddress, uint256 tokens) public onlyOwner {
        ERC20(tokenAddress).safeTransfer(owner,tokens);
    }

    function burn(uint256 _value) public onlyOwner returns (bool) {
        require(_value <= balances[msg.sender],"B1- The balance of burner is too low");

        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);

        emit Burn(msg.sender, _value);

        emit Transfer(msg.sender, address(0), _value);

        return true;
    }

    function freeze(address _address, bool _state) public onlyOwner returns (bool) {
        frozenAccount[_address] = _state;

        emit Freeze(_address, _state);

        return true;
    }

    function validatePublisher(address Address, bool State, string Publisher) public onlyOwner returns (bool) {
        verifyPublisher[Address] = State;

        emit ValidatePublisher(Address,State,Publisher);

        return true;
    }

    function validateWallet(address Address, bool State, string Wallet) public onlyOwner returns (bool) {
        verifyWallet[Address] = State;

        emit ValidateWallet(Address,State,Wallet);

        return true;
    }

    function validateFile(address To, uint256 Payment, bytes Data, bool cStore, bool eLog) public whenNotPaused returns (bool) {
        require(Payment>=validationPrice,"V1- Insufficient payment provided");
        require(verifyPublisher[msg.sender],"V2- Unverified publisher address");
        require(!frozenAccount[msg.sender],"V3- The wallet of publisher is frozen");
        require(Data.length == 64,"V4- Invalid hash provided");

        if (!verifyWallet[To] || frozenAccount[To]) {
            To = validationWallet;
        }

        uint256 index = 0;
        string memory fileHash = string(Data);

        if (cStore) {
            if (fileIndex.length > 0) {
                require(fileHashes[fileHash].index == 0,"V5- This hash was previously validated");
            }

            fileHashes[fileHash].index = fileIndex.push(fileHash)-1;
            index = fileHashes[fileHash].index;
        }

        if (allowed[To][msg.sender] >= Payment) {
            allowed[To][msg.sender] = allowed[To][msg.sender].sub(Payment);
        } else {
            balances[msg.sender] = balances[msg.sender].sub(Payment);
            balances[To] = balances[To].add(Payment);
        }

        emit Transfer(msg.sender, To, Payment);

        if (eLog) {
            emit ValidateFile(index,fileHash);
        }

        return true;
    }

    function verifyFile(string fileHash) public view returns (bool) {
        if (fileIndex.length == 0) {
            return false;
        }

        bytes memory a = bytes(fileIndex[fileHashes[fileHash].index]);
        bytes memory b = bytes(fileHash);

        if (a.length != b.length) {
            return false;
        }

        for (uint256 i = 0; i < a.length; i ++) {
            if (a[i] != b[i]) {
                return false;
            }
        }

        return true;
    }

    function setPrice(uint256 newPrice) public onlyOwner {
        validationPrice = newPrice;
    }

    function setWallet(address newWallet) public onlyOwner {
        validationWallet = newWallet;
    }

    function listFiles(uint256 startAt, uint256 stopAt) onlyOwner public returns (bool) {
        if (fileIndex.length == 0) {
            return false;
        }

        require(startAt <= fileIndex.length-1,"L1- Please select a valid start");

        if (stopAt > 0) {
            require(stopAt > startAt && stopAt <= fileIndex.length-1,"L2- Please select a valid stop");
        } else {
            stopAt = fileIndex.length-1;
        }

        for (uint256 i = startAt; i <= stopAt; i++) {
            emit LogEvent(i,fileIndex[i]);
        }

        return true;
    }

    event Burn(address indexed burner, uint256 value);
    event Freeze(address target, bool frozen);

    event ValidateFile(uint256 index, string data);
    event ValidatePublisher(address indexed publisherAddress, bool state, string indexed publisherName);
    event ValidateWallet(address indexed walletAddress, bool state, string indexed walletName);

    event LogEvent(uint256 index, string data) anonymous;
}
Block Uncle Number Difficulty Gas Used Reward

Analytics data

Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.