BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1DBnm...gJLs
operations (2)Storage Code Interact Tokens Fork Views Statistics Details
Latest
​x
234
 
1
{ parameter (or
2
              (pair %create_claim (nat %banquetFeeAmount)
3
                                  (pair (timestamp %checkIn)
4
                                        (pair (timestamp %checkOut)
5
                                              (pair (nat %conferenceFeeAmount)
6
                                                    (pair (bool %coverBanquet)
7
                                                          (pair (bool %coverHotel)
8
                                                                (pair
9
                                                                  (bool %coverTransport)
10
                                                                  (pair
11
                                                                    (string %currency)
12
                                                                    (pair
13
                                                                      (string %hotelName)
14
                                                                      (pair
15
                                                                        (bool %isStudent)
16
                                                                        (pair
17
                                                                          (nat %nights)
18
                                                                          (pair
19
                                                                            (bytes %receiptCid)
20
                                                                            (pair
21
                                                                              (nat %totalAfterTax)
22
                                                                              (pair
23
                                                                                (nat %totalBeforeTax)
24
                                                                                (bool %travelCostCovered)))))))))))))))
25
              (nat %submit_claim)) ;
26
  storage (pair (address %admin)
27
                (pair
28
                  (big_map %claims nat
29
                                   (pair (nat %banquetFeeAmount)
30
                                         (pair (timestamp %checkIn)
31
                                               (pair (timestamp %checkOut)
32
                                                     (pair (nat %conferenceFeeAmount)
33
                                                           (pair (bool %coverBanquet)
34
                                                                 (pair
35
                                                                   (bool %coverHotel)
36
                                                                   (pair
37
                                                                     (bool %coverTransport)
38
                                                                     (pair
39
                                                                       (timestamp %createdAt)
40
                                                                       (pair
41
                                                                         (string %currency)
42
                                                                         (pair
43
                                                                           (address %employee)
44
                                                                           (pair
45
                                                                             (string %hotelName)
46
                                                                             (pair
47
                                                                               (bool %isStudent)
48
                                                                               (pair
49
                                                                                 (nat %nights)
50
                                                                                 (pair
51
                                                                                   (bytes %receiptCid)
52
                                                                                   (pair
53
                                                                                     (nat %state)
54
                                                                                     (pair
55
                                                                                       (nat %totalAfterTax)
56
                                                                                       (pair
57
                                                                                         (nat %totalBeforeTax)
58
                                                                                         (pair
59
                                                                                           (bool %travelCostCovered)
60
                                                                                           (timestamp %updatedAt))))))))))))))))))))
61
                  (pair (big_map %employeeClaims address (list nat)) (nat %nextId)))) ;
62
  code { UNPAIR ;
63
         IF_LEFT
64
           { PUSH nat 0 ;
65
             DUP 2 ;
66
             GET 7 ;
67
             COMPARE ;
68
             EQ ;
69
             IF
70
               { PUSH nat 0 ;
71
                 DUP 2 ;
72
                 CAR ;
73
                 COMPARE ;
74
                 NEQ ;
75
                 IF { PUSH string "BANQUET_REQUIRES_CONFERENCE_FEE" ; FAILWITH } {} }
76
               {} ;
77
             DUP ;
78
             GET 28 ;
79
             IF
80
               {}
81
               { DUP ;
82
                 GET 11 ;
83
                 IF { PUSH bool True } { DUP ; GET 13 } ;
84
                 IF { PUSH bool True } { DUP ; GET 9 } ;
85
                 IF { PUSH string "COVER_FLAGS_REQUIRE_TRAVEL_COVERED" ; FAILWITH } {} } ;
86
             DUP 2 ;
87
             GET 6 ;
88
             DIG 2 ;
89
             DUP ;
90
             GET 6 ;
91
             PUSH nat 1 ;
92
             ADD ;
93
             UPDATE 6 ;
94
             DUG 2 ;
95
             NOW ;
96
             DIG 3 ;
97
             DUP ;
98
             GET 3 ;
99
             DUP 3 ;
100
             DUP 6 ;
101
             GET 28 ;
102
             DUP 7 ;
103
             GET 27 ;
104
             DUP 8 ;
105
             GET 25 ;
106
             PUSH nat 0 ;
107
             DUP 10 ;
108
             GET 23 ;
109
             DUP 11 ;
110
             GET 21 ;
111
             DUP 12 ;
112
             GET 19 ;
113
             DUP 13 ;
114
             GET 17 ;
115
             SENDER ;
116
             DUP 15 ;
117
             GET 15 ;
118
             DUP 14 ;
119
             DUP 17 ;
120
             GET 13 ;
121
             DUP 18 ;
122
             GET 11 ;
123
             DUP 19 ;
124
             GET 9 ;
125
             DUP 20 ;
126
             GET 7 ;
127
             DUP 21 ;
128
             GET 5 ;
129
             DUP 22 ;
130
             GET 3 ;
131
             DUP 23 ;
132
             CAR ;
133
             PAIR 19 ;
134
             DIG 3 ;
135
             DROP ;
136
             DIG 4 ;
137
             DROP ;
138
             SOME ;
139
             DUP 4 ;
140
             UPDATE ;
141
             UPDATE 3 ;
142
             SWAP ;
143
             DUP 2 ;
144
             GET 5 ;
145
             SENDER ;
146
             GET ;
147
             IF_NONE { NIL nat } {} ;
148
             SWAP ;
149
             CONS ;
150
             SWAP ;
151
             DUP ;
152
             GET 5 ;
153
             DIG 2 ;
154
             SOME ;
155
             SENDER ;
156
             UPDATE ;
157
             UPDATE 5 }
158
           { DUP 2 ;
159
             GET 3 ;
160
             DUP 2 ;
161
             MEM ;
162
             IF {} { PUSH string "NO_CLAIM" ; FAILWITH } ;
163
             DUP 2 ;
164
             GET 3 ;
165
             DUP 2 ;
166
             GET ;
167
             IF_NONE { PUSH int 127 ; FAILWITH } {} ;
168
             SENDER ;
169
             DUP 2 ;
170
             GET 19 ;
171
             COMPARE ;
172
             NEQ ;
173
             IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
174
             PUSH nat 0 ;
175
             DUP 2 ;
176
             GET 29 ;
177
             COMPARE ;
178
             NEQ ;
179
             IF { PUSH string "BAD_STATE" ; FAILWITH } {} ;
180
             PUSH nat 1 ;
181
             UPDATE 29 ;
182
             NOW ;
183
             UPDATE 36 ;
184
             DIG 2 ;
185
             DUP ;
186
             GET 3 ;
187
             DIG 2 ;
188
             SOME ;
189
             DIG 3 ;
190
             UPDATE ;
191
             UPDATE 3 } ;
192
         NIL operation ;
193
         PAIR } ;
194
  view "get_claim_view" nat
195
        (pair (nat %banquetFeeAmount)
196
              (pair (timestamp %checkIn)
197
                    (pair (timestamp %checkOut)
198
                          (pair (nat %conferenceFeeAmount)
199
                                (pair (bool %coverBanquet)
200
                                      (pair (bool %coverHotel)
201
                                            (pair (bool %coverTransport)
202
                                                  (pair (timestamp %createdAt)
203
                                                        (pair (string %currency)
204
                                                              (pair (address %employee)
205
                                                                    (pair
206
                                                                      (string %hotelName)
207
                                                                      (pair
208
                                                                        (bool %isStudent)
209
                                                                        (pair
210
                                                                          (nat %nights)
211
                                                                          (pair
212
                                                                            (bytes %receiptCid)
213
                                                                            (pair
214
                                                                              (nat %state)
215
                                                                              (pair
216
                                                                                (nat %totalAfterTax)
217
                                                                                (pair
218
                                                                                  (nat %totalBeforeTax)
219
                                                                                  (pair
220
                                                                                    (bool %travelCostCovered)
221
                                                                                    (timestamp %updatedAt)))))))))))))))))))
222
        { UNPAIR ;
223
          DUP 2 ;
224
          GET 3 ;
225
          DUP 2 ;
226
          MEM ;
227
          IF {} { PUSH string "NO_CLAIM" ; FAILWITH } ;
228
          SWAP ;
229
          GET 3 ;
230
          SWAP ;
231
          GET ;
232
          IF_NONE { PUSH int 144 ; FAILWITH } {} } ;
233
  view "get_my_claim_ids" address (list nat)
234
        { UNPAIR ; SWAP ; GET 5 ; SWAP ; GET ; IF_NONE { NIL nat } {} } }