BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1W1xZ...YL9q
operations (17)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
101
 
1
parameter (or (unit %donate)
2
              (or (address %setAdmin)
3
                  (pair %setFields (address %charity)
4
                                   (pair (mutez %target)
5
                                         (pair (timestamp %timestamp) (string %title))))));
6
storage (pair (address %admin)
7
              (pair (address %charity)
8
                    (pair (map %donations address mutez)
9
                          (pair (bool %hasSetAdmin)
10
                                (pair (mutez %target)
11
                                      (pair (timestamp %timestamp)
12
                                            (pair (string %title) (mutez %total_fund))))))));
13
code { UNPAIR ;
14
       IF_LEFT
15
         { DROP ;
16
           PUSH mutez 0 ;
17
           AMOUNT ;
18
           COMPARE ;
19
           GT ;
20
           IF {} { PUSH string "WrongCondition: sp.amount > sp.tez(0)" ; FAILWITH } ;
21
           DUP ;
22
           GET 14 ;
23
           AMOUNT ;
24
           ADD ;
25
           UPDATE 14 ;
26
           DUP ;
27
           GET 5 ;
28
           SENDER ;
29
           MEM ;
30
           IF
31
             { DUP ;
32
               GET 5 ;
33
               DUP ;
34
               SENDER ;
35
               DUP ;
36
               DUG 2 ;
37
               GET ;
38
               IF_NONE { PUSH int 25 ; FAILWITH } {} ;
39
               AMOUNT ;
40
               ADD ;
41
               SOME ;
42
               SWAP ;
43
               UPDATE ;
44
               UPDATE 5 }
45
             { DUP ; GET 5 ; AMOUNT ; SOME ; SENDER ; UPDATE ; UPDATE 5 } ;
46
           DUP ;
47
           GET 9 ;
48
           DUP 2 ;
49
           GET 14 ;
50
           COMPARE ;
51
           GE ;
52
           IF
53
             { NIL operation ;
54
               DUP 2 ;
55
               GET 3 ;
56
               CONTRACT unit ;
57
               IF_NONE { PUSH int 30 ; FAILWITH } {} ;
58
               DUP 3 ;
59
               GET 14 ;
60
               UNIT ;
61
               TRANSFER_TOKENS ;
62
               CONS ;
63
               SWAP ;
64
               PUSH mutez 0 ;
65
               UPDATE 14 ;
66
               EMPTY_MAP address mutez ;
67
               UPDATE 5 ;
68
               SWAP }
69
             { NIL operation } }
70
         { IF_LEFT
71
             { DUP 2 ;
72
               GET 7 ;
73
               IF
74
                 { PUSH string "WrongCondition: not self.data.hasSetAdmin" ; FAILWITH }
75
                 {} ;
76
               UPDATE 1 ;
77
               PUSH bool True ;
78
               UPDATE 7 }
79
             { DUP 2 ;
80
               CAR ;
81
               SENDER ;
82
               COMPARE ;
83
               EQ ;
84
               IF
85
                 {}
86
                 { PUSH string "WrongCondition: sp.sender == self.data.admin" ; FAILWITH } ;
87
               SWAP ;
88
               DUP 2 ;
89
               GET 6 ;
90
               UPDATE 13 ;
91
               DUP 2 ;
92
               GET 3 ;
93
               UPDATE 9 ;
94
               DUP 2 ;
95
               GET 5 ;
96
               UPDATE 11 ;
97
               SWAP ;
98
               CAR ;
99
               UPDATE 3 } ;
100
           NIL operation } ;
101
       PAIR }