BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1QmYC...YwDe
operations (3)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
209
 
1
parameter (or
2
            (or (unit %default)
3
                (list %update_address_list (pair (string %name)
4
                                                (option %update_list (list (pair
5
                                                                           (address %address)
6
                                                                           (option %unit unit)))))))
7
            (or (list %update_addresses (pair (option %address address) (string %name)))
8
                (or (list %update_bytes (pair (option %byte bytes) (string %name)))
9
                    (list %update_numbers (pair (string %name) (option %number nat))))));
10
storage (pair (map %address_list string (big_map address unit))
11
              (pair (big_map %addresses string address)
12
                    (pair (map %byte_list string (big_map address bytes))
13
                          (pair (big_map %bytes string bytes)
14
                                (pair (map %count_list string (big_map address nat))
15
                                      (pair (big_map %metadata string bytes)
16
                                            (big_map %numbers string nat)))))));
17
code { UNPAIR ;
18
       IF_LEFT
19
         { IF_LEFT
20
             { DROP ;
21
               NIL operation ;
22
               DUP 2 ;
23
               GET 3 ;
24
               PUSH string "ADMIN" ;
25
               GET ;
26
               IF_NONE { PUSH int 30 ; FAILWITH } {} ;
27
               CONTRACT unit ;
28
               IF_NONE { PUSH int 30 ; FAILWITH } {} ;
29
               AMOUNT ;
30
               UNIT ;
31
               TRANSFER_TOKENS ;
32
               CONS }
33
             { DUP 2 ;
34
               GET 3 ;
35
               PUSH string "ADMIN" ;
36
               GET ;
37
               IF_NONE { PUSH int 64 ; FAILWITH } {} ;
38
               SENDER ;
39
               COMPARE ;
40
               EQ ;
41
               IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
42
               DUP ;
43
               ITER { DUP ;
44
                      CDR ;
45
                      IF_NONE
46
                        { DIG 2 ;
47
                          DUP ;
48
                          CAR ;
49
                          NONE (big_map address unit) ;
50
                          DIG 3 ;
51
                          CAR ;
52
                          UPDATE ;
53
                          UPDATE 1 ;
54
                          SWAP }
55
                        { DROP ;
56
                          DUP ;
57
                          CDR ;
58
                          IF_NONE { PUSH int 80 ; FAILWITH } {} ;
59
                          DUP 4 ;
60
                          CAR ;
61
                          DUP 3 ;
62
                          CAR ;
63
                          MEM ;
64
                          IF
65
                            {}
66
                            { DIG 3 ;
67
                              DUP ;
68
                              CAR ;
69
                              EMPTY_BIG_MAP address unit ;
70
                              SOME ;
71
                              DUP 5 ;
72
                              CAR ;
73
                              UPDATE ;
74
                              UPDATE 1 ;
75
                              DUG 3 } ;
76
                          DUP ;
77
                          ITER { DUP ;
78
                                 CDR ;
79
                                 IF_NONE
80
                                   { DIG 4 ;
81
                                     DUP ;
82
                                     CAR ;
83
                                     DUP ;
84
                                     DUP 6 ;
85
                                     CAR ;
86
                                     DUP ;
87
                                     DUG 2 ;
88
                                     GET ;
89
                                     IF_NONE { PUSH int 87 ; FAILWITH } {} ;
90
                                     NONE unit ;
91
                                     DIG 5 ;
92
                                     CAR ;
93
                                     UPDATE ;
94
                                     SOME ;
95
                                     SWAP ;
96
                                     UPDATE ;
97
                                     UPDATE 1 ;
98
                                     DUG 3 }
99
                                   { DROP ;
100
                                     DIG 4 ;
101
                                     DUP ;
102
                                     CAR ;
103
                                     DUP ;
104
                                     DUP 6 ;
105
                                     CAR ;
106
                                     DUP ;
107
                                     DUG 2 ;
108
                                     GET ;
109
                                     IF_NONE { PUSH int 85 ; FAILWITH } {} ;
110
                                     PUSH (option unit) (Some Unit) ;
111
                                     DIG 5 ;
112
                                     CAR ;
113
                                     UPDATE ;
114
                                     SOME ;
115
                                     SWAP ;
116
                                     UPDATE ;
117
                                     UPDATE 1 ;
118
                                     DUG 3 } } ;
119
                          DROP 2 } } ;
120
               DROP ;
121
               NIL operation } }
122
         { IF_LEFT
123
             { DUP 2 ;
124
               GET 3 ;
125
               PUSH string "ADMIN" ;
126
               GET ;
127
               IF_NONE { PUSH int 34 ; FAILWITH } {} ;
128
               SENDER ;
129
               COMPARE ;
130
               EQ ;
131
               IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
132
               DUP ;
133
               ITER { DUP ;
134
                      CAR ;
135
                      IF_NONE
136
                        { DIG 2 ; DUP ; GET 3 ; NONE address ; DIG 3 ; CDR ; UPDATE ; UPDATE 3 ; SWAP }
137
                        { DROP ;
138
                          DIG 2 ;
139
                          DUP ;
140
                          GET 3 ;
141
                          DUP 3 ;
142
                          CAR ;
143
                          IF_NONE { PUSH int 38 ; FAILWITH } {} ;
144
                          SOME ;
145
                          DIG 3 ;
146
                          CDR ;
147
                          UPDATE ;
148
                          UPDATE 3 ;
149
                          SWAP } } ;
150
               DROP }
151
             { IF_LEFT
152
                 { DUP 2 ;
153
                   GET 3 ;
154
                   PUSH string "ADMIN" ;
155
                   GET ;
156
                   IF_NONE { PUSH int 44 ; FAILWITH } {} ;
157
                   SENDER ;
158
                   COMPARE ;
159
                   EQ ;
160
                   IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
161
                   DUP ;
162
                   ITER { DUP ;
163
                          CAR ;
164
                          IF_NONE
165
                            { DIG 2 ; DUP ; GET 7 ; NONE bytes ; DIG 3 ; CDR ; UPDATE ; UPDATE 7 ; SWAP }
166
                            { DROP ;
167
                              DIG 2 ;
168
                              DUP ;
169
                              GET 7 ;
170
                              DUP 3 ;
171
                              CAR ;
172
                              IF_NONE { PUSH int 48 ; FAILWITH } {} ;
173
                              SOME ;
174
                              DIG 3 ;
175
                              CDR ;
176
                              UPDATE ;
177
                              UPDATE 7 ;
178
                              SWAP } } ;
179
                   DROP }
180
                 { DUP 2 ;
181
                   GET 3 ;
182
                   PUSH string "ADMIN" ;
183
                   GET ;
184
                   IF_NONE { PUSH int 54 ; FAILWITH } {} ;
185
                   SENDER ;
186
                   COMPARE ;
187
                   EQ ;
188
                   IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
189
                   DUP ;
190
                   ITER { DUP ;
191
                          CDR ;
192
                          IF_NONE
193
                            { DIG 2 ; DUP ; GET 12 ; NONE nat ; DIG 3 ; CAR ; UPDATE ; UPDATE 12 ; SWAP }
194
                            { DROP ;
195
                              DIG 2 ;
196
                              DUP ;
197
                              GET 12 ;
198
                              DUP 3 ;
199
                              CDR ;
200
                              IF_NONE { PUSH int 58 ; FAILWITH } {} ;
201
                              SOME ;
202
                              DIG 3 ;
203
                              CAR ;
204
                              UPDATE ;
205
                              UPDATE 12 ;
206
                              SWAP } } ;
207
                   DROP } } ;
208
           NIL operation } ;
209
       PAIR }