BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Tallinnnet
  • /
  • KT1HHsP...H4K5
operations (3)Storage Code Interact Tokens Fork Details
Latest
​x
341
 
1
parameter (or (unit %deposit) (unit %withdraw));
2
storage (pair
3
          (map %deposits address (pair (timestamp %blockTimestamp) (mutez %tezAmount)))
4
          (mutez %liquidity));
5
code { NIL operation ;
6
       DUP ;
7
       LAMBDA
8
         bool
9
         address
10
         { DUP ;
11
           SENDER ;
12
           SWAP ;
13
           IF
14
             { DROP ; PUSH address "tz1MZ4GPjAA2gZxKTozJt8Cu5Gvu6WU2ikZ4" ; PUSH unit Unit }
15
             { PUSH unit Unit } ;
16
           DROP ;
17
           SWAP ;
18
           DROP } ;
19
       DUP ;
20
       DIP { PAIR } ;
21
       SWAP ;
22
       LAMBDA
23
         int
24
         mutez
25
         { DUP ;
26
           PUSH mutez 0 ;
27
           SWAP ;
28
           PUSH int 100 ;
29
           SWAP ;
30
           COMPARE ;
31
           GE ;
32
           IF { DROP ; PUSH mutez 1000000 ; PUSH unit Unit } { PUSH unit Unit } ;
33
           DROP ;
34
           SWAP ;
35
           DROP } ;
36
       DUP ;
37
       DIP { PAIR } ;
38
       SWAP ;
39
       LAMBDA
40
         (pair (pair (map address (pair timestamp mutez)) mutez)
41
               (pair (lambda int mutez) (pair (lambda bool address) (list operation))))
42
         (pair (list operation) (pair (map address (pair timestamp mutez)) mutez))
43
         { DUP ;
44
           CDR ;
45
           SWAP ;
46
           CAR ;
47
           DIP { DUP ; CDR ; SWAP ; CAR ; DIP { DUP ; CDR ; SWAP ; CAR } } ;
48
           PUSH mutez 0 ;
49
           AMOUNT ;
50
           COMPARE ;
51
           EQ ;
52
           IF
53
             { PUSH string "No tez transferred!" ; FAILWITH }
54
             { DIP { DIP { DUP } ; SWAP } ;
55
               SWAP ;
56
               PUSH bool False ;
57
               EXEC ;
58
               DIP { DUP } ;
59
               SWAP ;
60
               CAR ;
61
               DIP { DUP } ;
62
               SWAP ;
63
               DIP { DUP } ;
64
               GET ;
65
               DUP ;
66
               IF_NONE
67
                 { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
68
                   SWAP ;
69
                   CDR ;
70
                   AMOUNT ;
71
                   ADD ;
72
                   DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP ; CAR } ;
73
                   SWAP ;
74
                   PAIR ;
75
                   SWAP ;
76
                   DIP { SWAP ; DIP { SWAP ; DIP { SWAP ; DROP } } } ;
77
                   AMOUNT ;
78
                   NOW ;
79
                   PAIR ;
80
                   DUP ;
81
                   SOME ;
82
                   DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
83
                   SENDER ;
84
                   UPDATE ;
85
                   DIP { DIP { DIP { DUP } ; SWAP } ; SWAP ; DROP } ;
86
                   SWAP ;
87
                   DIP { SWAP ; DIP { SWAP ; DROP ; DUP } ; SWAP } ;
88
                   SWAP ;
89
                   DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
90
                         SWAP ;
91
                         CDR } ;
92
                   PAIR ;
93
                   SWAP ;
94
                   DROP ;
95
                   SWAP ;
96
                   DIP { SWAP ; DIP { SWAP ; DIP { SWAP ; DROP } } } ;
97
                   PUSH unit Unit }
98
                 { DUP ;
99
                   CAR ;
100
                   NOW ;
101
                   SUB ;
102
                   DIP { DUP } ;
103
                   SWAP ;
104
                   CDR ;
105
                   DIP { DUP ;
106
                         DIP { DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
107
                                                 SWAP } ;
108
                                           SWAP } ;
109
                                     SWAP } ;
110
                               SWAP } ;
111
                         EXEC } ;
112
                   ADD ;
113
                   AMOUNT ;
114
                   ADD ;
115
                   DIP { DIP { DUP } ; SWAP ; CAR } ;
116
                   SWAP ;
117
                   PAIR ;
118
                   SWAP ;
119
                   DIP { SWAP ; DROP ; DUP } ;
120
                   SWAP ;
121
                   CDR ;
122
                   NOW ;
123
                   PAIR ;
124
                   SWAP ;
125
                   DIP { DIP { DROP ; DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
126
                   SWAP ;
127
                   DIP { DIP { DUP } ;
128
                         SWAP ;
129
                         SOME ;
130
                         DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } } ;
131
                   UPDATE ;
132
                   DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP ; DROP } ;
133
                   SWAP ;
134
                   DIP { SWAP ; DIP { SWAP ; DIP { SWAP ; DROP ; DUP } ; SWAP } ; SWAP } ;
135
                   SWAP ;
136
                   DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
137
                               SWAP } ;
138
                         SWAP ;
139
                         CDR } ;
140
                   PAIR ;
141
                   SWAP ;
142
                   DIP { SWAP ;
143
                         DIP { SWAP ;
144
                               DIP { SWAP ;
145
                                     DIP { SWAP ; DIP { SWAP ; DROP ; DUP } ; SWAP } ;
146
                                     SWAP } ;
147
                               SWAP } ;
148
                         SWAP } ;
149
                   SWAP ;
150
                   CDR ;
151
                   AMOUNT ;
152
                   ADD ;
153
                   DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
154
                               SWAP } ;
155
                         SWAP ;
156
                         CAR } ;
157
                   SWAP ;
158
                   PAIR ;
159
                   SWAP ;
160
                   DROP ;
161
                   SWAP ;
162
                   DROP ;
163
                   { SWAP ; DIP { SWAP ; DIP { SWAP ; DIP { SWAP ; DROP } } } } ;
164
                   PUSH unit Unit } ;
165
               SWAP ;
166
               DROP ;
167
               SWAP ;
168
               DROP ;
169
               SWAP ;
170
               DROP } ;
171
           DROP ;
172
           DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
173
           SWAP ;
174
           DIP { DUP } ;
175
           PAIR ;
176
           DIP { DROP ; DROP ; DROP ; DROP } } ;
177
       PAIR ;
178
       DIP { DIP { DUP } ; DUP ; DIP { PAIR } ; SWAP } ;
179
       SWAP ;
180
       LAMBDA
181
         (pair (pair (map address (pair timestamp mutez)) mutez)
182
               (pair (lambda int mutez) (lambda bool address)))
183
         (pair (list operation) (pair (map address (pair timestamp mutez)) mutez))
184
         { DUP ;
185
           CDR ;
186
           SWAP ;
187
           CAR ;
188
           DIP { DUP ; CDR ; SWAP ; CAR ; DIP { DUP } ; SWAP } ;
189
           SWAP ;
190
           PUSH bool False ;
191
           EXEC ;
192
           DUP ;
193
           NIL operation ;
194
           SWAP ;
195
           DIP { DIP { DIP { DUP } ; SWAP } ; SWAP ; CAR } ;
196
           GET ;
197
           IF_NONE { PUSH string "GET_FORCE" ; FAILWITH } {} ;
198
           DUP ;
199
           CAR ;
200
           NOW ;
201
           SUB ;
202
           DIP { DUP } ;
203
           SWAP ;
204
           CDR ;
205
           DIP { DUP ;
206
                 DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
207
                             SWAP } ;
208
                       SWAP } ;
209
                 EXEC } ;
210
           ADD ;
211
           DUP ;
212
           DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
213
                 SWAP ;
214
                 CDR } ;
215
           COMPARE ;
216
           GT ;
217
           IF
218
             { PUSH string "No tez to withdraw!" ; FAILWITH }
219
             { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
220
               SWAP ;
221
               CAR ;
222
               DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
223
               SWAP ;
224
               DIP { DUP ; NONE (pair timestamp mutez) } ;
225
               UPDATE ;
226
               SWAP ;
227
               DROP ;
228
               DUP ;
229
               DIP { DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
230
                                 SWAP } ;
231
                           SWAP } ;
232
                     SWAP ;
233
                     CDR } ;
234
               PAIR ;
235
               SWAP ;
236
               DIP { SWAP ;
237
                     DIP { SWAP ;
238
                           DIP { SWAP ;
239
                                 DIP { SWAP ;
240
                                       DIP { SWAP ; DIP { SWAP ; DROP ; DUP } ; SWAP } ;
241
                                       SWAP } ;
242
                                 SWAP } ;
243
                           SWAP } ;
244
                     SWAP } ;
245
               SWAP ;
246
               CDR ;
247
               DIP { DIP { DUP } ; SWAP } ;
248
               SUB_MUTEZ ;
249
               { IF_NONE { { UNIT ; FAILWITH } } {} } ;
250
               DIP { DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
251
                                 SWAP } ;
252
                           SWAP } ;
253
                     SWAP ;
254
                     CAR } ;
255
               SWAP ;
256
               PAIR ;
257
               SWAP ;
258
               DIP { SWAP ;
259
                     DIP { SWAP ;
260
                           DIP { SWAP ;
261
                                 DIP { SWAP ;
262
                                       DIP { SWAP ; DIP { SWAP ; DROP } ; DUP } ;
263
                                       SWAP } ;
264
                                 SWAP } ;
265
                           SWAP } ;
266
                     SWAP } ;
267
               SWAP ;
268
               CONTRACT unit ;
269
               IF_NONE { PUSH string "bad address for get_contract" ; FAILWITH } {} ;
270
               DIP { DIP { DUP } ; SWAP } ;
271
               SWAP ;
272
               DIP { DUP } ;
273
               UNIT ;
274
               TRANSFER_TOKENS ;
275
               DUP ;
276
               NIL operation ;
277
               SWAP ;
278
               CONS ;
279
               DIP { DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
280
                                 SWAP } ;
281
                           SWAP } ;
282
                     SWAP ;
283
                     DROP } ;
284
               SWAP ;
285
               DROP ;
286
               SWAP ;
287
               DROP ;
288
               { SWAP ; DIP { SWAP ; DIP { SWAP ; DIP { SWAP ; DIP { SWAP ; DROP } } } } } ;
289
               DROP ;
290
               PUSH unit Unit } ;
291
           DROP ;
292
           DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
293
           SWAP ;
294
           DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
295
                 SWAP } ;
296
           PAIR ;
297
           DIP { DROP ; DROP ; DROP ; DROP ; DROP ; DROP ; DROP ; DROP } } ;
298
       PAIR ;
299
       DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
300
       SWAP ;
301
       CAR ;
302
       DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
303
             SWAP } ;
304
       SWAP ;
305
       CDR ;
306
       DIP { DUP } ;
307
       SWAP ;
308
       IF_LEFT
309
         { DUP ;
310
           DIP { DIP { DUP } ; SWAP } ;
311
           SWAP ;
312
           DIP { DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ; SWAP } ;
313
                 SWAP ;
314
                 DUP ;
315
                 CDR ;
316
                 SWAP ;
317
                 CAR ;
318
                 SWAP } ;
319
           PAIR ;
320
           EXEC ;
321
           SWAP ;
322
           DROP ;
323
           SWAP ;
324
           DROP }
325
         { DUP ;
326
           DIP { DIP { DUP } ; SWAP } ;
327
           SWAP ;
328
           DIP { DIP { DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ; SWAP } ;
329
                 SWAP ;
330
                 DUP ;
331
                 CDR ;
332
                 SWAP ;
333
                 CAR ;
334
                 SWAP } ;
335
           PAIR ;
336
           EXEC ;
337
           SWAP ;
338
           DROP ;
339
           SWAP ;
340
           DROP } ;
341
       DIP { DROP ; DROP ; DROP ; DROP ; DROP ; DROP ; DROP ; DROP } }