BCD

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