Lottery

Change 0.1 ARTI to 20 AXS

Oct. 30. 2021 ~ Nov. 04. 2021

Exchange ARTI for Axie Infinity

For those who have signed up for the new membership, we will provide free coin 0.1 ARTI that can be used in ARTi X. Learn more about Axie Infinity >

There will be 21 winners

1 Transaction = 1 Application

You can apply once with a single 0.1 ARTI transaction. To prevent possible losses to users, you can only apply through a button that sends 0.1 ARTI from the Metamask wallet linked to ArtiX's account to the event wallet.

Please note that there is no application for transactions other transactions. The maximum number of applications sent from one wallet is 5 (total 0.5 ARTI).

* ARTI used for application will not be returned.

Number of Applicants

359

DAYS
HR
MIN
SEC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
pragma solidity ^0.4.26;
 
 
contract Owned {
    address public tokenCreator;
    address public owner;
 
    event OwnershipChange(address indexed _from, address indexed _to);
 
    constructor() public {
        tokenCreator=msg.sender;
        owner=msg.sender;
    }
    modifier onlyOwner {
        require(msg.sender==tokenCreator || msg.sender==owner,"No ownership.");
        _;
    }
    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner!=address(0),"Ownership to the zero address");
        emit OwnershipChange(owner,newOwner);
        owner=newOwner;
    }
}
 
 
contract EventDraw is Owned {
    struct EventInfo {
        string eventName;
        uint256 eventCount;
        uint256 eventLots;
        bool eventDraw;
        uint256 drawTime;
        uint256[] drawResult;
        bool eventEnd;
 
    }
    mapping (uint256 => EventInfo) private _eventInfo;   
    mapping (uint256 => mapping(uint256=>bool)) private _eventResult;
    
    uint256 private totalEventCount=0;
 
    constructor() public {
    }
 
    
    event RegisterInfo(string event_name,uint256 event_count,uint256 event_lots);
    event EditInfo(uint256 event_no,string event_name,uint256 event_count,uint256 event_lots,string edit_msg);
    event DrawEvent(uint256 event_no,string event_name,uint256[] draw_result);
    event EndEvent(uint256 event_no,string event_name);
 
    function registerEvent(string memory event_name,uint256 event_count,uint256 event_lots) public onlyOwner returns (bool) {
        EventInfo memory evt;
        evt.eventName = event_name;
        evt.eventCount = event_count;
        evt.eventLots = event_lots;
        evt.eventDraw = false;
        
        totalEventCount++;
        _eventInfo[totalEventCount] = evt;
        emit RegisterInfo(event_name,event_count,event_lots);
        return true;
    }
 
    function editEvent(uint256 event_no,string memory event_name,uint256 event_count,uint256 event_lots,string memory edit_msg) public onlyOwner returns (bool) {
        require(!_eventInfo[event_no].eventDraw, "The event draw lots already.");
        require(!_eventInfo[event_no].eventEnd, "The event is over.");
        
        EventInfo memory evt;
        evt.eventName = event_name;
        evt.eventCount = event_count;
        evt.eventLots = event_lots;
        evt.eventDraw = false;
        
        _eventInfo[event_no] = evt;
        emit EditInfo(event_no,event_name,event_count,event_lots,edit_msg);
        return true;
    }    
 
    function drawEvent(uint256 event_no) public onlyOwner returns (bool) {
        _eventInfo[event_no].drawTime = now;
        uint256 result=0;
        for(uint256 i=1;i<=_eventInfo[event_no].eventLots;i++) {
            result=0;
            while(_eventResult[event_no][result]==false) {
                result=randomNumber(i) % _eventInfo[event_no].eventCount +1;
                if(_eventResult[event_no][result]==false) {
                    _eventInfo[event_no].drawResult.push(result);
                    _eventResult[event_no][result]=true;
                }
            }
        }
        _eventInfo[event_no].eventDraw = true;
        emit DrawEvent(event_no,_eventInfo[event_no].eventName,_eventInfo[event_no].drawResult);
        return true;
    }    
 
    function endEvent(uint256 event_no) public onlyOwner returns (bool) {
        _eventInfo[event_no].eventEnd = true;
        emit EndEvent(event_no,_eventInfo[event_no].eventName);
        return true;
    }    
 
    function eventInfoAll(uint256 event_no) public view returns (string,uint256,uint256,bool,uint256,uint256[],bool) { 
        return (_eventInfo[event_no].eventName,_eventInfo[event_no].eventCount,_eventInfo[event_no].eventLots,_eventInfo[event_no].eventDraw,_eventInfo[event_no].drawTime,_eventInfo[event_no].drawResult,_eventInfo[event_no].eventEnd);
    }
 
    function eventInfoName(uint256 event_no) public view returns (string) { 
        return _eventInfo[event_no].eventName;
    }
 
    function eventInfoCount(uint256 event_no) public view returns (uint256) { 
        return _eventInfo[event_no].eventCount;
    }
 
    function eventInfoLots(uint256 event_no) public view returns (uint256) { 
        return _eventInfo[event_no].eventLots;
    }
 
    function eventInfoDrawTime(uint256 event_no) public view returns (uint256) { 
        return _eventInfo[event_no].drawTime;
    }
    
    function eventSearch(string memory event_name) public view returns (uint256) { 
        for(uint256 i=1;i<=totalEventCount;i++) {
            if(strCompare(event_name,_eventInfo[i].eventName)==true) {
                return i;
            }
        }
        return 0;
    }
 
    function eventResultDraw(uint256 event_no) public view returns (uint256[]) { 
        return _eventInfo[event_no].drawResult;
    }
 
    function eventResultCheck(uint256 event_no,uint256 my_no) public view returns (bool) { 
        return _eventResult[event_no][my_no];
    }
 
    function eventIsDraw(uint256 event_no) public view returns (bool) { 
        return _eventInfo[event_no].eventDraw;
    }
 
    function eventIsEnd(uint256 event_no) public view returns (bool) { 
        return _eventInfo[event_no].eventEnd;
    }
 
    function strCompare(string name1, string name2) public pure returns (bool) {
        return keccak256(abi.encodePacked(name1)) == keccak256(abi.encodePacked(name2));
    }
 
    function randomNumber(uint256 no) private view returns(uint) {
        return uint(keccak256(abi.encodePacked(block.difficulty*no, block.timestamp*no, now+no)));
    }
}
cs

20 AXS Winner

ID lottery number No.
Bu*********** 67830191 341

1 AXS Winner

ID lottery number No.
29**** 74629292 3
ez** 71214995 11
ez** 68402645 12
yo*** 91595534 32
yo*** 5335551 34
bo******* 96533508 40
Ku*** 80515694 45
um****** 54422145 55
ke**** 86177727 70
ka***** 57761183 116
Po***** 3696308 129
fa****** 46705188 168
ya********* 93713407 194
ya********* 37018651 203
wa******* 97128573 238
wa******* 30929320 242
Mr**** 43859744 267
ba********** 94490923 275
ca***** 73573062 357
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
pragma solidity ^0.4.26;
 
 
contract Owned {
    address public tokenCreator;
    address public owner;
 
    event OwnershipChange(address indexed _from, address indexed _to);
 
    constructor() public {
        tokenCreator=msg.sender;
        owner=msg.sender;
    }
    modifier onlyOwner {
        require(msg.sender==tokenCreator || msg.sender==owner,"No ownership.");
        _;
    }
    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner!=address(0),"Ownership to the zero address");
        emit OwnershipChange(owner,newOwner);
        owner=newOwner;
    }
}
 
 
contract EventDraw is Owned {
    struct EventInfo {
        string eventName;
        uint256 eventCount;
        uint256 eventLots;
        bool eventDraw;
        uint256 drawTime;
        uint256[] drawResult;
        bool eventEnd;
 
    }
    mapping (uint256 => EventInfo) private _eventInfo;   
    mapping (uint256 => mapping(uint256=>bool)) private _eventResult;
    
    uint256 private totalEventCount=0;
 
    constructor() public {
    }
 
    
    event RegisterInfo(string event_name,uint256 event_count,uint256 event_lots);
    event EditInfo(uint256 event_no,string event_name,uint256 event_count,uint256 event_lots,string edit_msg);
    event DrawEvent(uint256 event_no,string event_name,uint256[] draw_result);
    event EndEvent(uint256 event_no,string event_name);
 
    function registerEvent(string memory event_name,uint256 event_count,uint256 event_lots) public onlyOwner returns (bool) {
        EventInfo memory evt;
        evt.eventName = event_name;
        evt.eventCount = event_count;
        evt.eventLots = event_lots;
        evt.eventDraw = false;
        
        totalEventCount++;
        _eventInfo[totalEventCount] = evt;
        emit RegisterInfo(event_name,event_count,event_lots);
        return true;
    }
 
    function editEvent(uint256 event_no,string memory event_name,uint256 event_count,uint256 event_lots,string memory edit_msg) public onlyOwner returns (bool) {
        require(!_eventInfo[event_no].eventDraw, "The event draw lots already.");
        require(!_eventInfo[event_no].eventEnd, "The event is over.");
        
        EventInfo memory evt;
        evt.eventName = event_name;
        evt.eventCount = event_count;
        evt.eventLots = event_lots;
        evt.eventDraw = false;
        
        _eventInfo[event_no] = evt;
        emit EditInfo(event_no,event_name,event_count,event_lots,edit_msg);
        return true;
    }    
 
    function drawEvent(uint256 event_no) public onlyOwner returns (bool) {
        _eventInfo[event_no].drawTime = now;
        uint256 result=0;
        for(uint256 i=1;i<=_eventInfo[event_no].eventLots;i++) {
            result=0;
            while(_eventResult[event_no][result]==false) {
                result=randomNumber(i) % _eventInfo[event_no].eventCount +1;
                if(_eventResult[event_no][result]==false) {
                    _eventInfo[event_no].drawResult.push(result);
                    _eventResult[event_no][result]=true;
                }
            }
        }
        _eventInfo[event_no].eventDraw = true;
        emit DrawEvent(event_no,_eventInfo[event_no].eventName,_eventInfo[event_no].drawResult);
        return true;
    }    
 
    function endEvent(uint256 event_no) public onlyOwner returns (bool) {
        _eventInfo[event_no].eventEnd = true;
        emit EndEvent(event_no,_eventInfo[event_no].eventName);
        return true;
    }    
 
    function eventInfoAll(uint256 event_no) public view returns (string,uint256,uint256,bool,uint256,uint256[],bool) { 
        return (_eventInfo[event_no].eventName,_eventInfo[event_no].eventCount,_eventInfo[event_no].eventLots,_eventInfo[event_no].eventDraw,_eventInfo[event_no].drawTime,_eventInfo[event_no].drawResult,_eventInfo[event_no].eventEnd);
    }
 
    function eventInfoName(uint256 event_no) public view returns (string) { 
        return _eventInfo[event_no].eventName;
    }
 
    function eventInfoCount(uint256 event_no) public view returns (uint256) { 
        return _eventInfo[event_no].eventCount;
    }
 
    function eventInfoLots(uint256 event_no) public view returns (uint256) { 
        return _eventInfo[event_no].eventLots;
    }
 
    function eventInfoDrawTime(uint256 event_no) public view returns (uint256) { 
        return _eventInfo[event_no].drawTime;
    }
    
    function eventSearch(string memory event_name) public view returns (uint256) { 
        for(uint256 i=1;i<=totalEventCount;i++) {
            if(strCompare(event_name,_eventInfo[i].eventName)==true) {
                return i;
            }
        }
        return 0;
    }
 
    function eventResultDraw(uint256 event_no) public view returns (uint256[]) { 
        return _eventInfo[event_no].drawResult;
    }
 
    function eventResultCheck(uint256 event_no,uint256 my_no) public view returns (bool) { 
        return _eventResult[event_no][my_no];
    }
 
    function eventIsDraw(uint256 event_no) public view returns (bool) { 
        return _eventInfo[event_no].eventDraw;
    }
 
    function eventIsEnd(uint256 event_no) public view returns (bool) { 
        return _eventInfo[event_no].eventEnd;
    }
 
    function strCompare(string name1, string name2) public pure returns (bool) {
        return keccak256(abi.encodePacked(name1)) == keccak256(abi.encodePacked(name2));
    }
 
    function randomNumber(uint256 no) private view returns(uint) {
        return uint(keccak256(abi.encodePacked(block.difficulty*no, block.timestamp*no, now+no)));
    }
}
cs

20 AXS Winner

ID lottery number No.
Bu*********** 67830191 341

1 AXS Winner

ID lottery number No.
29**** 74629292 3
ez** 71214995 11
ez** 68402645 12
yo*** 91595534 32
yo*** 5335551 34
bo******* 96533508 40
Ku*** 80515694 45
um****** 54422145 55
ke**** 86177727 70
ka***** 57761183 116
Po***** 3696308 129
fa****** 46705188 168
ya********* 93713407 194
ya********* 37018651 203
wa******* 97128573 238
wa******* 30929320 242
Mr**** 43859744 267
ba********** 94490923 275
ca***** 73573062 357

How to get 1 ARTI

Way 1

New Members Airdrop

Way 2

Buy

Way 3

Swap

Those who applied

Those who applied

No. ID lottery number TX HASH Date / Time
209 au***** 97922844 0x5ad417df1639eb20a7c7785d881403c07aa586075aefa257678fc563c4507ee1 2021-10-31 18:52:45
208 au***** 24973563 0xaa89aeb6344e6139fd50ba783d4f197da625a83da32c1c3e7fcb4fde07a124d7 2021-10-31 18:48:39
207 au***** 43918772 0x3d2bacdeb2a0ec3b0a8b8a216da129b8644526bd122625f871334a72aa801653 2021-10-31 18:44:17
206 ya********* 18103899 0x54aadb3a62d5270eccf7098e73ec262df2386f41483c69a4758b7db3b55d9393 2021-10-31 14:21:04
205 ya********* 41354914 0xe839ad89e22f0d7605533c6ea1c5edcb51c5699b682da72baa51afa9a7457027 2021-10-31 14:20:50
204 ya********* 52011449 0x21e79fabf2f4ff357ac70b97c78f7343cfdf6b8ef8b88ba7cbe2ff5ba34becd4 2021-10-31 14:20:36
203 ya********* 37018651 0x538e6164670832d08086510a91ceaee8fb44e6e390fd9eb697fe247c73d9e356 2021-10-31 14:20:21
202 ya********* 66999169 0x4bd6129fee292b92f4492959bcb09659cdc9893841a0c8f7e94c4b3c97307a8c 2021-10-31 14:20:02
201 ya********* 72041220 0x4e0e32252b5ecd33e1050ea709ce596e96f1826d52da5f95b2242ec66666884c 2021-10-31 14:17:32
200 ya********* 22196412 0xdb1828630ff686115ca6eef47e9ab06a5ddf01d4db0dda9d2e684757fa35cbca 2021-10-31 14:17:19