BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Tezosx
  • /
  • KT1AWDG...DtiM
operations (2)Storage Code Interact Tokens Fork Views Details
Latest
​x
83
 
1
{ parameter (or (pair %addClaimTopic (address %caller_alias) (nat %topic))
2
                (or (pair %removeClaimTopic (address %caller_alias) (nat %topic))
3
                    (or (pair %setOwner (address %caller_alias) (address %new_owner))
4
                        (address %setAdmin)))) ;
5
  storage (pair (set %topics nat) (pair (address %admin) (address %owner))) ;
6
  code { UNPAIR ;
7
         IF_LEFT
8
           { DUP 2 ;
9
             GET 3 ;
10
             SENDER ;
11
             COMPARE ;
12
             NEQ ;
13
             IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
14
             DUP 2 ;
15
             GET 4 ;
16
             DUP 2 ;
17
             CAR ;
18
             COMPARE ;
19
             NEQ ;
20
             IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
21
             SWAP ;
22
             DUP ;
23
             CAR ;
24
             PUSH bool True ;
25
             DIG 3 ;
26
             CDR ;
27
             UPDATE ;
28
             UPDATE 1 }
29
           { IF_LEFT
30
               { DUP 2 ;
31
                 GET 3 ;
32
                 SENDER ;
33
                 COMPARE ;
34
                 NEQ ;
35
                 IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
36
                 DUP 2 ;
37
                 GET 4 ;
38
                 DUP 2 ;
39
                 CAR ;
40
                 COMPARE ;
41
                 NEQ ;
42
                 IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
43
                 DUP 2 ;
44
                 CAR ;
45
                 DUP 2 ;
46
                 CDR ;
47
                 MEM ;
48
                 IF {} { PUSH string "TOPIC_NOT_FOUND" ; FAILWITH } ;
49
                 SWAP ;
50
                 DUP ;
51
                 CAR ;
52
                 PUSH bool False ;
53
                 DIG 3 ;
54
                 CDR ;
55
                 UPDATE ;
56
                 UPDATE 1 }
57
               { IF_LEFT
58
                   { DUP 2 ;
59
                     GET 3 ;
60
                     SENDER ;
61
                     COMPARE ;
62
                     NEQ ;
63
                     IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
64
                     DUP 2 ;
65
                     GET 4 ;
66
                     DUP 2 ;
67
                     CAR ;
68
                     COMPARE ;
69
                     NEQ ;
70
                     IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
71
                     CDR ;
72
                     UPDATE 4 }
73
                   { DUP 2 ;
74
                     GET 3 ;
75
                     SENDER ;
76
                     COMPARE ;
77
                     NEQ ;
78
                     IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
79
                     UPDATE 3 } } } ;
80
         NIL operation ;
81
         PAIR } ;
82
  view "getClaimTopics" unit (set nat) { GET 3 } ;
83
  view "hasClaimTopic" nat bool { UNPAIR ; SWAP ; CAR ; SWAP ; MEM } }