BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Shadownet
  • /
  • KT1GCYH...h3bH
operations (37.8K)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
52
 
1
parameter (or (address %add_in_whitelist)
2
              (or (string %default) (address %remove_in_whitelist)));
3
storage (pair (address %owner) (pair (string %storage) (set %whitelist address)));
4
code { UNPAIR ;
5
       IF_LEFT
6
         { SENDER ;
7
           DUP 3 ;
8
           CAR ;
9
           COMPARE ;
10
           EQ ;
11
           IF {} { PUSH string "Only the owner can update the whitelist" ; FAILWITH } ;
12
           DUP 2 ;
13
           GET 4 ;
14
           DUP 2 ;
15
           MEM ;
16
           IF { PUSH string "User already in the whitelist" ; FAILWITH } {} ;
17
           SWAP ;
18
           DUP ;
19
           GET 4 ;
20
           PUSH bool True ;
21
           DIG 3 ;
22
           UPDATE ;
23
           UPDATE 4 }
24
         { IF_LEFT
25
             { DUP 2 ;
26
               GET 4 ;
27
               SENDER ;
28
               MEM ;
29
               IF {} { PUSH string "Sender not in the whitelist" ; FAILWITH } ;
30
               UPDATE 3 }
31
             { SENDER ;
32
               DUP 3 ;
33
               CAR ;
34
               COMPARE ;
35
               EQ ;
36
               IF
37
                 {}
38
                 { PUSH string "Only the owner can update the whitelist" ; FAILWITH } ;
39
               DUP 2 ;
40
               GET 4 ;
41
               DUP 2 ;
42
               MEM ;
43
               IF {} { PUSH string "User already in the whitelist" ; FAILWITH } ;
44
               SWAP ;
45
               DUP ;
46
               GET 4 ;
47
               PUSH bool False ;
48
               DIG 3 ;
49
               UPDATE ;
50
               UPDATE 4 } } ;
51
       NIL operation ;
52
       PAIR }