BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Ctez-XTZ Swap
operations (2.2M)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
711
 
1
parameter (or
2
            (or
3
              (or
4
                (pair %addLiquidity (address %owner)
5
                                    (pair (nat %minLqtMinted)
6
                                          (pair (nat %maxTokensDeposited)
7
                                                (timestamp %deadline))))
8
                (pair %cashToToken (address %to)
9
                                   (pair (nat %minTokensBought) (timestamp %deadline))))
10
              (or
11
                (pair %removeLiquidity (address %to)
12
                                       (pair (nat %lqtBurned)
13
                                             (pair (nat %minCashWithdrawn)
14
                                                   (pair (nat %minTokensWithdrawn)
15
                                                         (timestamp %deadline)))))
16
                (address %setLqtAddress)))
17
            (or
18
              (or
19
                (pair %tokenToCash (address %to)
20
                                   (pair (nat %tokensSold)
21
                                         (pair (nat %minCashBought)
22
                                               (timestamp %deadline))))
23
                (pair %tokenToToken (address %outputCfmmContract)
24
                                    (pair (nat %minTokensBought)
25
                                          (pair (address %to)
26
                                                (pair (nat %tokensSold)
27
                                                      (timestamp %deadline))))))
28
              (or (unit %updatePools) (nat %updateTokenPoolInternal))));
29
storage (pair (nat %tokenPool)
30
              (pair (nat %cashPool)
31
                    (pair (nat %lqtTotal)
32
                          (pair (nat %pendingPoolUpdates)
33
                                (pair (address %tokenAddress)
34
                                      (pair (address %lqtAddress)
35
                                            (pair (timestamp %lastOracleUpdate)
36
                                                  (pair (address %consumerEntrypoint)
37
                                                        (big_map %metadata string bytes)))))))));
38
code { LAMBDA
39
         (pair (list operation)
40
               (pair nat
41
                     (pair nat
42
                           (pair nat
43
                                 (pair nat
44
                                       (pair address
45
                                             (pair address
46
                                                   (pair timestamp
47
                                                         (pair address
48
                                                               (big_map string bytes))))))))))
49
         (pair (list operation)
50
               (pair nat
51
                     (pair nat
52
                           (pair nat
53
                                 (pair nat
54
                                       (pair address
55
                                             (pair address
56
                                                   (pair timestamp
57
                                                         (pair address
58
                                                               (big_map string bytes))))))))))
59
         { UNPAIR ;
60
           NOW ;
61
           DUP 3 ;
62
           GET 13 ;
63
           COMPARE ;
64
           EQ ;
65
           IF
66
             { PAIR }
67
             { SWAP ;
68
               DUP ;
69
               DUG 2 ;
70
               GET 15 ;
71
               CONTRACT (pair nat nat) ;
72
               IF_NONE { PUSH nat 35 ; FAILWITH } {} ;
73
               DUP 3 ;
74
               NOW ;
75
               UPDATE 13 ;
76
               DUG 2 ;
77
               PUSH mutez 0 ;
78
               DUP 5 ;
79
               CAR ;
80
               DIG 5 ;
81
               GET 3 ;
82
               PAIR ;
83
               TRANSFER_TOKENS ;
84
               CONS ;
85
               PAIR } } ;
86
       SWAP ;
87
       UNPAIR ;
88
       IF_LEFT
89
         { IF_LEFT
90
             { IF_LEFT
91
                 { DIG 2 ;
92
                   DROP ;
93
                   UNPAIR 4 ;
94
                   AMOUNT ;
95
                   PUSH mutez 1 ;
96
                   SWAP ;
97
                   EDIV ;
98
                   IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
99
                   CAR ;
100
                   PUSH nat 0 ;
101
                   DUP 7 ;
102
                   GET 7 ;
103
                   COMPARE ;
104
                   GT ;
105
                   IF
106
                     { DROP 6 ; PUSH nat 2 ; FAILWITH }
107
                     { DIG 4 ;
108
                       NOW ;
109
                       COMPARE ;
110
                       GE ;
111
                       IF
112
                         { DROP 5 ; PUSH nat 3 ; FAILWITH }
113
                         { DUP 5 ;
114
                           GET 3 ;
115
                           DUP ;
116
                           DUP 7 ;
117
                           GET 5 ;
118
                           DUP 4 ;
119
                           MUL ;
120
                           EDIV ;
121
                           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
122
                           CAR ;
123
                           DUP 7 ;
124
                           CAR ;
125
                           DUP 4 ;
126
                           MUL ;
127
                           DIG 2 ;
128
                           INT ;
129
                           SWAP ;
130
                           NEG ;
131
                           EDIV ;
132
                           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
133
                           CAR ;
134
                           ABS ;
135
                           DIG 5 ;
136
                           SWAP ;
137
                           DUP ;
138
                           DUG 2 ;
139
                           COMPARE ;
140
                           GT ;
141
                           IF
142
                             { DROP 6 ; PUSH nat 4 ; FAILWITH }
143
                             { DIG 4 ;
144
                               DUP 3 ;
145
                               COMPARE ;
146
                               LT ;
147
                               IF
148
                                 { DROP 5 ; PUSH nat 5 ; FAILWITH }
149
                                 { DUP 5 ;
150
                                   DUP 3 ;
151
                                   DUP 7 ;
152
                                   GET 5 ;
153
                                   ADD ;
154
                                   UPDATE 5 ;
155
                                   SWAP ;
156
                                   DUP ;
157
                                   DUG 2 ;
158
                                   DUP 7 ;
159
                                   CAR ;
160
                                   ADD ;
161
                                   UPDATE 1 ;
162
                                   DIG 3 ;
163
                                   DIG 5 ;
164
                                   GET 3 ;
165
                                   ADD ;
166
                                   UPDATE 3 ;
167
                                   DUP ;
168
                                   SENDER ;
169
                                   SELF_ADDRESS ;
170
                                   DIG 4 ;
171
                                   SWAP ;
172
                                   PAIR ;
173
                                   SWAP ;
174
                                   PAIR ;
175
                                   SWAP ;
176
                                   PAIR ;
177
                                   UNPAIR 4 ;
178
                                   GET 9 ;
179
                                   CONTRACT %transfer (pair address (pair address nat)) ;
180
                                   IF_NONE { PUSH nat 0 ; FAILWITH } {} ;
181
                                   PUSH mutez 0 ;
182
                                   DIG 4 ;
183
                                   DIG 4 ;
184
                                   PAIR ;
185
                                   DIG 3 ;
186
                                   PAIR ;
187
                                   TRANSFER_TOKENS ;
188
                                   SWAP ;
189
                                   DUP ;
190
                                   DUG 2 ;
191
                                   GET 11 ;
192
                                   CONTRACT %mintOrBurn (pair (int %quantity)
193
                                                              (address %target)) ;
194
                                   IF_NONE { PUSH nat 12 ; FAILWITH } {} ;
195
                                   PUSH mutez 0 ;
196
                                   DIG 4 ;
197
                                   INT ;
198
                                   DIG 5 ;
199
                                   SWAP ;
200
                                   PAIR ;
201
                                   TRANSFER_TOKENS ;
202
                                   DIG 2 ;
203
                                   NIL operation ;
204
                                   DIG 2 ;
205
                                   CONS ;
206
                                   DIG 2 ;
207
                                   CONS ;
208
                                   PAIR } } } } }
209
                 { UNPAIR 3 ;
210
                   AMOUNT ;
211
                   PUSH mutez 1 ;
212
                   SWAP ;
213
                   EDIV ;
214
                   IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
215
                   CAR ;
216
                   PUSH nat 0 ;
217
                   DUP 6 ;
218
                   GET 7 ;
219
                   COMPARE ;
220
                   GT ;
221
                   IF
222
                     { DROP 5 ; PUSH nat 2 ; FAILWITH }
223
                     { DIG 3 ;
224
                       NOW ;
225
                       COMPARE ;
226
                       GE ;
227
                       IF
228
                         { DROP 4 ; PUSH nat 3 ; FAILWITH }
229
                         { PUSH nat 9995 ;
230
                           SWAP ;
231
                           DUP ;
232
                           DUG 2 ;
233
                           MUL ;
234
                           PUSH nat 10000 ;
235
                           DUP 6 ;
236
                           GET 3 ;
237
                           MUL ;
238
                           ADD ;
239
                           DUP 5 ;
240
                           CAR ;
241
                           PUSH nat 9995 ;
242
                           DUP 4 ;
243
                           MUL ;
244
                           MUL ;
245
                           EDIV ;
246
                           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
247
                           CAR ;
248
                           DIG 3 ;
249
                           SWAP ;
250
                           DUP ;
251
                           DUG 2 ;
252
                           COMPARE ;
253
                           LT ;
254
                           IF { DROP ; PUSH nat 18 ; FAILWITH } {} ;
255
                           DUP ;
256
                           DUP 5 ;
257
                           CAR ;
258
                           SUB ;
259
                           ISNAT ;
260
                           IF_NONE { PUSH nat 19 ; FAILWITH } {} ;
261
                           DUP 5 ;
262
                           DIG 3 ;
263
                           DIG 5 ;
264
                           GET 3 ;
265
                           ADD ;
266
                           UPDATE 3 ;
267
                           SWAP ;
268
                           UPDATE 1 ;
269
                           DUP ;
270
                           SELF_ADDRESS ;
271
                           DIG 4 ;
272
                           DIG 4 ;
273
                           SWAP ;
274
                           PAIR ;
275
                           SWAP ;
276
                           PAIR ;
277
                           SWAP ;
278
                           PAIR ;
279
                           UNPAIR 4 ;
280
                           GET 9 ;
281
                           CONTRACT %transfer (pair address (pair address nat)) ;
282
                           IF_NONE { PUSH nat 0 ; FAILWITH } {} ;
283
                           PUSH mutez 0 ;
284
                           DIG 4 ;
285
                           DIG 4 ;
286
                           PAIR ;
287
                           DIG 3 ;
288
                           PAIR ;
289
                           TRANSFER_TOKENS ;
290
                           SWAP ;
291
                           NIL operation ;
292
                           DIG 2 ;
293
                           CONS ;
294
                           PAIR } } ;
295
                   EXEC } }
296
             { DIG 2 ;
297
               DROP ;
298
               IF_LEFT
299
                 { UNPAIR 5 ;
300
                   PUSH nat 0 ;
301
                   DUP 7 ;
302
                   GET 7 ;
303
                   COMPARE ;
304
                   GT ;
305
                   IF
306
                     { DROP 6 ; PUSH nat 2 ; FAILWITH }
307
                     { DIG 4 ;
308
                       NOW ;
309
                       COMPARE ;
310
                       GE ;
311
                       IF
312
                         { DROP 5 ; PUSH nat 3 ; FAILWITH }
313
                         { PUSH mutez 0 ;
314
                           AMOUNT ;
315
                           COMPARE ;
316
                           GT ;
317
                           IF
318
                             { DROP 5 ; PUSH nat 10 ; FAILWITH }
319
                             { DUP 5 ;
320
                               GET 5 ;
321
                               DUP 6 ;
322
                               GET 3 ;
323
                               DUP 4 ;
324
                               MUL ;
325
                               EDIV ;
326
                               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
327
                               CAR ;
328
                               DUP 6 ;
329
                               GET 5 ;
330
                               DUP 7 ;
331
                               CAR ;
332
                               DUP 5 ;
333
                               MUL ;
334
                               EDIV ;
335
                               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
336
                               CAR ;
337
                               DIG 4 ;
338
                               DUP 3 ;
339
                               COMPARE ;
340
                               LT ;
341
                               IF
342
                                 { DROP 6 ; PUSH nat 11 ; FAILWITH }
343
                                 { DIG 4 ;
344
                                   SWAP ;
345
                                   DUP ;
346
                                   DUG 2 ;
347
                                   COMPARE ;
348
                                   LT ;
349
                                   IF
350
                                     { DROP 5 ; PUSH nat 13 ; FAILWITH }
351
                                     { DUP 4 ;
352
                                       DUP 6 ;
353
                                       GET 5 ;
354
                                       SUB ;
355
                                       ISNAT ;
356
                                       IF_NONE { PUSH nat 14 ; FAILWITH } {} ;
357
                                       SWAP ;
358
                                       DUP ;
359
                                       DUG 2 ;
360
                                       DUP 7 ;
361
                                       CAR ;
362
                                       SUB ;
363
                                       ISNAT ;
364
                                       IF_NONE { PUSH nat 15 ; FAILWITH } {} ;
365
                                       DUP 4 ;
366
                                       DUP 8 ;
367
                                       GET 3 ;
368
                                       SUB ;
369
                                       ISNAT ;
370
                                       IF_NONE { PUSH nat 16 ; FAILWITH } {} ;
371
                                       DUP 8 ;
372
                                       SENDER ;
373
                                       DIG 8 ;
374
                                       PUSH int 0 ;
375
                                       SUB ;
376
                                       SWAP ;
377
                                       PAIR ;
378
                                       SWAP ;
379
                                       PAIR ;
380
                                       UNPAIR 3 ;
381
                                       GET 11 ;
382
                                       CONTRACT %mintOrBurn (pair (int %quantity)
383
                                                                  (address %target)) ;
384
                                       IF_NONE { PUSH nat 12 ; FAILWITH } {} ;
385
                                       PUSH mutez 0 ;
386
                                       DIG 3 ;
387
                                       DIG 3 ;
388
                                       SWAP ;
389
                                       PAIR ;
390
                                       TRANSFER_TOKENS ;
391
                                       DUP 8 ;
392
                                       SELF_ADDRESS ;
393
                                       SENDER ;
394
                                       DIG 7 ;
395
                                       SWAP ;
396
                                       PAIR ;
397
                                       SWAP ;
398
                                       PAIR ;
399
                                       SWAP ;
400
                                       PAIR ;
401
                                       UNPAIR 4 ;
402
                                       GET 9 ;
403
                                       CONTRACT %transfer (pair address
404
                                                                (pair address nat)) ;
405
                                       IF_NONE { PUSH nat 0 ; FAILWITH } {} ;
406
                                       PUSH mutez 0 ;
407
                                       DIG 4 ;
408
                                       DIG 4 ;
409
                                       PAIR ;
410
                                       DIG 3 ;
411
                                       PAIR ;
412
                                       TRANSFER_TOKENS ;
413
                                       DIG 6 ;
414
                                       CONTRACT unit ;
415
                                       IF_NONE { PUSH nat 9 ; FAILWITH } {} ;
416
                                       PUSH mutez 1 ;
417
                                       DIG 7 ;
418
                                       MUL ;
419
                                       PUSH unit Unit ;
420
                                       TRANSFER_TOKENS ;
421
                                       DIG 6 ;
422
                                       DIG 4 ;
423
                                       UPDATE 3 ;
424
                                       DIG 5 ;
425
                                       UPDATE 5 ;
426
                                       DIG 4 ;
427
                                       UPDATE 1 ;
428
                                       NIL operation ;
429
                                       DIG 2 ;
430
                                       CONS ;
431
                                       DIG 2 ;
432
                                       CONS ;
433
                                       DIG 2 ;
434
                                       CONS ;
435
                                       PAIR } } } } } }
436
                 { PUSH nat 0 ;
437
                   DUP 3 ;
438
                   GET 7 ;
439
                   COMPARE ;
440
                   GT ;
441
                   IF
442
                     { DROP 2 ; PUSH nat 2 ; FAILWITH }
443
                     { PUSH mutez 0 ;
444
                       AMOUNT ;
445
                       COMPARE ;
446
                       GT ;
447
                       IF
448
                         { DROP 2 ; PUSH nat 10 ; FAILWITH }
449
                         { PUSH address "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU" ;
450
                           DUP 3 ;
451
                           GET 11 ;
452
                           COMPARE ;
453
                           NEQ ;
454
                           IF
455
                             { DROP 2 ; PUSH nat 24 ; FAILWITH }
456
                             { UPDATE 11 ; NIL operation ; PAIR } } } } } }
457
         { IF_LEFT
458
             { IF_LEFT
459
                 { UNPAIR 4 ;
460
                   PUSH nat 0 ;
461
                   DUP 6 ;
462
                   GET 7 ;
463
                   COMPARE ;
464
                   GT ;
465
                   IF
466
                     { DROP 5 ; PUSH nat 2 ; FAILWITH }
467
                     { DIG 3 ;
468
                       NOW ;
469
                       COMPARE ;
470
                       GE ;
471
                       IF
472
                         { DROP 4 ; PUSH nat 3 ; FAILWITH }
473
                         { PUSH mutez 0 ;
474
                           AMOUNT ;
475
                           COMPARE ;
476
                           GT ;
477
                           IF
478
                             { DROP 4 ; PUSH nat 10 ; FAILWITH }
479
                             { PUSH nat 9995 ;
480
                               DUP 3 ;
481
                               MUL ;
482
                               PUSH nat 10000 ;
483
                               DUP 6 ;
484
                               CAR ;
485
                               MUL ;
486
                               ADD ;
487
                               DUP 5 ;
488
                               GET 3 ;
489
                               PUSH nat 9995 ;
490
                               DUP 5 ;
491
                               MUL ;
492
                               MUL ;
493
                               EDIV ;
494
                               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
495
                               CAR ;
496
                               DIG 3 ;
497
                               SWAP ;
498
                               DUP ;
499
                               DUG 2 ;
500
                               COMPARE ;
501
                               LT ;
502
                               IF { DROP ; PUSH nat 8 ; FAILWITH } {} ;
503
                               DUP 4 ;
504
                               SENDER ;
505
                               SELF_ADDRESS ;
506
                               DUP 6 ;
507
                               SWAP ;
508
                               PAIR ;
509
                               SWAP ;
510
                               PAIR ;
511
                               SWAP ;
512
                               PAIR ;
513
                               UNPAIR 4 ;
514
                               GET 9 ;
515
                               CONTRACT %transfer (pair address (pair address nat)) ;
516
                               IF_NONE { PUSH nat 0 ; FAILWITH } {} ;
517
                               PUSH mutez 0 ;
518
                               DIG 4 ;
519
                               DIG 4 ;
520
                               PAIR ;
521
                               DIG 3 ;
522
                               PAIR ;
523
                               TRANSFER_TOKENS ;
524
                               DIG 2 ;
525
                               CONTRACT unit ;
526
                               IF_NONE { PUSH nat 9 ; FAILWITH } {} ;
527
                               PUSH mutez 1 ;
528
                               DUP 4 ;
529
                               MUL ;
530
                               PUSH unit Unit ;
531
                               TRANSFER_TOKENS ;
532
                               DIG 2 ;
533
                               DUP 5 ;
534
                               GET 3 ;
535
                               SUB ;
536
                               ISNAT ;
537
                               IF_NONE { PUSH nat 1 ; FAILWITH } {} ;
538
                               DUP 5 ;
539
                               DIG 4 ;
540
                               DIG 5 ;
541
                               CAR ;
542
                               ADD ;
543
                               UPDATE 1 ;
544
                               SWAP ;
545
                               UPDATE 3 ;
546
                               NIL operation ;
547
                               DIG 2 ;
548
                               CONS ;
549
                               DIG 2 ;
550
                               CONS ;
551
                               PAIR } } } ;
552
                   EXEC }
553
                 { UNPAIR 5 ;
554
                   CONTRACT %cashToToken (pair (address %to)
555
                                               (pair (nat %minTokensBought)
556
                                                     (timestamp %deadline))) ;
557
                   IF_NONE { PUSH nat 31 ; FAILWITH } {} ;
558
                   PUSH nat 0 ;
559
                   DUP 7 ;
560
                   GET 7 ;
561
                   COMPARE ;
562
                   GT ;
563
                   IF
564
                     { DROP 6 ; PUSH nat 2 ; FAILWITH }
565
                     { PUSH mutez 0 ;
566
                       AMOUNT ;
567
                       COMPARE ;
568
                       GT ;
569
                       IF
570
                         { DROP 6 ; PUSH nat 10 ; FAILWITH }
571
                         { DUP 5 ;
572
                           NOW ;
573
                           COMPARE ;
574
                           GE ;
575
                           IF
576
                             { DROP 6 ; PUSH nat 3 ; FAILWITH }
577
                             { PUSH nat 9995 ;
578
                               DUP 5 ;
579
                               MUL ;
580
                               PUSH nat 10000 ;
581
                               DUP 8 ;
582
                               CAR ;
583
                               MUL ;
584
                               ADD ;
585
                               DUP 7 ;
586
                               GET 3 ;
587
                               PUSH nat 9995 ;
588
                               DUP 7 ;
589
                               MUL ;
590
                               MUL ;
591
                               EDIV ;
592
                               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
593
                               CAR ;
594
                               DUP ;
595
                               DUP 8 ;
596
                               GET 3 ;
597
                               SUB ;
598
                               ISNAT ;
599
                               IF_NONE { PUSH nat 17 ; FAILWITH } {} ;
600
                               DUP 8 ;
601
                               DUP 7 ;
602
                               DIG 9 ;
603
                               CAR ;
604
                               ADD ;
605
                               UPDATE 1 ;
606
                               SWAP ;
607
                               UPDATE 3 ;
608
                               DIG 2 ;
609
                               PUSH mutez 1 ;
610
                               DIG 3 ;
611
                               MUL ;
612
                               DIG 4 ;
613
                               DIG 4 ;
614
                               DIG 6 ;
615
                               SWAP ;
616
                               PAIR ;
617
                               SWAP ;
618
                               PAIR ;
619
                               TRANSFER_TOKENS ;
620
                               SWAP ;
621
                               DUP ;
622
                               DUG 2 ;
623
                               SENDER ;
624
                               SELF_ADDRESS ;
625
                               DIG 5 ;
626
                               SWAP ;
627
                               PAIR ;
628
                               SWAP ;
629
                               PAIR ;
630
                               SWAP ;
631
                               PAIR ;
632
                               UNPAIR 4 ;
633
                               GET 9 ;
634
                               CONTRACT %transfer (pair address (pair address nat)) ;
635
                               IF_NONE { PUSH nat 0 ; FAILWITH } {} ;
636
                               PUSH mutez 0 ;
637
                               DIG 4 ;
638
                               DIG 4 ;
639
                               PAIR ;
640
                               DIG 3 ;
641
                               PAIR ;
642
                               TRANSFER_TOKENS ;
643
                               DIG 2 ;
644
                               NIL operation ;
645
                               DIG 2 ;
646
                               CONS ;
647
                               DIG 2 ;
648
                               CONS ;
649
                               PAIR } } } ;
650
                   EXEC } }
651
             { DIG 2 ;
652
               DROP ;
653
               IF_LEFT
654
                 { DROP ;
655
                   SOURCE ;
656
                   SENDER ;
657
                   COMPARE ;
658
                   NEQ ;
659
                   IF
660
                     { DROP ; PUSH nat 25 ; FAILWITH }
661
                     { PUSH mutez 0 ;
662
                       AMOUNT ;
663
                       COMPARE ;
664
                       GT ;
665
                       IF
666
                         { DROP ; PUSH nat 10 ; FAILWITH }
667
                         { SELF %updateTokenPoolInternal ;
668
                           SWAP ;
669
                           DUP ;
670
                           DUG 2 ;
671
                           GET 9 ;
672
                           CONTRACT %getBalance (pair address (contract nat)) ;
673
                           IF_NONE { PUSH nat 28 ; FAILWITH } {} ;
674
                           PUSH mutez 0 ;
675
                           DIG 2 ;
676
                           SELF_ADDRESS ;
677
                           PAIR ;
678
                           TRANSFER_TOKENS ;
679
                           SWAP ;
680
                           PUSH nat 1 ;
681
                           UPDATE 7 ;
682
                           NIL operation ;
683
                           DIG 2 ;
684
                           CONS ;
685
                           PAIR } } }
686
                 { SWAP ;
687
                   DUP ;
688
                   DUG 2 ;
689
                   GET 9 ;
690
                   SENDER ;
691
                   COMPARE ;
692
                   NEQ ;
693
                   PUSH nat 0 ;
694
                   DUP 4 ;
695
                   GET 7 ;
696
                   COMPARE ;
697
                   EQ ;
698
                   OR ;
699
                   IF
700
                     { DROP 2 ; PUSH nat 29 ; FAILWITH }
701
                     { PUSH nat 1 ;
702
                       DUP 3 ;
703
                       GET 7 ;
704
                       SUB ;
705
                       ABS ;
706
                       DUG 2 ;
707
                       UPDATE 1 ;
708
                       SWAP ;
709
                       UPDATE 7 ;
710
                       NIL operation ;
711
                       PAIR } } } } }