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

Value
$0.00

Txn Hash
Method
Age
From
To
Quantity
0x86ee1a0686bd2d8474728eea72c71c342c1e7b7dcd01bfa43739cbe59c046d95 Transfer 2024-04-10 10:54:00 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x94a0209f7821348f90f01f6bb017a4a6844e14ab 3,700.0000 MDR
0x44ccbca417ce207c2940890c13e6f94d591d7672e8fb74ee3ba24edbab3b5c83 Transfer 2024-03-28 13:10:31 0x3aff6704d2483bedf9afa5d1a4ccffc0a6a5dd29 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,700.0000 MDR
0xfdfaa275290a93188805706402893ad85579479f992de86351af681250c18acc Transfer 2024-03-22 13:14:28 0x3aff6704d2483bedf9afa5d1a4ccffc0a6a5dd29 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,000.0000 MDR
0x8d58e6cd230cf81c4e1f317554aad3205f896ae019b07f1dacebebeb07dcea50 Transfer 2024-01-14 09:32:25 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x94a0209f7821348f90f01f6bb017a4a6844e14ab 25,370.0000 MDR
0x906374257de2d1daf0e3f559b9c2ee4320195591de933f3b53d777104135d4f4 Transfer 2024-01-12 16:50:56 0x89a7295116b2e7b1f14b533e2bce03f438109869 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 23,910.0000 MDR
0xd91298f63c8c1c2e14c064c2a3a41db1f8e0151bebcb268c2607167d21ab230f Transfer 2024-01-12 16:04:41 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0xe84ca5d40c939b02b60458a7460d501152cd37e5 50,000.0000 MDR
0x18df4f528377ca935b8a7836fa10ca6e23578c43b8059df8d39caf6b118d69f0 Transfer 2024-01-12 15:54:08 0x49c25c04aeb025e7f0c519b1bff06d5aa7e72fba IN 0x5902452ce05832029788952e455ef7e9fb074aa2 39,950.0000 MDR
0x74386c02ce0b4594ecfa2fa0c6b90e74d20694093ee0e81091b44c22e349188c Transfer 2024-01-09 20:14:54 0x970c36930a242d9a99a5a65e208d731f2e410db7 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 11,000.0000 MDR
0xe59bce16aa98e381b88dccfcaa1e79d8b9736186b5c02f66580945c3c16b2835 Transfer 2024-01-07 11:59:48 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 509.2000 MDR
0xeca62bb6ba00eaa003256013bb83120eb6f95213f3e30f88dd5e3bf1fcda4f49 Transfer 2023-12-31 08:14:09 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 2,500.0000 MDR
0x927d110ddafedba9af84bc2c6e2a96b04dacd9571b5db6ea122cd222345c936f Transfer 2023-12-31 07:45:00 0xa0479f838f83f848186c03fb97cc24934bf712e9 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,500.0000 MDR
0x619e1a6543534b7bdd11dfc6e85a43a7f3efed35c51682cb0ca77046c0ecd6b8 Transfer 2023-12-26 10:44:25 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 12,000.0000 MDR
0xa1f0e27c6485cf9ddd1b75ccce8e2c1f5d0110733e499cd157e341948ca50837 Transfer 2023-12-25 17:20:49 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x401044ecadb7d9b24d3273e246db598e57f7e2a2 50,000.0000 MDR
0xaa99fa68825937a0e9b6a5bd5f73d462d873d42e428a1882e19ac60bc1d9e139 Transfer 2023-12-23 15:39:52 0xe32f70428fa3ad6bc34213e41742584dc109aac5 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 60,000.0000 MDR
0x540d2f890be5c2be9ea37a3b050880a6545e87dc401db647805891e6d58f7a81 Transfer 2023-12-23 14:25:31 0x94a0209f7821348f90f01f6bb017a4a6844e14ab IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,000.0000 MDR
0x68e741af66854ff5542a703b0b23dc644c515732e3840001bb009a84a9b598e4 Transfer 2023-12-23 14:13:16 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 1,898.0000 MDR
0x534a86312d1e7b59e0cbc8df017c9b388b024f713667d0ccafd850739f559adf Transfer 2023-12-15 06:10:06 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x401044ecadb7d9b24d3273e246db598e57f7e2a2 625.0000 MDR
0xb37f1804decbe9719ea51d60acf02b25716afeabbe8990b5ac4405db77b5df88 Transfer 2023-12-13 18:47:21 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x970c36930a242d9a99a5a65e208d731f2e410db7 1,000.0000 MDR
0xfe40d8c4e25045b3c41a737d8222d68147398210a30c17f6242462edbf4f05b7 Transfer 2023-12-13 18:43:42 0xb90f1145b70556c616ed08da99563875ec96cf0a IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,500.0000 MDR
0xa2927198bc38814253dc44949fd68a48b21c06502d37ef7c90e802309df23cc4 Transfer 2023-12-11 11:00:23 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,146.6500 MDR
0xc2e3f8ac1418508a063e304af58ea7823cb8794ed9763b8865d0848c96edc089 Transfer 2023-12-11 10:47:08 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 876.8500 MDR
0x19a65292b5db47fed5908b4de75f5c90679743f72d056d60cb465b77cff771bd Transfer 2023-12-05 16:57:21 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 12,461.0000 MDR
0xf175d5268b0808e2892750aed3abb696b1ee0a51873a94fcd6733a67a998c8a5 Transfer 2023-12-05 12:51:48 0x3dfa94230a7af357ec6b46855ded2f30bbfc74c4 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 11,750.0000 MDR
0xd0b57d41cd26cdac42d4d6b4c16b0bbf55dd6a17045a16dbc714d271f528f5db Transfer 2023-12-04 19:06:51 0xbe30b11896edcd30a91b88d43b16142a1edb924b IN 0x5902452ce05832029788952e455ef7e9fb074aa2 375.0000 MDR
0xeace582dc599251bfff677a5bc6219de83153f30b5198d7f183c8d4361c48163 Transfer 2023-10-30 11:42:57 0xa0479f838f83f848186c03fb97cc24934bf712e9 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 336.0000 MDR
0x2a8819715fcd395d854e7325250b3e005e6e28993bfbd2775a1a21a25ccbeec4 Transfer 2023-09-21 17:47:47 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 1,291.0000 MDR
0x1a514981bef807844f49a81e88de6751afc7a340ee43a4445b5e2734db57111f Transfer 2023-09-21 11:27:05 0x1312dbe4dfada223d2e44efc7995123c3e41d13a IN 0x5902452ce05832029788952e455ef7e9fb074aa2 142.0000 MDR
0x600dffc6a63ba2dca41b95f3751a477f80dfff0cd197efeb56e2f717aa7fae1f Transfer 2023-09-21 11:25:47 0xbc345a6d9ccfb2ff85c02850c148ea48d8229b44 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 536.0000 MDR
0xdf052cfcce4dd8782c509e95d044ea1475cccaaf564c5ad476c02f55cab1de03 Transfer 2023-09-21 11:24:08 0xb551edad391e844b932a27b5d34b00025d5a2d5c IN 0x5902452ce05832029788952e455ef7e9fb074aa2 613.0000 MDR
0xe6cbf55a60aeeefd24b802794be84e9a9196f8affa59a33e2ca8ceb77f1165a8 Transfer 2023-09-18 16:10:25 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 9,773.0000 MDR
0x0c01c3113b2637d007d5e2a2a1fe9f968a97af7ab202f2a4d234cb8863b3edb2 Transfer 2023-09-17 13:18:45 0x970c36930a242d9a99a5a65e208d731f2e410db7 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 9,500.0000 MDR
0x9f47a4790dca61ade7c21d68e3ec1171e5bd7241816d30a8e478c23046fba547 Transfer 2023-08-14 13:01:09 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x65ab6311a4d699ffbc1d8a370043c80c401cffb7 7,150.0000 MDR
0x73171fad1a896b36e16f77b6453568b21ba0a54df07b549a1846bff5c804b6b3 Transfer 2023-08-14 12:40:15 0x1beb8c4d46aa9a9965f81d467c09bf1217c78c6b IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,523.3300 MDR
0x9f114eecd3aedbb73ff15554f536d22ed5dffa3a6cff5369b12284effbff2635 Transfer 2023-08-13 09:46:33 0x970c36930a242d9a99a5a65e208d731f2e410db7 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 5,900.0000 MDR
0xcce0a26e0896d363e84902edbf8f0ca807ce3ac906749062ab98c158e2ce7344 Transfer 2023-08-09 05:23:00 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x5420def5281479a2d8de80d595dc3172360c2553 8,448.3523 MDR
0xa78ce006fbef4d22bf6cb810ca2e39ee8b72608999e393ae537fa79556ab1810 Transfer 2023-08-08 13:07:03 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0xf8414c4d26f719d6c778a42122f80f04187f0f05 136.8000 MDR
0x5e03829cdbf2617979e84dc2ffe2dc35a3fd48febb2958ab07260d28196f92d7 Transfer 2023-08-05 22:03:42 0x49c25c04aeb025e7f0c519b1bff06d5aa7e72fba IN 0x5902452ce05832029788952e455ef7e9fb074aa2 6,095.0000 MDR
0x80acb6016cebac3a9813266c0b8a09c5923e20c74bac0f01fa0fad30c87c9ad0 Transfer 2023-08-03 20:27:13 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 306.8500 MDR
0xb60bcb9d6231b661c047d53007c4938d4b60828c3f1f046f4f9c4cf12c65e741 Transfer 2023-07-31 18:01:04 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x970c36930a242d9a99a5a65e208d731f2e410db7 10,000.0000 MDR
0xf40f925782b9070053caf7e158b8f7d8ca4aa64b2c26b8ab64a6e17c1aab3900 Transfer 2023-07-29 20:09:03 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x65ab6311a4d699ffbc1d8a370043c80c401cffb7 22,858.0000 MDR
0x7ad480b2d48eccc49172acac61ceea1685a717bd6f8e12ee09608aabf7fc2f89 Transfer 2023-07-29 19:29:18 0x1a92699541bc2c02e9227ff2b3ddba23ddea3196 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 19,700.0000 MDR
0xfd635fdd378cbeac83dfdb7721343c4957a5592ed6b5497c58a4c43d04a95662 Transfer 2023-07-29 18:47:03 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x1a92699541bc2c02e9227ff2b3ddba23ddea3196 3,200.0000 MDR
0x5679a84bb94d47a87ebbfec882aa09e1c7afaf52268c2edf079ee0c362f1b0e4 Transfer 2023-07-28 17:11:49 0x49c25c04aeb025e7f0c519b1bff06d5aa7e72fba IN 0x5902452ce05832029788952e455ef7e9fb074aa2 6,473.1523 MDR
0xe8446f0e41ef4cbd498f5ef0ca06973d1d20aea9e2bcf282ca35052a065eeea2 Transfer 2023-07-27 11:34:54 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x65ab6311a4d699ffbc1d8a370043c80c401cffb7 14,100.0000 MDR
0x96cfa777a1f4ecbb4dd5c8f80ea25eaffe60ec94341b272d70ba6ee1f43a8d12 Transfer 2023-07-26 18:44:32 0x94a0209f7821348f90f01f6bb017a4a6844e14ab IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,660.2000 MDR
0xdb2de7e9c3b4ac5fd5e48eadd146796aa579fa933d387e348398ebe899f86696 Transfer 2023-07-26 12:39:35 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,251.1500 MDR
0x4eb37f336c3d2d097a1d691faafb9a302b81b4cc3c828a18e8e603cee6b56c9a Transfer 2023-07-25 16:30:56 0xd894e896980c6afeecd112ddcdab511add6f4679 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,150.0000 MDR
0x684629dce6ad964e9c90440a93ac6ce9a6d1ed9c57e2271e444f4bfd92c864ea Transfer 2023-07-25 15:01:14 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0xfb6a8b695df2a292d3696bc983547649c8d2b1b9 1,600.0000 MDR
0x8dc1771c409efb44a64227e187fcbd0d517b34d37d7ace979f8fccf8222159f1 Transfer 2023-07-25 08:07:44 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x94a0209f7821348f90f01f6bb017a4a6844e14ab 4,610.0000 MDR
0xb2eb617a078fff9d9b6cd4136a123df81031978ca4ac673e6d4f1d6f9b342ab4 Transfer 2023-07-23 20:44:08 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 8,224.1500 MDR
0xd5d3e89ce5cb3a076263eeb4a29bb02a7ba10bbcd0851239fde9dccf1545e3f7 Transfer 2023-07-23 20:43:56 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 7,722.5500 MDR
0xdf6181df84e0a3c76d96be30d9a3290c48bbb4877671fbb464567db142e78885 Transfer 2023-07-22 17:30:02 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x94a0209f7821348f90f01f6bb017a4a6844e14ab 10.0000 MDR
0x094ef8907a3b094a86ab3b6feb0a385759713e96ae6f48948b66337657f61dfe Transfer 2023-07-02 10:05:08 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,077.3000 MDR
0x8b7c785c73632f8274786bc7d96214d6c48ed8ca0efb61b45db080e8c8894083 Transfer 2023-07-02 10:04:53 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 1,003.2000 MDR
0x7b64cb1a3022d99a6647a458589172a1f404c0781db900aa1694ccd1e286a8db Transfer 2023-06-28 10:29:59 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,140.3500 MDR
0xa18b3abcecac48697c88960a48d030ca05a42fa79487286bee0a74ece16ed4e5 Transfer 2023-06-28 10:25:23 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,227.7500 MDR
0x703f5e035b3ce2282a4d5b278820cf0b2b2649b42ae6cb94ba9b8309fb988c70 Transfer 2023-06-22 12:52:26 0x074b9b65ed0a524560d4739cc92b6575e579f8fe IN 0x5902452ce05832029788952e455ef7e9fb074aa2 150.0000 MDR
0x7c488624f18a8841b80f156dcce00cfdb0520103ed3ec3040870d96628442a0b Transfer 2023-06-18 09:46:56 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,296.1500 MDR
0xed92329c753c5b006e61c34237dc4548f7f8961a128833050efe3c16e434000d Transfer 2023-06-18 09:46:20 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 2,315.1500 MDR
0x63fc2c2816b2ebf4a8ef95267ca16e8b553b44a81974297ce75ef1d1896377c1 Transfer 2023-06-17 09:09:35 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x90aaa135e195e6e1986319eed347b51fe280f404 4,000.0000 MDR
0x1432a86a1895fd7dc20bf1bd6f50ab35cf662934813d4dbe9aaac5ec695fde54 Transfer 2023-06-16 22:23:14 0x923ccb14d71d71e9e2b3ef91db03c2742cda398b IN 0x5902452ce05832029788952e455ef7e9fb074aa2 3,900.0000 MDR
0x7f28f5dad8650b284981f8073622c96bb31b4a4392afe2819cff72839c54ad5a Transfer 2023-06-16 15:15:14 0x5902452ce05832029788952e455ef7e9fb074aa2 OUT 0x70399d7b96f013a22bb0c2f2d10731b6bb37e918 2,000.0000 MDR
0x4bf32d7aa7ddc0a5a141fe7bb9996e5a57185cf5b4499a40f92dc2e3cf7c26cf Transfer 2023-06-16 14:41:23 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 307.8000 MDR
0x166e8bc7abe837e643e63f970b7920c6181c4333f9acd5e470657a0eccab45bd Transfer 2023-06-16 14:32:14 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 580.4500 MDR
0xde718c63736624b36a056e6dc0c008c48a2229a8eb365d1f7c20f9c08863726d Transfer 2023-06-16 14:24:38 0xbd2a4438b42a42dc65bb012f12ce12497324e91c IN 0x5902452ce05832029788952e455ef7e9fb074aa2 429.0000 MDR
0xaf080bce37391383a9acd9a38858a47e96698975d3331cec272c0b83d989f72b Transfer 2023-06-16 14:22:44 0xbd2a4438b42a42dc65bb012f12ce12497324e91c IN 0x5902452ce05832029788952e455ef7e9fb074aa2 429.0000 MDR
0xb137f3b82161fb9d5a896f0374c36eb65bd013206c6cb33afa7d436cf4bae313 Transfer 2023-06-15 16:59:32 0xb551edad391e844b932a27b5d34b00025d5a2d5c IN 0x5902452ce05832029788952e455ef7e9fb074aa2 200.0000 MDR
0x1d0608e32fbfc9f685684c5d75947eab010c9b7b13868c9f21642e16b8b1647f Transfer 2023-06-05 12:29:45 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 181.4500 MDR
0x06819effbd3a2b95014a97755d0a5f6638f4d5faa1f06945305ef2fa6aada58b Transfer 2023-06-05 12:28:57 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0x5902452ce05832029788952e455ef7e9fb074aa2 142.5000 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.