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

Value
$0.00

Txn Hash
Method
Age
From
To
Quantity
0x360d711afe6531f6479efb557caf6753bb95b55cbfdcbaa53720fe64a5273ee0 Transfer 2024-04-09 10:37:33 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 26.6000 MDR
0x41ef8a9eaaa412c3758188d9714b299d0e2c1624fe4322912bbc90ca8af30722 Transfer 2024-03-09 21:19:26 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x83d23c518455a44e4b0dd95b3e03deb035624fcb 6,332.5000 MDR
0xeb8076e4a42e24156993475d8eae3b0090c2ce329806186f6bfc12ad47248f6f Transfer 2024-03-09 18:04:59 0x06ef0dd778cf00d6e5ada76749599881f7326a64 IN 0xcd416248491637e361112611da72a9a566d6fdea 209.0000 MDR
0x87d359bd41377aed4518a4eda7e06b580bf0a4a7ec2547e211cb52a76661baeb Transfer 2024-03-09 18:04:23 0x58b977ca37252db1a5e30b9846a00a43d5faeb34 IN 0xcd416248491637e361112611da72a9a566d6fdea 123.5000 MDR
0xe4ea98b63290913cd72938a20265e4ac9a70dbc22756da66e28e54f207370372 Transfer 2024-03-09 12:42:14 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x83d23c518455a44e4b0dd95b3e03deb035624fcb 1,935.7000 MDR
0xafb394bb2f66729cd2ed8da7f180b829ec91d69f919507dfe102638c41e88580 Transfer 2024-03-09 12:32:44 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 2,900.0000 MDR
0x7befe8673f3bbc6b0f32ac7ab888d06f0ead624f8f42f0a9c69cf0e6ddd90b9e Transfer 2024-03-09 12:31:05 0x6d281aa7c29386900ad9bd4f848357875fdead6c IN 0xcd416248491637e361112611da72a9a566d6fdea 4,987.5000 MDR
0xabdfa09d8e175e69a040e1c5a464f9e78ac246cc80c6af25f6c03458a49fc42b Transfer 2024-03-09 12:30:26 0x8891295ec8a792a226c15f57eaafc456dca00a4c IN 0xcd416248491637e361112611da72a9a566d6fdea 4,987.5000 MDR
0x2acbb8ce33b4451f8c0ae1bcedcdb3a8787f0e3add1ee7c785d780f3281074a8 Transfer 2024-03-09 12:26:11 0x7075a067344b2c53106d5b114a8c09088e5a647f IN 0xcd416248491637e361112611da72a9a566d6fdea 463.6000 MDR
0xd92862bb863690e083b8f855f177e395a5861a920d81545375dfe2702d67df24 Transfer 2024-03-09 11:20:59 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 397.1000 MDR
0xac0b1297629f06e9514db314e5c4d2245bfd27b1209af303e2b4db4537e520b5 Transfer 2024-03-06 17:54:29 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 199.4000 MDR
0xbf8f65b6f8995356628985a1af32dd880eeeafafce30a0f2baf4b80252cff6d1 Transfer 2024-03-06 17:49:05 0x06ef0dd778cf00d6e5ada76749599881f7326a64 IN 0xcd416248491637e361112611da72a9a566d6fdea 199.4000 MDR
0xe68d4624133dea7a87c318c655cfc40a51a527a5d7e7f99f454077566e1aaaea Transfer 2024-03-06 17:38:44 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 600.0000 MDR
0x74225b1a6f0e867609cfd9a183a1c53ad5553feb3a19a2cf5d7dacfe4ccd6501 Transfer 2024-03-06 17:36:35 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 92.5500 MDR
0x32efe567d16096ca77b5e4232fda899b718557695d6eaeb699a732f926183d9a Transfer 2024-03-06 17:34:44 0x8891295ec8a792a226c15f57eaafc456dca00a4c IN 0xcd416248491637e361112611da72a9a566d6fdea 75.0500 MDR
0x6bd60d9851ad89c8c45b05554f19d0f48cfcbc227e7ab0160d4371475cf7fd02 Transfer 2024-03-06 17:34:26 0xa755e65fe61e6c6e8901bc40ad851945cb694cac IN 0xcd416248491637e361112611da72a9a566d6fdea 142.5000 MDR
0xd89762b11cc86899db9a0add8f1f7225e67db057b212a5a2821dadb8c6489ba2 Transfer 2024-03-06 17:34:08 0x7e996b6b63949fbfdc1206973a546284ccccc62c IN 0xcd416248491637e361112611da72a9a566d6fdea 323.9500 MDR
0x0808fcc737aa9bf4cdaeb9e1739c3f5ada2afeac3d65760177c627f4930058fc Transfer 2024-03-06 17:33:38 0x7075a067344b2c53106d5b114a8c09088e5a647f IN 0xcd416248491637e361112611da72a9a566d6fdea 75.0500 MDR
0x6261e898e42959346e8d6ab503bc9093c60bcfacbf133a357147585ccf1b3f1a Transfer 2024-03-06 17:23:20 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 76.0000 MDR
0x785f0a67f07ee6923496d27f743932ae9ee8a54d000c57f957e0cd11ef7a3c81 Transfer 2024-03-01 20:59:07 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 498.2500 MDR
0x1fd75cd972fd73a77a20fdfe9efc17f9c5a998e6f5047b91a22971b5927420a3 Transfer 2024-03-01 20:53:49 0x7075a067344b2c53106d5b114a8c09088e5a647f IN 0xcd416248491637e361112611da72a9a566d6fdea 89.3000 MDR
0x313f16cc30ac49d1a834ca3dc9fc274f0a0e5e24f567b7455820a321a563c022 Transfer 2024-03-01 20:53:28 0xa755e65fe61e6c6e8901bc40ad851945cb694cac IN 0xcd416248491637e361112611da72a9a566d6fdea 171.0000 MDR
0xb1b28471190cb5729287494895ba4f15d01398b9897873084274451b9d651c0b Transfer 2024-03-01 20:53:07 0x8891295ec8a792a226c15f57eaafc456dca00a4c IN 0xcd416248491637e361112611da72a9a566d6fdea 134.9000 MDR
0x6e0bdcac1c643196e23f82400e86d4c34cf08cb70bcbe10a99e4732d60912182 Transfer 2024-03-01 16:36:22 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 102.6000 MDR
0x27a03d1645d964056deaa4c7e0aa1e556f496bcaeb191232420e01bdd6e8eb36 Transfer 2024-02-24 18:01:14 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 300.0000 MDR
0x79c27ddfdcee8451823d7dbd6bfa19761e897f4ade6e186e6690c562ff0f1c3f Transfer 2024-02-24 17:59:08 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 33.0000 MDR
0x6b8c51aab76695c30a98807be403bc951cc8eb9c01d1519fa7a8a5a38519f470 Transfer 2024-02-22 17:27:09 0x8891295ec8a792a226c15f57eaafc456dca00a4c IN 0xcd416248491637e361112611da72a9a566d6fdea 179.5500 MDR
0xd0e0b2a658203df9fc37dce703e1f2050a57b6fe309151d73efb4df1d99b14f4 Transfer 2024-02-22 11:23:20 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 153.9000 MDR
0x10c6eb7ae2353c8e47c4c5c7bd39c27da2ad50d5926b2e145ec3d863f89177bc Transfer 2024-02-10 06:03:07 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 306.0000 MDR
0x77dcafa4af842f06e7deb32ff01246e60301d9a60babd5bb080b87dfbe2a2f4c Transfer 2024-02-10 05:58:49 0x06ef0dd778cf00d6e5ada76749599881f7326a64 IN 0xcd416248491637e361112611da72a9a566d6fdea 306.0000 MDR
0xe9ec328f106ddc6134a193a1fc9d45bee798c70ca4db5ec82067c19ba76a9b58 Transfer 2024-02-10 04:09:13 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x089a68238654aad6054851979bc5ee735de3d461 604.2000 MDR
0xa9e558778ac91cca5b5712039007ee3fd05173219d417341200e74f0dc313148 Transfer 2024-02-10 04:06:34 0x8891295ec8a792a226c15f57eaafc456dca00a4c IN 0xcd416248491637e361112611da72a9a566d6fdea 104.5000 MDR
0x8d247461021ebe39eeb50def6630f0d086492e89ab058fa6a76a915372152ed2 Transfer 2024-02-10 04:06:16 0xa755e65fe61e6c6e8901bc40ad851945cb694cac IN 0xcd416248491637e361112611da72a9a566d6fdea 171.0000 MDR
0x71e2da0b54904fc608d36670dfd1d263efa8edad654670acd2645d5dd14ff2af Transfer 2024-02-10 04:06:01 0x7e996b6b63949fbfdc1206973a546284ccccc62c IN 0xcd416248491637e361112611da72a9a566d6fdea 162.4500 MDR
0xc15cb3dd50b29a11b89dafbcfd15aaafa3c61df0f38b1ea24bde7a45743dd1c1 Transfer 2024-02-10 04:05:43 0x7075a067344b2c53106d5b114a8c09088e5a647f IN 0xcd416248491637e361112611da72a9a566d6fdea 89.3000 MDR
0xda4fe56bd2a8289cb9c175c01b38e77d2916ad9afec0714483a8b2f84638f798 Transfer 2024-02-09 19:54:34 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 76.9500 MDR
0x327b39060c19ba2292389728620a004af4505e9f872eb8cfa95005047d46159b Transfer 2024-02-03 08:54:26 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x8891295ec8a792a226c15f57eaafc456dca00a4c 128.2500 MDR
0x418d5a939899fd0837ca05382242f4c8f834de0455ee967fb13b2a9b99aedcd8 Transfer 2024-02-03 08:44:44 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 128.2500 MDR
0x8f611695cadafb0d44bb22ff1e7ac766bfef9b64100482abe3afcf18eadc454c Transfer 2024-01-24 17:47:18 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 191.9000 MDR
0x8bd22db7558e9058b4791ea7f44d92128c9bdded63350369eb0ab7772a9e9254 Transfer 2024-01-24 17:45:12 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 191.9000 MDR
0xe2696c87fb233ea9377777f93302e7aeba0e9f839d49f6a7ad229f382c2ee311 Transfer 2024-01-09 10:39:18 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x8891295ec8a792a226c15f57eaafc456dca00a4c 115.9000 MDR
0x9be8f4cb5c859aa4b946cbeff8d1c668cde29aa586dfc9ebc804b397897c8f06 Transfer 2024-01-09 10:37:09 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 115.9000 MDR
0x0facba4970b33b79a548b9c5b1924f6fa015fee84e4ddf3b143b5612a7a1b553 Transfer 2024-01-02 10:52:45 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x694e1e7bea56395f0aaed0a83d6419d781c1cb71 1,060.2000 MDR
0x93f17c7f1738f46bf2e4953244844b60dd87a8a341bc5c1729c6ba3ca51df202 Transfer 2024-01-02 10:51:21 0x8891295ec8a792a226c15f57eaafc456dca00a4c IN 0xcd416248491637e361112611da72a9a566d6fdea 209.0000 MDR
0x36e9123262aea3ce7dc12acc1cd25b8dfbe5b7cce4e70d934e31e9189e1c738e Transfer 2024-01-02 10:51:06 0xa755e65fe61e6c6e8901bc40ad851945cb694cac IN 0xcd416248491637e361112611da72a9a566d6fdea 228.0000 MDR
0x9971020525a9e5d3496d3f385c7b2c144bed24bf834e788f4ed6e516403171c1 Transfer 2024-01-02 10:50:48 0x7e996b6b63949fbfdc1206973a546284ccccc62c IN 0xcd416248491637e361112611da72a9a566d6fdea 323.9500 MDR
0x07c30bbf3b8b4a4849e909008f83c28d03c6764bfdaa512eac1a2a21311cf075 Transfer 2024-01-02 10:50:30 0x7075a067344b2c53106d5b114a8c09088e5a647f IN 0xcd416248491637e361112611da72a9a566d6fdea 119.7000 MDR
0xc8a4cf8ea39ed9aee822bbfd5834aa67ed824cb82cffd33b9a9161b2b013f33d Transfer 2024-01-01 10:25:24 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 179.5500 MDR
0x27c9d08849ddc27e5c14b252203d4065c6ab6aa5748a835230b97258dc01d23c Transfer 2023-12-17 10:38:35 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 153.9000 MDR
0x9f76d03bf4d0c1041198fe36a9709896c1e5c87704f7083388f8c6d816c0d442 Transfer 2023-12-17 10:36:20 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 153.9000 MDR
0x6965ceb74ebd2d2c2482a82794f29c7e1669f6c09e22fff85aecc4ba272ae3f3 Transfer 2023-12-06 10:37:30 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x8891295ec8a792a226c15f57eaafc456dca00a4c 102.6000 MDR
0x6b1c72f248bd4d55b605097f377adfc1aff0ee83bed7b94ca7d973c1c7232b6a Transfer 2023-12-06 10:30:24 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 102.6000 MDR
0x02cbfcc57b083ccf43f86f194bedb60ef740884b1c67ac110fb46cc4ed099fdb Transfer 2023-11-27 17:50:03 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 114.9500 MDR
0xeac33e1767e2bb4a193cea05cc7dcc538f36ce7a4111bf37df111882ec52b08c Transfer 2023-11-27 16:34:12 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 114.9500 MDR
0x6e7d441badcee255ff9e2936a580ba8c876f406620d0b0d0c7858dc84c1f739a Transfer 2023-11-18 12:41:39 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 115.9000 MDR
0x5c313f1193063c40ceea42b1d0cd3c9e232f88a4545623cc706bd8bb334d343e Transfer 2023-11-18 11:10:36 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 115.9000 MDR
0x74f37f5231f9c389b0228ee86a1cdd2fa7c3063bc182c28485fdb27acce5b0bd Transfer 2023-11-09 09:50:40 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 63.6500 MDR
0x31ae34cf5dc69a994fe7d159f55370bee98f00d9884da4de6d48181e9885f483 Transfer 2023-11-09 09:48:28 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 63.6500 MDR
0xbbc19c933a9a6b6ac5545a737451fad678ac9418f881c7979f5c95d2c9f01b0a Transfer 2023-11-04 21:45:22 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 115.9000 MDR
0x41f6c45e24e4f583315d93ab8dc6032d882e1162f781f144687614cbd1c475b7 Transfer 2023-11-04 19:10:25 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 115.9000 MDR
0x23d4dd8951c180a1fd4f55ea83f799a529e65e2bd1368776bd205be98c8f5bf1 Transfer 2023-10-29 09:59:22 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 128.2500 MDR
0xd51c950f819ce7f35b68166055df8404b1f70b4f141e82e2a3466424670241d6 Transfer 2023-10-26 20:18:34 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 128.2500 MDR
0x07ba90710deefe9a7e53bcc79277dac2c58461657d0f7e516264a96f014d06d0 Transfer 2023-10-17 08:13:13 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 128.2500 MDR
0x18c5ef3062713cfe5fbcb911ce9fd017da4071a52cf2db1ef18fb9a3e8a01c43 Transfer 2023-10-16 16:34:07 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 128.2500 MDR
0xbfb2fcb717e85871768fa72b8ce92ea944a72ab2cc6369256f29bf7db5fd82ba Transfer 2023-10-06 12:49:13 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 76.9500 MDR
0x5cfaf6d679a101082743cd0392684cf94f14338c5d5c052890ad85e488f00ed7 Transfer 2023-10-06 12:46:04 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 76.9500 MDR
0x050e3dcb0e0400eff3bfd6857a37f60fe88eebd8963482b87c2a76957a761ac4 Transfer 2023-09-30 17:57:55 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 89.3000 MDR
0xf827e10ca56398cec250d051b3a76004b4548ffbab6369381822dee87e1361bc Transfer 2023-09-30 17:54:07 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 89.3000 MDR
0x736237dd8e3d1b099ed0278e4c3226a6cde70230cf21b18c04531a1ab6009568 Transfer 2023-09-23 11:11:19 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 64.6000 MDR
0x2a8d622fcce69953d1c458bc4e05a340658c5555110bc5f55800d149d2746a31 Transfer 2023-09-23 11:07:58 0xd0de0c63f3da08cd396593da761f56a4d6fa59c8 IN 0xcd416248491637e361112611da72a9a566d6fdea 64.6000 MDR
0x327a84e06f6846b3ceab95a9def894fb62fe41aea5ce4fd0f9c306ea10cca22e Transfer 2023-09-18 13:09:04 0xcd416248491637e361112611da72a9a566d6fdea OUT 0x6d281aa7c29386900ad9bd4f848357875fdead6c 282.1500 MDR
0x0b7ad4a3b7e891a32ca342de05e6b48df2599e6f53f1746f87e3fd06c3148725 Transfer 2023-09-18 12:38:28 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xcd416248491637e361112611da72a9a566d6fdea 282.1500 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.