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

Value
$0.00

Txn Hash
Method
Age
From
To
Quantity
0xda5293c9febc98bc66d318620136af5fca055bba84238dd3e58beeb0cd79c8e4 Transfer 2024-03-24 20:52:06 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x101835430058aeb4358327e2321a0f7e0ffe725d 49,233.0000 MDR
0xf286e38c1fabb0801c14746a99f4ad04910081298fe5dff471d8975796eb7346 Transfer 2024-04-01 16:17:15 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 12,931.4000 MDR
0x26e0c02a9d6401dad38086d31c1e9bb7207e5e9b563f5436f2ae8922ab601cce Transfer 2024-03-20 16:55:39 0x3fa0341522dae5c8f21dcb6039b4c132ddcc4191 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 26,109.2000 MDR
0x9303cd2ab123737895d905f5d0e1efd373587414aab908a769bc9ce11aaf14b6 Transfer 2024-03-20 16:54:03 0xedcd6b5bfb8fd8da1fa3d9f4fd2481f1b427270a IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 9,620.8000 MDR
0xf12410d75751c5a6930d7737385676dbae79741a5bfd6dd47d63f9f196f1d654 Transfer 2024-03-20 16:52:57 0xe1452aefadf7618d0e6d50dbddd3acae7d331fe6 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 8,627.3000 MDR
0xd5ef00a0935a1dd63643be7ab85eaf71f809f43e4a04f219ef050bd864967b45 Transfer 2024-03-20 16:51:21 0x29b17883daaa41551d780524589ede1f7247be20 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 6,083.2500 MDR
0x1f12de693d1836290d5546f4eae00033fd85ed57890a4ddfa87c2701faa4f73b Transfer 2024-03-20 16:50:18 0x56d8a6225e985b2b60e75eb3da5a2b222d5b7a07 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 751.2000 MDR
0xe147d0e96800c42ee31e06c222b644317e3ba640b8643c24006c7beeb70a3590 Transfer 2024-03-20 16:48:18 0xac8cba849b9d889aa6861a930b72d3a16565e154 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 8,153.8500 MDR
0xe6b6a680b6d1ae7dd1880f5bf514a52d47b833bed0e95077cd5539f422583c3f Transfer 2024-02-15 17:38:12 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x527cc0023c78998ec4c00f9ec2abf9310d76c2d6 50,000.0000 MDR
0x8b24a6c7198545cf5d3d76d67a5e5d0b03f5def12a417c84b70999494554b232 Transfer 2024-02-15 17:33:06 0x620355fad830f71a9595e2533fe0872154697fb8 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 207.0000 MDR
0x4c30c70736cd962c54c217295edb3c2fe26d0bab43546efacd830889980ee9cb Transfer 2024-02-15 17:29:12 0x620355fad830f71a9595e2533fe0872154697fb8 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 25,000.0000 MDR
0x42381da79d582113cf75237f9f009b94b4b02c08caad4c772b03506ec4000c04 Transfer 2023-12-18 10:15:29 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 14,944.4500 MDR
0xfe40d8c4e25045b3c41a737d8222d68147398210a30c17f6242462edbf4f05b7 Transfer 2023-12-13 18:43:42 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x5902452ce05832029788952e455ef7e9fb074aa2 1,500.0000 MDR
0xbfc40b91ed21ab5baf4edf93f9d2fa9175843c56337b2f5046d95f80a50f1ce6 Transfer 2023-12-01 14:27:30 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 4,686.3500 MDR
0xfe3a27e38ced6720db11bf502a66402fdbeffe0669d1ef1aa9d2be6d0b352b23 Transfer 2023-08-30 13:42:05 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 4,246.6900 MDR
0x2b463c28a0894bb61051f89807bb6e5a6616a52e02523c8048e8de99418d034f Transfer 2023-08-14 20:52:28 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x65ab6311a4d699ffbc1d8a370043c80c401cffb7 7,500.0000 MDR
0x1dc68bbec72611c5fca6d2dad50abff77496bcf7b3de9a6fe1a1143a8020f5b7 Transfer 2023-08-14 20:49:31 0x4262105409247d69cee4128eda172f27df323fe6 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 855.0000 MDR
0xcc615fde95537617f2b9a7d0dc2e0a8d7113ff769275ecbf1f67679b203dff71 Transfer 2023-08-14 20:47:25 0x86b8dd5262657f6097df782d0b108021634379b7 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 3,567.2500 MDR
0x6aadf82d9651e47ee42f4819f96ed66146a5a064b462ac3d07d45cb898d9e611 Transfer 2023-08-14 20:46:25 0x18c66f2ab5b8c1ec7e13870c4be15c746ce257e8 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 3,078.0002 MDR
0x02f1c4c31dcad2d9da51d76f86b541d99bad447e593a2e1857420fb298de0f59 Transfer 2023-08-14 20:41:37 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x18c66f2ab5b8c1ec7e13870c4be15c746ce257e8 0.0002 MDR
0x9fcd9f550b18e3c946c6e21f0a74dc293f14ebf3580dd80946651d64605fd268 Transfer 2023-08-10 22:31:57 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x65ab6311a4d699ffbc1d8a370043c80c401cffb7 7,500.0000 MDR
0x4f339a9fa8c12a9979012ccea8e27effdbb81940a7f47bab6ed3bdee577bb8ff Transfer 2023-08-10 22:29:51 0xcd7dd72659bf57985e30709e74c8f98731f6d920 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 5,246.8500 MDR
0xff115663f01f53b1a0e710f1e762758a8e9fd7d6f3b5283c03c506ac861d8fc0 Transfer 2023-08-10 22:28:00 0x59042b215f11d55a6a3ce6da45380fa962bef91c IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 4,642.6500 MDR
0xaa6802b479b38c1096c870b39f57ec7c1de3a59566dc9fd58de32eff6171c4ea Transfer 2023-08-04 19:18:13 0xb90f1145b70556c616ed08da99563875ec96cf0a OUT 0x6e1e26f13a7f4036de82910b56e8e67c6e89b07d 4,000.0000 MDR
0x38f36f30088381619f1bf482c077c50001e3eb6568a953f85d2407dd4405c43d Transfer 2023-07-28 16:46:49 0x20133264da3139b659df04cbf889b98864c7cb66 IN 0xb90f1145b70556c616ed08da99563875ec96cf0a 4,026.1000 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.