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
4411.3 MDR

Value
$0.00

Txn Hash
Method
Age
From
To
Quantity
0x90cf6189ff0ca07c8d343fa17d2f151a26ebf5a7d5b93029d48c976f5454616a Transfer 2024-06-10 09:29:20 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x9a98e734f973224fcf50fc4614dfed9d7060bf4f 200.0000 MDR
0x3cc1b7437d68b5d9f8a79d3688ad4a7d6eee4849bb55d40e01d616790c5bf18c Transfer 2024-06-08 11:30:22 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 2,141.3000 MDR
0x3bc499ecddedb28b032188bf176c578e9cb398a3b1734fe160bcc3274bea1301 Transfer 2024-06-08 09:52:46 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 2,375.0000 MDR
0xeb2cb149e2be295406ffec93e5c1e6843d2614f47780a629856d2d2cdc8d7e1f Transfer 2024-06-07 10:16:33 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 95.0000 MDR
0x115d67d425653e4ad819009f3850b02379843d744487185e6d1394a10b6ca50b Transfer 2024-03-14 22:33:12 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x15ba1c3cd83567a961ce5ad2c1eb960b97b95f07 4,256.7000 MDR
0x891d4b7ca1220faf09fc3860eebbba2f37f63caf00730f5cea7214ba94bc8bfd Transfer 2024-03-14 12:04:45 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x15ba1c3cd83567a961ce5ad2c1eb960b97b95f07 100.0000 MDR
0xf5e4eabd5ac0e98180d79ec0dd3198cf72891f468a2693f624be6f2f13053906 Transfer 2024-03-12 06:19:41 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,245.4500 MDR
0xadb14609f82fce1d9daf797832557809d893b1eec4ef92f2ba901c17ec0b0a8f Transfer 2024-03-11 22:08:17 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,244.5000 MDR
0x7d54a571ee19586c148b3f83a8d3cd77b08ca65df95caca8ef6843b8ed5c42d4 Transfer 2024-03-10 18:20:21 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,220.7500 MDR
0xb5af07b961b517c9ac668674653c6a26755f5906fd91c9664caafc31e8949eb5 Transfer 2024-03-09 11:17:08 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 646.0000 MDR
0x573cda1eec26b4a97e9c51f465cc2be34eb96c3eaf2b08919534f393ef63d63c Transfer 2024-03-08 16:56:50 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x15ba1c3cd83567a961ce5ad2c1eb960b97b95f07 665.0000 MDR
0x8b4fd71e9e2d34c04a1ae43be6c0b226c5c9630a55e79f9dad5246111dc72bdc Transfer 2024-02-23 17:37:02 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 665.0000 MDR
0xb3e3835e9244091211463a41a229e2d9c789807bbcdb01a5513711bbe3026679 Transfer 2024-02-17 17:02:35 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x15ba1c3cd83567a961ce5ad2c1eb960b97b95f07 2,177.4000 MDR
0xda4e22829f5e25ea754e70b900752e8bba068fdd28129e26d1eaa27f92d223dc Transfer 2024-02-12 15:58:59 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,084.9000 MDR
0x0b70807cba3a027d95b6f6ef4886003c7135753271708c98929a1fe91c277042 Transfer 2024-01-31 16:31:29 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,092.5000 MDR
0x3d001a01e6145347f6627c76a495935e976985d93a7c3687679824f358ab41ed Transfer 2024-01-31 05:39:09 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x97f8fdb1cc2bf3146dd9510249e675210dac5657 760.0000 MDR
0xdc00385035041ad8d1ea033962a452b7676218a7b8a8720f57e49677904b9394 Transfer 2024-01-26 16:16:32 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 760.0000 MDR
0xdab5583b774b18da879845f63a7c4ee37d8bdde92dc12514b6fe92bf627a8d5b Transfer 2023-12-20 19:10:07 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 617.5000 MDR
0xccb512c75966ed8d1f3896726b32a24e49d6930d96bf28fa5792ceaf7b5904a2 Transfer 2023-12-20 14:10:01 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 617.5000 MDR
0x12a4162879646b5c33d964469fa7699f11eaf59cae31cb8e9deebd81e3e5b186 Transfer 2023-12-20 14:08:01 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 650.7500 MDR
0xe4c3f1fa150fdaeecfbd9fb4bfa0d4949bc05a91c3158e50c44f83ad6f3a53e1 Transfer 2023-12-20 10:44:31 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 650.7500 MDR
0xc74d658b442fb227de40e32fe050af3688b549b2c6bfa93e43877e48334a3902 Transfer 2023-12-20 05:59:59 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 712.5000 MDR
0x738074cd5adb6c50f768051f97fbab72375ac86a18fe97d6a51334bf0d5e2349 Transfer 2023-12-16 14:35:28 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 712.5000 MDR
0xbd011329ecbd9a196e1cc2fc9d0d9f389ea9f19297cd70d925a9bc72e8e13048 Transfer 2023-12-15 21:43:36 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x97f8fdb1cc2bf3146dd9510249e675210dac5657 617.5000 MDR
0xa1505fb22c299cc988afd11fdc114376ccc5c2d19b499bda834d77e617c057e3 Transfer 2023-12-15 13:02:36 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 617.5000 MDR
0x2838dc13e8da60ab8a89f6c09cd48256ce2ae2197a265b39e5dc8880bc862563 Transfer 2023-12-15 01:52:48 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x97f8fdb1cc2bf3146dd9510249e675210dac5657 665.0000 MDR
0xe7c8dd5de2755a420fb92300ad01561e1e32b28d65d8fa05e495f777fa0770e6 Transfer 2023-12-14 11:23:01 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 665.0000 MDR
0x72d50f4d7286d2d6d6a635fc7492102fe328e36bbe3f4251149e635eb6ad471e Transfer 2023-11-15 16:42:48 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 1,156.1500 MDR
0x8f742fc621dc38a497f4a7535f50b9ca3f84f54382683edccc79728e82d38615 Transfer 2023-11-15 15:14:33 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 538.6500 MDR
0x7c02e7287a3700d30aca784dbdc66e9b68fb6e072d515dadb8536e8f6a4b8d65 Transfer 2023-11-15 08:27:12 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 617.5000 MDR
0xdf315b17c9e036ffe79ab98e6085400e303e79e1e7ffe1ff2e833413f8977e9c Transfer 2023-11-14 23:09:48 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 2,224.9000 MDR
0x8f6b605a3472dfaea3fcf101162cbf75f9c24f030b2566f4cee7157c05835fb6 Transfer 2023-11-14 23:08:30 0x97f8fdb1cc2bf3146dd9510249e675210dac5657 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 855.0000 MDR
0x54dcd4609a6f9ff85b2e99e54776063ff174ea116f30ed9d7842be1ca4cd2ae0 Transfer 2023-11-14 23:07:48 0xd834343852fc4fc504046df1ad95f5850a23ad9b IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 35.1500 MDR
0x2127c2ba92263551b6bcf25cc8aa6b2044ca488e27690d28c850d6455aee72a5 Transfer 2023-11-14 23:07:03 0x007afae9e3ecf1632807cee7b7bcf50e4bbe3d7e IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 169.1000 MDR
0xd10add4aa538294ba3664162331515fd90f4ecd9a4b0882217b7357bcf94f45c Transfer 2023-11-14 23:06:30 0xfbe22c3d5b1abe8e69ff122781e68948459420d5 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 169.1000 MDR
0x2624cd691614db74734415fc79458d48125bbf60f8839fb10d9c77d3d6e16daa Transfer 2023-11-14 23:05:57 0xa37a6c9d1a5aa33e3e1330e96cddb2b105a95a67 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 169.1000 MDR
0xb55e1de63090ebe5b3ddd073c19d3ee9d635f2186db6fd62e999c008c571ff2b Transfer 2023-11-14 23:05:18 0x85422f4e8b90645e435449acf181583825b3f452 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 67.4500 MDR
0x330a597a71e360fa0b2b2f27ee978e93448af822b58e7566b6fa2bddf85b9f4e Transfer 2023-11-14 16:53:18 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 760.0000 MDR
0xb6e111331aca38b6ef6135350e06ac0f923b554abad379eeb5e59ddc99fa7ac4 Transfer 2023-11-14 04:43:12 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 760.0000 MDR
0x68da24ed16cfe42366da53a0f82e4e80bab2418ee4e0b314cab82d50d172986f Transfer 2023-11-13 21:08:42 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 760.0000 MDR
0x82636c7058bef3b4775fe4d803a76cffa5de4bff6112a83d63feab6b020ba241 Transfer 2023-11-13 13:34:54 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 950.0000 MDR
0xb6ca33243d321864e5e93272939b3510391aa27bc945f07dae996cb3bdc3bb26 Transfer 2023-11-10 12:11:46 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 950.0000 MDR
0xb64810f8948f54f52d9b35b758f0c1f925668305b6c6e8702726d99af34dfb7a Transfer 2023-10-26 19:03:58 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x407fc1fb086e064ca5ebcc9d28283a696b6f6dcf 2,603.0000 MDR
0x14d65da5f7075b4c8424eb33dcfe02e07ea75ecc9975c0be43d65d3857d5c8df Transfer 2023-10-25 11:48:01 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 2,603.0000 MDR
0x675e51aebfc2c276adc26ab7be4d5a865024fc6ea355bcf1a00a65904609caf2 Transfer 2023-10-13 05:22:22 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x407fc1fb086e064ca5ebcc9d28283a696b6f6dcf 1,425.0000 MDR
0x39e52e919546a3574f6953566526dfa80d761883a28cc9e19beb7afead6d70fd Transfer 2023-10-11 12:13:43 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,425.0000 MDR
0x3a0025eb19c3268d350b44735f17f31c1e04735c921b1a6da3e92b79b057cf7c Transfer 2023-10-10 19:23:01 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x407fc1fb086e064ca5ebcc9d28283a696b6f6dcf 4,476.4500 MDR
0x7832ae89799802940d4e3cdc10997558c00f5881f8e8607d1ebc45708fe2e1f5 Transfer 2023-10-10 17:58:04 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 4,476.4000 MDR
0xde24ecef2a0813900c41711a678c60ad359b9663e74d1a5134dbdd57526d6fe8 Transfer 2023-07-30 18:16:28 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 1,520.0000 MDR
0xa83aa50034468cefffbaaa36ccb6770e367f46e31818deca58597cd28febc76b Transfer 2023-07-29 09:57:27 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 1,520.0000 MDR
0xd9a8c301f6313edb3a965b925d443323f48f24bad9a2e0c2f7cddfbb81f21108 Transfer 2023-07-12 09:09:50 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 538.6000 MDR
0x7e945e84cf6254258b66fb5945c6d46b64620720326589064c28e44f4e19e108 Transfer 2023-07-09 14:10:11 0x83825024f33bdaa0a2882dfd837901ad98033923 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 538.6500 MDR
0x8594b390f7fbb1292c0cfaca41b8ecc77e05602f647dcb8b5cd60d4c2c18a711 Transfer 2023-07-03 21:21:56 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x407fc1fb086e064ca5ebcc9d28283a696b6f6dcf 316.4000 MDR
0xbe465ccff2bb4ec422d0e9981885f08682665f12a72da9bf31061eb4146f4a16 Transfer 2023-07-03 21:06:35 0x83825024f33bdaa0a2882dfd837901ad98033923 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 316.3500 MDR
0xf6901fb926622554d640709cdabfa085a470344ae43e622ab5d1383844cdc977 Transfer 2023-06-28 12:35:56 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 127.3000 MDR
0xcb19f2e4edc0cdaf16de26925ba539b93c508d8ca163817836d566b0379a1c3d Transfer 2023-06-28 06:59:56 0x83825024f33bdaa0a2882dfd837901ad98033923 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 127.3000 MDR
0x86c35c69d67cb6cd65a813682442207bcb0fd131fe8db07e73731c09e5f76d86 Transfer 2023-06-26 16:46:47 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 95.0000 MDR
0x5abe227c5bc7f8a490132a433e4c5e695b4f04259a4eedef74ce3ff03a070d1a Transfer 2023-06-26 15:51:02 0x83825024f33bdaa0a2882dfd837901ad98033923 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 95.0000 MDR
0xba3f38a3946106d659419bf20d01be2f4810102b3d5795389b491391c5ec8c3b Transfer 2023-06-26 15:48:32 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0xd982b2af27f2b329866b52de071a7b4dcf8a0e9a 475.0000 MDR
0x9e1fe6d269c1c8a5e472df12d6f43ea50087804ba0d726caa47af100b6ddbf6b Transfer 2023-06-24 11:45:50 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 475.0000 MDR
0x60760b78a01a5c4d0f5a85117eeed1e750211b6002fd135dfcf6a1e60d0f0b42 Transfer 2023-06-15 10:58:26 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x21df7cf790021a2788519eea41aeb6875fc7ff72 94.9500 MDR
0xc4b609c210027ec8d87c21044ca26e80d90c48e788ef59ee3306a7b06cae381d Transfer 2023-06-14 14:26:50 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 95.0000 MDR
0x89a86610d7ad25f01a33d1e2a9eba03399f97f00aa61a8613ccc23c911ea65ca Transfer 2023-06-13 16:35:26 0x36bfcc9f358df913189469677e11a1fcbfc0b404 OUT 0x21df7cf790021a2788519eea41aeb6875fc7ff72 712.5000 MDR
0x26a2c9d752e9092f87eceef06c905802a4935e17ac4c79ce8e412733449da75b Transfer 2023-06-12 11:54:10 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 693.5000 MDR
0xb6e60476b0552b89fca5e58b9dc8ff8eb3a8e419412ebfeaf16cb8c9bb5e5913 Transfer 2023-06-11 11:59:07 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x36bfcc9f358df913189469677e11a1fcbfc0b404 19.0000 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.