ERC-20
Source Code
Overview
Max Total Supply
8,800,000,000 DAC
Holders
3,240
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
32,905 DACValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
OreOreCoin
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
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.
Add Token to MetaMask (Web3)