BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • KT1ERcZ...ric7
operations (65)Storage Code Interact Tokens Fork Views Statistics Details
Latest
​x
91
 
1
{ parameter (or
2
              (or (address %addAuthorizedCaller)
3
                  (pair %redeem (address %contractAddress) (nat %tokenId)))
4
              (or (address %removeAuthorizedCaller)
5
                  (list %setRedemptions (pair (address %address)
6
                                             (pair (bool %state) (nat %tokenId)))))) ;
7
  storage (pair (address %administrator)
8
                (pair (big_map %authorizedCallers address bool)
9
                      (big_map %redemptions (pair address nat) bool))) ;
10
  code { UNPAIR ;
11
         IF_LEFT
12
           { IF_LEFT
13
               { SOURCE ;
14
                 DUP 3 ;
15
                 CAR ;
16
                 COMPARE ;
17
                 EQ ;
18
                 IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
19
                 SWAP ;
20
                 DUP ;
21
                 GET 3 ;
22
                 PUSH (option bool) (Some True) ;
23
                 DIG 3 ;
24
                 UPDATE ;
25
                 UPDATE 3 }
26
               { SWAP ;
27
                 DUP ;
28
                 DUG 2 ;
29
                 GET 3 ;
30
                 SENDER ;
31
                 GET ;
32
                 IF_NONE { PUSH int 25 ; FAILWITH } {} ;
33
                 IF {} { PUSH string "NOT_AUTHORIZED_CALLER" ; FAILWITH } ;
34
                 SWAP ;
35
                 DUP ;
36
                 GET 4 ;
37
                 PUSH (option bool) (Some True) ;
38
                 DIG 3 ;
39
                 UPDATE ;
40
                 UPDATE 4 } }
41
           { IF_LEFT
42
               { SOURCE ;
43
                 DUP 3 ;
44
                 CAR ;
45
                 COMPARE ;
46
                 EQ ;
47
                 IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
48
                 SWAP ;
49
                 DUP ;
50
                 GET 3 ;
51
                 PUSH (option bool) (Some False) ;
52
                 DIG 3 ;
53
                 UPDATE ;
54
                 UPDATE 3 }
55
               { SOURCE ;
56
                 DUP 3 ;
57
                 CAR ;
58
                 COMPARE ;
59
                 EQ ;
60
                 IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ;
61
                 DUP ;
62
                 ITER { DIG 2 ;
63
                        DUP ;
64
                        GET 4 ;
65
                        DUP 3 ;
66
                        GET 3 ;
67
                        SOME ;
68
                        DIG 3 ;
69
                        DUP ;
70
                        GET 4 ;
71
                        SWAP ;
72
                        CAR ;
73
                        PAIR ;
74
                        UPDATE ;
75
                        UPDATE 4 ;
76
                        SWAP } ;
77
                 DROP } } ;
78
         NIL operation ;
79
         PAIR } ;
80
  view "isRedeemed" (pair address nat) bool
81
        { UNPAIR ;
82
          PUSH bool True ;
83
          DUP 3 ;
84
          GET 4 ;
85
          DUP 3 ;
86
          MEM ;
87
          COMPARE ;
88
          EQ ;
89
          IF
90
            { SWAP ; GET 4 ; SWAP ; GET ; IF_NONE { PUSH int 56 ; FAILWITH } {} }
91
            { DROP 2 ; PUSH bool False } } }