ETH Price: $3,155.25 (-4.25%)
 

Overview

Max Total Supply

8,800,000,000 DAC

Holders

3,240

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
303,961 DAC

Value
$0.00
0xe9f6bfff8aad842b0d45e6480af0041c1e53aacd
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
OreOreCoin

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-31
*/

pragma solidity ^0.4.8;

// 소유자 관리용 계약
contract Owned {
    // 상태 변수
    address public owner; // 소유자 주소

    // 소유자 변경 시 이벤트
    event TransferOwnership(address oldaddr, address newaddr);

    // 소유자 한정 메서드용 수식자
    modifier onlyOwner() { if (msg.sender != owner) return; _; }

    // 생성자
    function Owned() public {
        owner = msg.sender; // 처음에 계약을 생성한 주소를 소유자로 한다
    }
    
    // (1) 소유자 변경
    function transferOwnership(address _new) onlyOwner public {
        address oldaddr = owner;
        owner = _new;
        emit TransferOwnership(oldaddr, owner);
    }
}

// (2) 회원 관리용 계약
contract Members is Owned {
    // (3) 상태 변수 선언
    address public coin; // 토큰(가상 화폐) 주소
    MemberStatus[] public status; // 회원 등급 배열
    mapping(address => History) public tradingHistory; // 회원별 거래 이력
     
    // (4) 회원 등급용 구조체
    struct MemberStatus {
        string name; // 등급명
        uint256 times; // 최저 거래 회수
        uint256 sum; // 최저 거래 금액
        int8 rate; // 캐시백 비율
    }
    // 거래 이력용 구조체
    struct History {
        uint256 times; // 거래 회수
        uint256 sum; // 거래 금액
        uint256 statusIndex; // 등급 인덱스
    }
 
    // (5) 토큰 한정 메서드용 수식자
    modifier onlyCoin() { if (msg.sender == coin) _; }
     
    // (6) 토큰 주소 설정
    function setCoin(address _addr) onlyOwner public {
        coin = _addr;
    }
     
    // (7) 회원 등급 추가
    function pushStatus(string _name, uint256 _times, uint256 _sum, int8 _rate) onlyOwner public {
        status.push(MemberStatus({
            name: _name,
            times: _times,
            sum: _sum,
            rate: _rate
        }));
    }
 
    // (8) 회원 등급 내용 변경
    function editStatus(uint256 _index, string _name, uint256 _times, uint256 _sum, int8 _rate) onlyOwner public {
        if (_index < status.length) {
            status[_index].name = _name;
            status[_index].times = _times;
            status[_index].sum = _sum;
            status[_index].rate = _rate;
        }
    }
     
    // (9) 거래 내역 갱신
    function updateHistory(address _member, uint256 _value) onlyCoin public {
        tradingHistory[_member].times += 1;
        tradingHistory[_member].sum += _value;
        // 새로운 회원 등급 결정(거래마다 실행)
        uint256 index;
        int8 tmprate;
        for (uint i = 0; i < status.length; i++) {
            // 최저 거래 횟수, 최저 거래 금액 충족 시 가장 캐시백 비율이 좋은 등급으로 설정
            if (tradingHistory[_member].times >= status[i].times &&
                tradingHistory[_member].sum >= status[i].sum &&
                tmprate < status[i].rate) {
                index = i;
            }
        }
        tradingHistory[_member].statusIndex = index;
    }

    // (10) 캐시백 비율 획득(회원의 등급에 해당하는 비율 확인)
    function getCashbackRate(address _member) public constant returns (int8 rate){
        rate = status[tradingHistory[_member].statusIndex].rate;
    }
}
     
// (11) 회원 관리 기능이 구현된 가상 화폐
contract OreOreCoin is Owned{
    // 상태 변수 선언
    string public name; // 토큰 이름
    string public symbol; // 토큰 단위
    uint8 public decimals; // 소수점 이하 자릿수
    uint256 public totalSupply; // 토큰 총량
    mapping (address => uint256) public balanceOf; // 각 주소의 잔고
    mapping (address => int8) public blackList; // 블랙리스트
    mapping (address => Members) public members; // 각 주소의 회원 정보
     
    // 이벤트 알림
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Blacklisted(address indexed target);
    event DeleteFromBlacklist(address indexed target);
    event RejectedPaymentToBlacklistedAddr(address indexed from, address indexed to, uint256 value);
    event RejectedPaymentFromBlacklistedAddr(address indexed from, address indexed to, uint256 value);
    event Cashback(address indexed from, address indexed to, uint256 value);
     
    // 생성자
    function OreOreCoin(uint256 _supply, string _name, string _symbol, uint8 _decimals) public {
        balanceOf[msg.sender] = _supply;
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _supply;
    }
 
    // 주소를 블랙리스트에 등록
    function blacklisting(address _addr) onlyOwner public {
        blackList[_addr] = 1;
        emit Blacklisted(_addr);
    }
 
    // 주소를 블랙리스트에서 해제
    function deleteFromBlacklist(address _addr) onlyOwner public {
        blackList[_addr] = -1;
        emit DeleteFromBlacklist(_addr);
    }
 
    // 회원 관리 계약 설정
    function setMembers(Members _members) public {
        members[msg.sender] = Members(_members);
    }
 
    // 송금
    function transfer(address _to, uint256 _value)  public{
        // 부정 송금 확인
        if (balanceOf[msg.sender] < _value) return;
        if (balanceOf[_to] + _value < balanceOf[_to]) return;

        // 블랙리스트에 존재하는 계정은 입출금 불가
        if (blackList[msg.sender] > 0) {
            emit RejectedPaymentFromBlacklistedAddr(msg.sender, _to, _value);
        } else if (blackList[_to] > 0) {
            emit RejectedPaymentToBlacklistedAddr(msg.sender, _to, _value);
        } else {
            // (12) 캐시백 금액을 계산(각 대상의 비율을 사용)
            uint256 cashback = 0;
            if(members[_to] > address(0)) {
                cashback = _value / 100 * uint256(members[_to].getCashbackRate(msg.sender));
                members[_to].updateHistory(msg.sender, _value);
            }
 
            balanceOf[msg.sender] -= (_value - cashback);
            balanceOf[_to] += (_value - cashback);
 
            emit Transfer(msg.sender, _to, _value);
            emit Cashback(_to, msg.sender, cashback);
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"members","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blackList","outputs":[{"name":"","type":"int8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"blacklisting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"deleteFromBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_members","type":"address"}],"name":"setMembers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_supply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"}],"name":"DeleteFromBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RejectedPaymentToBlacklistedAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RejectedPaymentFromBlacklistedAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Cashback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldaddr","type":"address"},{"indexed":false,"name":"newaddr","type":"address"}],"name":"TransferOwnership","type":"event"}]

6060604052341561000f57600080fd5b604051610a8e380380610a8e833981016040528080519190602001805182019190602001805182019190602001805160008054600160a060020a03191633600160a060020a0316908117825581526005602052604090208690559150600190508380516100809291602001906100b3565b5060028280516100949291602001906100b3565b506003805460ff191660ff92909216919091179055505060045561014e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100f457805160ff1916838001178555610121565b82800160010185558215610121579182015b82811115610121578251825591602001919060010190610106565b5061012d929150610131565b5090565b61014b91905b8082111561012d5760008155600101610137565b90565b6109318061015d6000396000f3006060604052600436106100ab5763ffffffff60e060020a60003504166306fdde0381146100b057806308ae4b0c1461013a57806318160ddd14610175578063313ce5671461019a5780634838d165146101c357806370a08231146101fb5780638a294c601461021a5780638da5cb5b1461023b5780638de6b3431461024e57806395d89b411461026d578063a9059cbb14610280578063f2fde38b146102a2578063f3796bdc146102c1575b600080fd5b34156100bb57600080fd5b6100c36102e0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100ff5780820151838201526020016100e7565b50505050905090810190601f16801561012c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014557600080fd5b610159600160a060020a036004351661037e565b604051600160a060020a03909116815260200160405180910390f35b341561018057600080fd5b610188610399565b60405190815260200160405180910390f35b34156101a557600080fd5b6101ad61039f565b60405160ff909116815260200160405180910390f35b34156101ce57600080fd5b6101e2600160a060020a03600435166103a8565b604051600091820b90910b815260200160405180910390f35b341561020657600080fd5b610188600160a060020a03600435166103bc565b341561022557600080fd5b610239600160a060020a03600435166103ce565b005b341561024657600080fd5b61015961043d565b341561025957600080fd5b610239600160a060020a036004351661044c565b341561027857600080fd5b6100c36104ba565b341561028b57600080fd5b610239600160a060020a0360043516602435610525565b34156102ad57600080fd5b610239600160a060020a036004351661082e565b34156102cc57600080fd5b610239600160a060020a03600435166108c8565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b505050505081565b600760205260009081526040902054600160a060020a031681565b60045481565b60035460ff1681565b600660205260009081526040812054900b81565b60056020526000908152604090205481565b60005433600160a060020a039081169116146103e95761043a565b600160a060020a03811660008181526006602052604090819020805460ff191660011790557fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855905160405180910390a25b50565b600054600160a060020a031681565b60005433600160a060020a039081169116146104675761043a565b600160a060020a03811660008181526006602052604090819020805460ff191660ff1790557f2e5392b52e98bf05bdf3784aaec667371398a6ea4fb965a2894852471999bca9905160405180910390a250565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103765780601f1061034b57610100808354040283529160200191610376565b600160a060020a0333166000908152600560205260408120548290101561054b57610829565b600160a060020a038316600090815260056020526040902054828101101561057257610829565b600160a060020a033316600090815260066020526040812054810b810b13156105e15782600160a060020a031633600160a060020a03167f2a04c84c100a93363ee2e1ab7076505a06b5dd417cccc0d6080ec8285e84f79e8460405190815260200160405180910390a3610829565b600160a060020a038316600090815260066020526040812054810b810b13156106505782600160a060020a031633600160a060020a03167fee75d149bb5e330e03f98b125aaa1efcd5864e4e2d5946f23dc6dd30630d56168460405190815260200160405180910390a3610829565b50600160a060020a038281166000908152600760205260408120549091168190111561077557600160a060020a0380841660009081526007602052604090819020549091169063390c58749033905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156106da57600080fd5b5af115156106e757600080fd5b5050506040518051600160a060020a03858116600090815260076020526040808220549390910b606487040294509116915063777aff7d90339085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561076457600080fd5b5af1151561077157600080fd5b5050505b600160a060020a03338116600081815260056020526040808220805486880390819003909155938716808352918190208054909401909355917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a333600160a060020a031683600160a060020a03167f82b105a9603353de51dbdf07d939d19d60f298a181b405653c095bfb286be4c28360405190815260200160405180910390a35b505050565b6000805433600160a060020a0390811691161461084a576108c4565b5060008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff1983161792839055908116917f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c91839116604051600160a060020a039283168152911660208201526040908101905180910390a15b5050565b600160a060020a03338116600090815260076020526040902080549190921673ffffffffffffffffffffffffffffffffffffffff199091161790555600a165627a7a72305820acfddfee79809035f0960306aa3ff75c9c5cc193cd2dc34237542e12a4cdc7fe002900000000000000000000000000000000000000001c6f307be4c4687e60000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c446176696e636920636f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034441430000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6060604052600436106100ab5763ffffffff60e060020a60003504166306fdde0381146100b057806308ae4b0c1461013a57806318160ddd14610175578063313ce5671461019a5780634838d165146101c357806370a08231146101fb5780638a294c601461021a5780638da5cb5b1461023b5780638de6b3431461024e57806395d89b411461026d578063a9059cbb14610280578063f2fde38b146102a2578063f3796bdc146102c1575b600080fd5b34156100bb57600080fd5b6100c36102e0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100ff5780820151838201526020016100e7565b50505050905090810190601f16801561012c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014557600080fd5b610159600160a060020a036004351661037e565b604051600160a060020a03909116815260200160405180910390f35b341561018057600080fd5b610188610399565b60405190815260200160405180910390f35b34156101a557600080fd5b6101ad61039f565b60405160ff909116815260200160405180910390f35b34156101ce57600080fd5b6101e2600160a060020a03600435166103a8565b604051600091820b90910b815260200160405180910390f35b341561020657600080fd5b610188600160a060020a03600435166103bc565b341561022557600080fd5b610239600160a060020a03600435166103ce565b005b341561024657600080fd5b61015961043d565b341561025957600080fd5b610239600160a060020a036004351661044c565b341561027857600080fd5b6100c36104ba565b341561028b57600080fd5b610239600160a060020a0360043516602435610525565b34156102ad57600080fd5b610239600160a060020a036004351661082e565b34156102cc57600080fd5b610239600160a060020a03600435166108c8565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b505050505081565b600760205260009081526040902054600160a060020a031681565b60045481565b60035460ff1681565b600660205260009081526040812054900b81565b60056020526000908152604090205481565b60005433600160a060020a039081169116146103e95761043a565b600160a060020a03811660008181526006602052604090819020805460ff191660011790557fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855905160405180910390a25b50565b600054600160a060020a031681565b60005433600160a060020a039081169116146104675761043a565b600160a060020a03811660008181526006602052604090819020805460ff191660ff1790557f2e5392b52e98bf05bdf3784aaec667371398a6ea4fb965a2894852471999bca9905160405180910390a250565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103765780601f1061034b57610100808354040283529160200191610376565b600160a060020a0333166000908152600560205260408120548290101561054b57610829565b600160a060020a038316600090815260056020526040902054828101101561057257610829565b600160a060020a033316600090815260066020526040812054810b810b13156105e15782600160a060020a031633600160a060020a03167f2a04c84c100a93363ee2e1ab7076505a06b5dd417cccc0d6080ec8285e84f79e8460405190815260200160405180910390a3610829565b600160a060020a038316600090815260066020526040812054810b810b13156106505782600160a060020a031633600160a060020a03167fee75d149bb5e330e03f98b125aaa1efcd5864e4e2d5946f23dc6dd30630d56168460405190815260200160405180910390a3610829565b50600160a060020a038281166000908152600760205260408120549091168190111561077557600160a060020a0380841660009081526007602052604090819020549091169063390c58749033905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156106da57600080fd5b5af115156106e757600080fd5b5050506040518051600160a060020a03858116600090815260076020526040808220549390910b606487040294509116915063777aff7d90339085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561076457600080fd5b5af1151561077157600080fd5b5050505b600160a060020a03338116600081815260056020526040808220805486880390819003909155938716808352918190208054909401909355917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a333600160a060020a031683600160a060020a03167f82b105a9603353de51dbdf07d939d19d60f298a181b405653c095bfb286be4c28360405190815260200160405180910390a35b505050565b6000805433600160a060020a0390811691161461084a576108c4565b5060008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff1983161792839055908116917f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c91839116604051600160a060020a039283168152911660208201526040908101905180910390a15b5050565b600160a060020a03338116600090815260076020526040902080549190921673ffffffffffffffffffffffffffffffffffffffff199091161790555600a165627a7a72305820acfddfee79809035f0960306aa3ff75c9c5cc193cd2dc34237542e12a4cdc7fe0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000001c6f307be4c4687e60000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c446176696e636920636f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034441430000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _supply (uint256): 8800000000000000000000000000
Arg [1] : _name (string): Davinci coin
Arg [2] : _symbol (string): DAC
Arg [3] : _decimals (uint8): 18

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000001c6f307be4c4687e60000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [5] : 446176696e636920636f696e0000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 4441430000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://acfddfee79809035f0960306aa3ff75c9c5cc193cd2dc34237542e12a4cdc7fe
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.