BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1Qv5w...7Bog
operations (6)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
106
 
1
parameter (or (unit %buy_ticket) (nat %end_game));
2
storage (pair (pair (nat %max_tickets) (address %operator))
3
              (pair (map %players nat address)
4
                    (pair (mutez %ticket_cost) (nat %tickets_available))));
5
code { UNPAIR ;
6
       IF_LEFT
7
         { DROP ;
8
           DUP ;
9
           CAR ;
10
           CDR ;
11
           SENDER ;
12
           COMPARE ;
13
           NEQ ;
14
           IF {} { PUSH string "Operator cannot but tickets." ; FAILWITH } ;
15
           DUP ;
16
           GET 6 ;
17
           PUSH nat 0 ;
18
           COMPARE ;
19
           LT ;
20
           IF {} { PUSH string "No Tickets Available." ; FAILWITH } ;
21
           DUP ;
22
           GET 5 ;
23
           AMOUNT ;
24
           COMPARE ;
25
           GE ;
26
           IF {} { PUSH string "Invalid Amount" ; FAILWITH } ;
27
           DUP ;
28
           DUP ;
29
           GET 3 ;
30
           SENDER ;
31
           SOME ;
32
           DIG 3 ;
33
           GET 3 ;
34
           SIZE ;
35
           UPDATE ;
36
           UPDATE 3 ;
37
           DUP ;
38
           PUSH nat 1 ;
39
           DIG 2 ;
40
           GET 6 ;
41
           SUB ;
42
           ISNAT ;
43
           IF_NONE { PUSH int 27 ; FAILWITH } {} ;
44
           UPDATE 6 ;
45
           NIL operation }
46
         { PUSH nat 0 ;
47
           DUP 3 ;
48
           GET 6 ;
49
           COMPARE ;
50
           EQ ;
51
           IF {} { PUSH string "Tickets still Available" ; FAILWITH } ;
52
           SWAP ;
53
           DUP ;
54
           DUG 2 ;
55
           CAR ;
56
           CDR ;
57
           SENDER ;
58
           COMPARE ;
59
           EQ ;
60
           IF {} { PUSH string "Only operator can end game" ; FAILWITH } ;
61
           NIL operation ;
62
           DIG 2 ;
63
           DUP ;
64
           GET 3 ;
65
           SWAP ;
66
           DUP ;
67
           DUG 4 ;
68
           CAR ;
69
           CAR ;
70
           DIG 3 ;
71
           EDIV ;
72
           IF_NONE { PUSH int 36 ; FAILWITH } { CDR } ;
73
           GET ;
74
           IF_NONE { PUSH int 39 ; FAILWITH } {} ;
75
           CONTRACT unit ;
76
           IF_NONE { PUSH int 42 ; FAILWITH } {} ;
77
           PUSH mutez 2000000 ;
78
           BALANCE ;
79
           SUB_MUTEZ ;
80
           IF_NONE { PUSH int 42 ; FAILWITH } {} ;
81
           UNIT ;
82
           TRANSFER_TOKENS ;
83
           CONS ;
84
           SWAP ;
85
           DUP ;
86
           DUG 2 ;
87
           CAR ;
88
           CDR ;
89
           CONTRACT unit ;
90
           IF_NONE { PUSH int 44 ; FAILWITH } {} ;
91
           PUSH mutez 2000000 ;
92
           UNIT ;
93
           TRANSFER_TOKENS ;
94
           CONS ;
95
           SWAP ;
96
           EMPTY_MAP nat address ;
97
           UPDATE 3 ;
98
           DUP ;
99
           CAR ;
100
           CAR ;
101
           UPDATE 6 ;
102
           SWAP } ;
103
       NIL operation ;
104
       SWAP ;
105
       ITER { CONS } ;
106
       PAIR }