BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • KT1CeFq...6Lyj
operations (118K)Storage Code Interact Tokens Tickets Fork Statistics Details
Latest
​x
58
 
1
parameter (or (pair %burn address (ticket (pair nat (option bytes)))) (address %mint));
2
storage unit;
3
code { CAR ;
4
       IF_LEFT
5
         { UNPAIR ;
6
           PUSH mutez 0 ;
7
           AMOUNT ;
8
           COMPARE ;
9
           GT ;
10
           IF
11
             { DROP 2 ; PUSH string "Burn does not accept tez." ; FAILWITH }
12
             { SWAP ;
13
               READ_TICKET ;
14
               SWAP ;
15
               DROP ;
16
               UNPAIR ;
17
               SWAP ;
18
               CDR ;
19
               SELF_ADDRESS ;
20
               DIG 2 ;
21
               COMPARE ;
22
               NEQ ;
23
               IF
24
                 { DROP 2 ; PUSH string "Burn only accepts tez tickets." ; FAILWITH }
25
                 { SWAP ;
26
                   CONTRACT unit ;
27
                   IF_NONE { PUSH string "Invalid callback" ; FAILWITH } {} ;
28
                   PUSH mutez 1 ;
29
                   DIG 2 ;
30
                   MUL ;
31
                   UNIT ;
32
                   NIL operation ;
33
                   DIG 3 ;
34
                   DIG 3 ;
35
                   UNIT ;
36
                   TRANSFER_TOKENS ;
37
                   CONS ;
38
                   PAIR } } }
39
         { CONTRACT (ticket (pair nat (option bytes))) ;
40
           IF_NONE { PUSH string "Invalid callback" ; FAILWITH } {} ;
41
           PUSH mutez 1 ;
42
           AMOUNT ;
43
           EDIV ;
44
           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
45
           CAR ;
46
           NONE bytes ;
47
           PUSH nat 0 ;
48
           PAIR ;
49
           TICKET ;
50
           IF_NONE { PUSH string "Could not mint ticket." ; FAILWITH } {} ;
51
           UNIT ;
52
           NIL operation ;
53
           DIG 3 ;
54
           PUSH mutez 0 ;
55
           DIG 4 ;
56
           TRANSFER_TOKENS ;
57
           CONS ;
58
           PAIR } }