BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Tezosx
  • /
  • KT1NKNp...31rU
operations (12)Storage Code Interact Tokens Fork Views Details
Latest
​x
777
1261
 
1
{ parameter (or
2
              (pair %transfer (address %caller_alias)
3
                              (pair (address %to_) (nat %amount)))
4
              (or
5
                (pair %approve (address %caller_alias)
6
                               (pair (address %spender) (nat %amount)))
7
                (or
8
                  (pair %transferFrom (address %caller_alias)
9
                                      (pair (address %from_)
10
                                            (pair (address %to_) (nat %amount))))
11
                  (or
12
                    (pair %mint (address %caller_alias)
13
                                (pair (address %to_) (nat %amount)))
14
                    (or
15
                      (pair %burn (address %caller_alias)
16
                                  (pair (address %from_) (nat %amount)))
17
                      (or
18
                        (pair %freezePartial (address %caller_alias)
19
                                             (pair (address %addr) (nat %amount)))
20
                        (or
21
                          (pair %unfreezePartial (address %caller_alias)
22
                                                 (pair (address %addr) (nat %amount)))
23
                          (or
24
                            (pair %freezeAddress (address %caller_alias) (address %addr))
25
                            (or
26
                              (pair %unfreezeAddress (address %caller_alias)
27
                                                     (address %addr))
28
                              (or
29
                                (pair %forcedTransfer (address %caller_alias)
30
                                                      (pair (address %from_)
31
                                                            (pair (address %to_)
32
                                                                  (nat %amount))))
33
                                (or
34
                                  (pair %recoveryAddress (address %caller_alias)
35
                                                         (pair (address %lost_wallet)
36
                                                               (pair
37
                                                                 (address %new_wallet)
38
                                                                 (address %investor_onchain_id))))
39
                                  (or (address %pause)
40
                                      (or (address %unpause)
41
                                          (or
42
                                            (pair %setName (address %caller_alias)
43
                                                           (string %new_name))
44
                                            (or
45
                                              (pair %setSymbol (address %caller_alias)
46
                                                               (string %new_symbol))
47
                                              (or
48
                                                (pair %setOnchainID
49
                                                  (address %caller_alias)
50
                                                  (address %new_onchain_id))
51
                                                (or
52
                                                  (pair %setVersion
53
                                                    (address %caller_alias)
54
                                                    (string %new_version))
55
                                                  (or
56
                                                    (pair %bindIR
57
                                                      (address %caller_alias)
58
                                                      (address %ir_addr))
59
                                                    (or
60
                                                      (pair %bindMC
61
                                                        (address %caller_alias)
62
                                                        (address %mc_addr))
63
                                                      (or
64
                                                        (pair %setOwner
65
                                                          (address %caller_alias)
66
                                                          (address %new_owner))
67
                                                        (address %setAdmin))))))))))))))))))))) ;
68
  storage (pair (address %admin)
69
                (pair (address %owner)
70
                      (pair (address %admin_sentinel)
71
                            (pair (address %bound_ir)
72
                                  (pair (address %bound_mc)
73
                                        (pair (big_map %balances address nat)
74
                                              (pair
75
                                                (big_map %allowances
76
                                                  (pair address address)
77
                                                  nat)
78
                                                (pair (nat %total_supply)
79
                                                      (pair
80
                                                        (big_map %frozen address nat)
81
                                                        (pair
82
                                                          (big_map %frozen_addrs address
83
                                                                                 bool)
84
                                                          (pair (bool %paused)
85
                                                                (pair (string %name)
86
                                                                      (pair
87
                                                                        (string %symbol)
88
                                                                        (pair
89
                                                                          (nat %decimals)
90
                                                                          (pair
91
                                                                            (string %version)
92
                                                                            (address %onchain_id)))))))))))))))) ;
93
  code { LAMBDA
94
           address
95
           (contract (pair address (pair address nat)))
96
           { CONTRACT %transferred (pair (address %from_)
97
                                         (pair (address %to_) (nat %amount))) ;
98
             IF_NONE { PUSH string "TOKEN_MC_HOOK_NOT_FOUND" ; FAILWITH } {} } ;
99
         SWAP ;
100
         UNPAIR ;
101
         IF_LEFT
102
           { DUP 2 ;
103
             CAR ;
104
             SENDER ;
105
             COMPARE ;
106
             NEQ ;
107
             IF { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH } {} ;
108
             DUP ;
109
             CAR ;
110
             DUP 2 ;
111
             GET 4 ;
112
             DUP 3 ;
113
             GET 3 ;
114
             DUP 5 ;
115
             GET 21 ;
116
             IF { PUSH string "TOKEN_PAUSED" ; FAILWITH } {} ;
117
             DUP 5 ;
118
             GET 19 ;
119
             DUP 4 ;
120
             GET ;
121
             IF_NONE { PUSH bool False } {} ;
122
             IF { PUSH string "TOKEN_FROZEN_ADDRESS" ; FAILWITH } {} ;
123
             DUP 5 ;
124
             GET 19 ;
125
             DUP 2 ;
126
             GET ;
127
             IF_NONE { PUSH bool False } {} ;
128
             IF { PUSH string "TOKEN_FROZEN_ADDRESS" ; FAILWITH } {} ;
129
             DUP 2 ;
130
             DUP 6 ;
131
             GET 17 ;
132
             DUP 5 ;
133
             GET ;
134
             IF_NONE { PUSH nat 0 } {} ;
135
             DUP 7 ;
136
             GET 11 ;
137
             DUP 6 ;
138
             GET ;
139
             IF_NONE { PUSH nat 0 } {} ;
140
             SUB ;
141
             ISNAT ;
142
             IF_NONE { PUSH nat 0 } {} ;
143
             COMPARE ;
144
             LT ;
145
             IF { PUSH string "TOKEN_INSUFFICIENT_FREE_BALANCE" ; FAILWITH } {} ;
146
             DUP 5 ;
147
             GET 7 ;
148
             DUP 2 ;
149
             VIEW "isVerified" bool ;
150
             IF_NONE
151
               { PUSH string "TOKEN_IR_VIEW_FAILED" ; FAILWITH }
152
               { IF {} { PUSH string "TOKEN_NOT_VERIFIED_RECIPIENT" ; FAILWITH } } ;
153
             DUP 5 ;
154
             GET 9 ;
155
             DUG 2 ;
156
             DUP 4 ;
157
             PAIR 3 ;
158
             VIEW "canTransfer" bool ;
159
             IF_NONE
160
               { PUSH string "TOKEN_MC_VIEW_FAILED" ; FAILWITH }
161
               { IF {} { PUSH string "TOKEN_COMPLIANCE_DENIED" ; FAILWITH } } ;
162
             DUP 2 ;
163
             GET 4 ;
164
             DUP 3 ;
165
             GET 3 ;
166
             DUP 2 ;
167
             DUP 6 ;
168
             GET 11 ;
169
             DUP 5 ;
170
             GET ;
171
             IF_NONE { PUSH nat 0 } {} ;
172
             SUB ;
173
             ISNAT ;
174
             IF_NONE { PUSH string "TOKEN_INSUFFICIENT_BALANCE" ; FAILWITH } {} ;
175
             DUP 6 ;
176
             DUP 2 ;
177
             INT ;
178
             EQ ;
179
             IF
180
               { SWAP ; DROP ; DIG 5 ; GET 11 ; NONE nat ; DUP 6 ; UPDATE }
181
               { DIG 6 ; GET 11 ; DIG 2 ; SOME ; DUP 6 ; UPDATE } ;
182
             UPDATE 11 ;
183
             DIG 2 ;
184
             DUP 2 ;
185
             GET 11 ;
186
             DUP 4 ;
187
             GET ;
188
             IF_NONE { PUSH nat 0 } {} ;
189
             ADD ;
190
             DUP 2 ;
191
             DUP 2 ;
192
             INT ;
193
             EQ ;
194
             IF
195
               { SWAP ; DROP ; SWAP ; GET 11 ; NONE nat ; DIG 3 ; UPDATE }
196
               { DIG 2 ; GET 11 ; DIG 2 ; SOME ; DIG 3 ; UPDATE } ;
197
             UPDATE 11 ;
198
             DUP ;
199
             GET 9 ;
200
             DIG 4 ;
201
             SWAP ;
202
             EXEC ;
203
             PUSH mutez 0 ;
204
             DUP 5 ;
205
             GET 4 ;
206
             DIG 5 ;
207
             GET 3 ;
208
             DIG 5 ;
209
             PAIR 3 ;
210
             TRANSFER_TOKENS ;
211
             SWAP ;
212
             NIL operation ;
213
             DIG 2 ;
214
             CONS }
215
           { IF_LEFT
216
               { DIG 2 ;
217
                 DROP ;
218
                 DUP 2 ;
219
                 CAR ;
220
                 SENDER ;
221
                 COMPARE ;
222
                 NEQ ;
223
                 IF { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH } {} ;
224
                 DUP ;
225
                 GET 4 ;
226
                 DUP 2 ;
227
                 GET 3 ;
228
                 DIG 2 ;
229
                 CAR ;
230
                 DUP 4 ;
231
                 DUP 4 ;
232
                 INT ;
233
                 EQ ;
234
                 IF
235
                   { DIG 3 ; DROP ; DIG 3 ; GET 13 ; NONE nat ; DIG 4 ; DIG 4 ; PAIR ; UPDATE }
236
                   { DIG 4 ; GET 13 ; DIG 4 ; SOME ; DIG 4 ; DIG 4 ; PAIR ; UPDATE } ;
237
                 UPDATE 13 ;
238
                 NIL operation }
239
               { IF_LEFT
240
                   { DUP 2 ;
241
                     CAR ;
242
                     SENDER ;
243
                     COMPARE ;
244
                     NEQ ;
245
                     IF { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH } {} ;
246
                     DUP ;
247
                     GET 6 ;
248
                     DUP 3 ;
249
                     GET 13 ;
250
                     DUP 3 ;
251
                     CAR ;
252
                     DUP 4 ;
253
                     GET 3 ;
254
                     PAIR ;
255
                     GET ;
256
                     IF_NONE { PUSH nat 0 } {} ;
257
                     SUB ;
258
                     ISNAT ;
259
                     IF_NONE
260
                       { PUSH string "TOKEN_INSUFFICIENT_ALLOWANCE" ; FAILWITH }
261
                       {} ;
262
                     DUP 2 ;
263
                     GET 6 ;
264
                     DUP 3 ;
265
                     GET 5 ;
266
                     DUP 4 ;
267
                     GET 3 ;
268
                     DUP 6 ;
269
                     GET 21 ;
270
                     IF { PUSH string "TOKEN_PAUSED" ; FAILWITH } {} ;
271
                     DUP 6 ;
272
                     GET 19 ;
273
                     DUP 2 ;
274
                     GET ;
275
                     IF_NONE { PUSH bool False } {} ;
276
                     IF { PUSH string "TOKEN_FROZEN_ADDRESS" ; FAILWITH } {} ;
277
                     DUP 6 ;
278
                     GET 19 ;
279
                     DUP 3 ;
280
                     GET ;
281
                     IF_NONE { PUSH bool False } {} ;
282
                     IF { PUSH string "TOKEN_FROZEN_ADDRESS" ; FAILWITH } {} ;
283
                     DUP 3 ;
284
                     DUP 7 ;
285
                     GET 17 ;
286
                     DUP 3 ;
287
                     GET ;
288
                     IF_NONE { PUSH nat 0 } {} ;
289
                     DUP 8 ;
290
                     GET 11 ;
291
                     DUP 4 ;
292
                     GET ;
293
                     IF_NONE { PUSH nat 0 } {} ;
294
                     SUB ;
295
                     ISNAT ;
296
                     IF_NONE { PUSH nat 0 } {} ;
297
                     COMPARE ;
298
                     LT ;
299
                     IF
300
                       { PUSH string "TOKEN_INSUFFICIENT_FREE_BALANCE" ; FAILWITH }
301
                       {} ;
302
                     DUP 6 ;
303
                     GET 7 ;
304
                     DUP 3 ;
305
                     VIEW "isVerified" bool ;
306
                     IF_NONE
307
                       { PUSH string "TOKEN_IR_VIEW_FAILED" ; FAILWITH }
308
                       { IF
309
                           {}
310
                           { PUSH string "TOKEN_NOT_VERIFIED_RECIPIENT" ; FAILWITH } } ;
311
                     DUP 6 ;
312
                     GET 9 ;
313
                     DUG 3 ;
314
                     PAIR 3 ;
315
                     VIEW "canTransfer" bool ;
316
                     IF_NONE
317
                       { PUSH string "TOKEN_MC_VIEW_FAILED" ; FAILWITH }
318
                       { IF {} { PUSH string "TOKEN_COMPLIANCE_DENIED" ; FAILWITH } } ;
319
                     DUP 2 ;
320
                     GET 6 ;
321
                     DUP 3 ;
322
                     GET 5 ;
323
                     DUP 4 ;
324
                     GET 3 ;
325
                     DUP 5 ;
326
                     CAR ;
327
                     DUP 6 ;
328
                     GET 3 ;
329
                     DUP 8 ;
330
                     DUP 7 ;
331
                     INT ;
332
                     EQ ;
333
                     IF
334
                       { DIG 6 ; DROP ; DIG 7 ; GET 13 ; NONE nat ; DIG 4 ; DIG 4 ; PAIR ; UPDATE }
335
                       { DIG 8 ; GET 13 ; DIG 7 ; SOME ; DIG 4 ; DIG 4 ; PAIR ; UPDATE } ;
336
                     UPDATE 13 ;
337
                     DUP 4 ;
338
                     DUP 2 ;
339
                     GET 11 ;
340
                     DUP 4 ;
341
                     GET ;
342
                     IF_NONE { PUSH nat 0 } {} ;
343
                     SUB ;
344
                     ISNAT ;
345
                     IF_NONE
346
                       { PUSH string "TOKEN_INSUFFICIENT_BALANCE" ; FAILWITH }
347
                       {} ;
348
                     DUP 2 ;
349
                     DUP 2 ;
350
                     INT ;
351
                     EQ ;
352
                     IF
353
                       { SWAP ; DROP ; SWAP ; GET 11 ; NONE nat ; DIG 3 ; UPDATE }
354
                       { DIG 2 ; GET 11 ; DIG 2 ; SOME ; DIG 3 ; UPDATE } ;
355
                     UPDATE 11 ;
356
                     DIG 2 ;
357
                     DUP 2 ;
358
                     GET 11 ;
359
                     DUP 4 ;
360
                     GET ;
361
                     IF_NONE { PUSH nat 0 } {} ;
362
                     ADD ;
363
                     DUP 2 ;
364
                     DUP 2 ;
365
                     INT ;
366
                     EQ ;
367
                     IF
368
                       { SWAP ; DROP ; SWAP ; GET 11 ; NONE nat ; DIG 3 ; UPDATE }
369
                       { DIG 2 ; GET 11 ; DIG 2 ; SOME ; DIG 3 ; UPDATE } ;
370
                     UPDATE 11 ;
371
                     DUP ;
372
                     GET 9 ;
373
                     DIG 3 ;
374
                     SWAP ;
375
                     EXEC ;
376
                     PUSH mutez 0 ;
377
                     DUP 4 ;
378
                     GET 6 ;
379
                     DUP 5 ;
380
                     GET 5 ;
381
                     DIG 5 ;
382
                     GET 3 ;
383
                     PAIR 3 ;
384
                     TRANSFER_TOKENS ;
385
                     SWAP ;
386
                     NIL operation ;
387
                     DIG 2 ;
388
                     CONS }
389
                   { IF_LEFT
390
                       { DIG 2 ;
391
                         DROP ;
392
                         DUP 2 ;
393
                         CAR ;
394
                         SENDER ;
395
                         COMPARE ;
396
                         NEQ ;
397
                         IF { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH } {} ;
398
                         DUP 2 ;
399
                         GET 3 ;
400
                         DUP 2 ;
401
                         CAR ;
402
                         COMPARE ;
403
                         NEQ ;
404
                         IF { PUSH string "TOKEN_NOT_OWNER" ; FAILWITH } {} ;
405
                         DUP 2 ;
406
                         GET 21 ;
407
                         IF { PUSH string "TOKEN_PAUSED" ; FAILWITH } {} ;
408
                         DUP 2 ;
409
                         GET 7 ;
410
                         DUP 2 ;
411
                         GET 3 ;
412
                         VIEW "isVerified" bool ;
413
                         IF_NONE
414
                           { PUSH string "TOKEN_IR_VIEW_FAILED" ; FAILWITH }
415
                           { IF
416
                               {}
417
                               { PUSH string "TOKEN_NOT_VERIFIED_RECIPIENT" ; FAILWITH } } ;
418
                         DUP ;
419
                         GET 4 ;
420
                         DUP 3 ;
421
                         GET 11 ;
422
                         DUP 3 ;
423
                         GET 3 ;
424
                         GET ;
425
                         IF_NONE { PUSH nat 0 } {} ;
426
                         ADD ;
427
                         DUP 2 ;
428
                         GET 3 ;
429
                         DUP 4 ;
430
                         DUP 3 ;
431
                         INT ;
432
                         EQ ;
433
                         IF
434
                           { DIG 2 ; DROP ; DIG 3 ; GET 11 ; NONE nat ; DIG 3 ; UPDATE }
435
                           { DIG 4 ; GET 11 ; DIG 3 ; SOME ; DIG 3 ; UPDATE } ;
436
                         UPDATE 11 ;
437
                         DUP ;
438
                         DUP 3 ;
439
                         GET 4 ;
440
                         DIG 2 ;
441
                         GET 15 ;
442
                         ADD ;
443
                         UPDATE 15 ;
444
                         DUP ;
445
                         GET 9 ;
446
                         CONTRACT %created (pair (address %to_) (nat %amount)) ;
447
                         IF_NONE
448
                           { PUSH string "TOKEN_MC_HOOK_NOT_FOUND" ; FAILWITH }
449
                           {} ;
450
                         PUSH mutez 0 ;
451
                         DUP 4 ;
452
                         GET 4 ;
453
                         DIG 4 ;
454
                         GET 3 ;
455
                         PAIR ;
456
                         TRANSFER_TOKENS ;
457
                         SWAP ;
458
                         NIL operation ;
459
                         DIG 2 ;
460
                         CONS }
461
                       { IF_LEFT
462
                           { DIG 2 ;
463
                             DROP ;
464
                             DUP 2 ;
465
                             CAR ;
466
                             SENDER ;
467
                             COMPARE ;
468
                             NEQ ;
469
                             IF { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH } {} ;
470
                             DUP 2 ;
471
                             GET 3 ;
472
                             DUP 2 ;
473
                             CAR ;
474
                             COMPARE ;
475
                             NEQ ;
476
                             IF { PUSH string "TOKEN_NOT_OWNER" ; FAILWITH } {} ;
477
                             DUP 2 ;
478
                             GET 21 ;
479
                             IF { PUSH string "TOKEN_PAUSED" ; FAILWITH } {} ;
480
                             DUP ;
481
                             GET 4 ;
482
                             DUP 3 ;
483
                             GET 11 ;
484
                             DUP 3 ;
485
                             GET 3 ;
486
                             GET ;
487
                             IF_NONE { PUSH nat 0 } {} ;
488
                             SUB ;
489
                             ISNAT ;
490
                             IF_NONE
491
                               { PUSH string "TOKEN_INSUFFICIENT_BALANCE" ; FAILWITH }
492
                               {} ;
493
                             DUP 2 ;
494
                             GET 3 ;
495
                             DUP 4 ;
496
                             DUP 3 ;
497
                             INT ;
498
                             EQ ;
499
                             IF
500
                               { DUP 5 ; GET 11 ; NONE nat ; DIG 3 ; UPDATE }
501
                               { DUP 5 ; GET 11 ; DUP 4 ; SOME ; DIG 3 ; UPDATE } ;
502
                             UPDATE 11 ;
503
                             DUP 2 ;
504
                             DIG 4 ;
505
                             GET 17 ;
506
                             DUP 5 ;
507
                             GET 3 ;
508
                             GET ;
509
                             IF_NONE { PUSH nat 0 } {} ;
510
                             COMPARE ;
511
                             GT ;
512
                             IF
513
                               { DUP 3 ;
514
                                 GET 3 ;
515
                                 DUP 2 ;
516
                                 DUP 4 ;
517
                                 INT ;
518
                                 EQ ;
519
                                 IF
520
                                   { DIG 3 ; DROP ; DIG 2 ; GET 17 ; NONE nat ; DIG 3 ; UPDATE }
521
                                   { DIG 2 ; GET 17 ; DIG 3 ; SOME ; DIG 3 ; UPDATE } ;
522
                                 UPDATE 17 }
523
                               { SWAP ; DROP } ;
524
                             DUP ;
525
                             DUP 3 ;
526
                             GET 4 ;
527
                             DIG 2 ;
528
                             GET 15 ;
529
                             SUB ;
530
                             ISNAT ;
531
                             IF_NONE
532
                               { PUSH string "TOKEN_INSUFFICIENT_BALANCE" ; FAILWITH }
533
                               {} ;
534
                             UPDATE 15 ;
535
                             DUP ;
536
                             GET 9 ;
537
                             CONTRACT %destroyed (pair (address %from_) (nat %amount)) ;
538
                             IF_NONE
539
                               { PUSH string "TOKEN_MC_HOOK_NOT_FOUND" ; FAILWITH }
540
                               {} ;
541
                             PUSH mutez 0 ;
542
                             DUP 4 ;
543
                             GET 4 ;
544
                             DIG 4 ;
545
                             GET 3 ;
546
                             PAIR ;
547
                             TRANSFER_TOKENS ;
548
                             SWAP ;
549
                             NIL operation ;
550
                             DIG 2 ;
551
                             CONS }
552
                           { IF_LEFT
553
                               { DIG 2 ;
554
                                 DROP ;
555
                                 DUP 2 ;
556
                                 CAR ;
557
                                 SENDER ;
558
                                 COMPARE ;
559
                                 NEQ ;
560
                                 IF { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH } {} ;
561
                                 DUP 2 ;
562
                                 GET 3 ;
563
                                 DUP 2 ;
564
                                 CAR ;
565
                                 COMPARE ;
566
                                 NEQ ;
567
                                 IF { PUSH string "TOKEN_NOT_OWNER" ; FAILWITH } {} ;
568
                                 DUP 2 ;
569
                                 GET 11 ;
570
                                 DUP 2 ;
571
                                 GET 3 ;
572
                                 GET ;
573
                                 IF_NONE { PUSH nat 0 } {} ;
574
                                 DUP 2 ;
575
                                 GET 4 ;
576
                                 DUP 4 ;
577
                                 GET 17 ;
578
                                 DUP 4 ;
579
                                 GET 3 ;
580
                                 GET ;
581
                                 IF_NONE { PUSH nat 0 } {} ;
582
                                 ADD ;
583
                                 DUP 2 ;
584
                                 DUP 2 ;
585
                                 COMPARE ;
586
                                 GT ;
587
                                 IF { DROP } { SWAP ; DROP } ;
588
                                 SWAP ;
589
                                 GET 3 ;
590
                                 DUP 3 ;
591
                                 DUP 3 ;
592
                                 INT ;
593
                                 EQ ;
594
                                 IF
595
                                   { DIG 2 ; DROP ; DIG 2 ; GET 17 ; NONE nat ; DIG 3 ; UPDATE }
596
                                   { DIG 3 ; GET 17 ; DIG 3 ; SOME ; DIG 3 ; UPDATE } ;
597
                                 UPDATE 17 ;
598
                                 NIL operation }
599
                               { IF_LEFT
600
                                   { DIG 2 ;
601
                                     DROP ;
602
                                     DUP 2 ;
603
                                     CAR ;
604
                                     SENDER ;
605
                                     COMPARE ;
606
                                     NEQ ;
607
                                     IF
608
                                       { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH }
609
                                       {} ;
610
                                     DUP 2 ;
611
                                     GET 3 ;
612
                                     DUP 2 ;
613
                                     CAR ;
614
                                     COMPARE ;
615
                                     NEQ ;
616
                                     IF
617
                                       { PUSH string "TOKEN_NOT_OWNER" ; FAILWITH }
618
                                       {} ;
619
                                     DUP ;
620
                                     GET 4 ;
621
                                     DUP 3 ;
622
                                     GET 17 ;
623
                                     DUP 3 ;
624
                                     GET 3 ;
625
                                     GET ;
626
                                     IF_NONE { PUSH nat 0 } {} ;
627
                                     SUB ;
628
                                     ISNAT ;
629
                                     IF_NONE { PUSH nat 0 } {} ;
630
                                     SWAP ;
631
                                     GET 3 ;
632
                                     DUP 3 ;
633
                                     DUP 3 ;
634
                                     INT ;
635
                                     EQ ;
636
                                     IF
637
                                       { DIG 2 ; DROP ; DIG 2 ; GET 17 ; NONE nat ; DIG 3 ; UPDATE }
638
                                       { DIG 3 ; GET 17 ; DIG 3 ; SOME ; DIG 3 ; UPDATE } ;
639
                                     UPDATE 17 ;
640
                                     NIL operation }
641
                                   { IF_LEFT
642
                                       { DIG 2 ;
643
                                         DROP ;
644
                                         DUP 2 ;
645
                                         CAR ;
646
                                         SENDER ;
647
                                         COMPARE ;
648
                                         NEQ ;
649
                                         IF
650
                                           { PUSH string "TOKEN_NOT_ADMIN" ; FAILWITH }
651
                                           {} ;
652
                                         DUP 2 ;
653
                                         GET 3 ;
654
                                         DUP 2 ;
655
                                         CAR ;
656
                                         COMPARE ;
657
                                         NEQ ;
658
                                         IF
659
                                           { PUSH string "TOKEN_NOT_OWNER" ; FAILWITH }
660
                                           {} ;
661
                                         SWAP ;
662
                                         DUP ;
663
                                         GET 19 ;
664
                                         PUSH bool True ;
665
                                         SOME ;
666
                                         DIG 3 ;
667
                                         CDR ;
668
                                         UPDATE ;
669
                                         UPDATE 19 ;
670
                                         NIL operation }
671
                                       { IF_LEFT
672
                                           { DIG 2 ;
673
                                             DROP ;
674
                                             DUP 2 ;
675
                                             CAR ;
676
                                             SENDER ;
677
                                             COMPARE ;
678
                                             NEQ ;
679
                                             IF
680
                                               { PUSH string "TOKEN_NOT_ADMIN" ;
681
                                                 FAILWITH }
682
                                               {} ;
683
                                             DUP 2 ;
684
                                             GET 3 ;
685
                                             DUP 2 ;
686
                                             CAR ;
687
                                             COMPARE ;
688
                                             NEQ ;
689
                                             IF
690
                                               { PUSH string "TOKEN_NOT_OWNER" ;
691
                                                 FAILWITH }
692
                                               {} ;
693
                                             SWAP ;
694
                                             DUP ;
695
                                             GET 19 ;
696
                                             PUSH bool False ;
697
                                             SOME ;
698
                                             DIG 3 ;
699
                                             CDR ;
700
                                             UPDATE ;
701
                                             UPDATE 19 ;
702
                                             NIL operation }
703
                                           { IF_LEFT
704
                                               { DUP 2 ;
705
                                                 CAR ;
706
                                                 SENDER ;
707
                                                 COMPARE ;
708
                                                 NEQ ;
709
                                                 IF
710
                                                   { PUSH string "TOKEN_NOT_ADMIN" ;
711
                                                     FAILWITH }
712
                                                   {} ;
713
                                                 DUP 2 ;
714
                                                 GET 3 ;
715
                                                 DUP 2 ;
716
                                                 CAR ;
717
                                                 COMPARE ;
718
                                                 NEQ ;
719
                                                 IF
720
                                                   { PUSH string "TOKEN_NOT_OWNER" ;
721
                                                     FAILWITH }
722
                                                   {} ;
723
                                                 DUP 2 ;
724
                                                 GET 21 ;
725
                                                 IF
726
                                                   { PUSH string "TOKEN_PAUSED" ;
727
                                                     FAILWITH }
728
                                                   {} ;
729
                                                 DUP 2 ;
730
                                                 GET 7 ;
731
                                                 DUP 2 ;
732
                                                 GET 5 ;
733
                                                 VIEW "isVerified" bool ;
734
                                                 IF_NONE
735
                                                   { PUSH string "TOKEN_IR_VIEW_FAILED" ;
736
                                                     FAILWITH }
737
                                                   { IF
738
                                                       {}
739
                                                       { PUSH string "TOKEN_NOT_VERIFIED_RECIPIENT" ;
740
                                                         FAILWITH } } ;
741
                                                 DUP ;
742
                                                 GET 5 ;
743
                                                 DUP 2 ;
744
                                                 GET 3 ;
745
                                                 COMPARE ;
746
                                                 EQ ;
747
                                                 IF
748
                                                   { DROP ; SWAP ; DROP ; NIL operation }
749
                                                   { DUP ;
750
                                                     GET 6 ;
751
                                                     DUP 3 ;
752
                                                     GET 11 ;
753
                                                     DUP 3 ;
754
                                                     GET 3 ;
755
                                                     GET ;
756
                                                     IF_NONE { PUSH nat 0 } {} ;
757
                                                     SUB ;
758
                                                     ISNAT ;
759
                                                     IF_NONE
760
                                                       { PUSH string "TOKEN_INSUFFICIENT_BALANCE" ;
761
                                                         FAILWITH }
762
                                                       {} ;
763
                                                     DUP 2 ;
764
                                                     GET 3 ;
765
                                                     DUP 4 ;
766
                                                     DUP 3 ;
767
                                                     INT ;
768
                                                     EQ ;
769
                                                     IF
770
                                                       { DUP 5 ;
771
                                                         GET 11 ;
772
                                                         NONE nat ;
773
                                                         DIG 3 ;
774
                                                         UPDATE }
775
                                                       { DUP 5 ;
776
                                                         GET 11 ;
777
                                                         DUP 4 ;
778
                                                         SOME ;
779
                                                         DIG 3 ;
780
                                                         UPDATE } ;
781
                                                     UPDATE 11 ;
782
                                                     DUP 2 ;
783
                                                     DIG 4 ;
784
                                                     GET 17 ;
785
                                                     DUP 5 ;
786
                                                     GET 3 ;
787
                                                     GET ;
788
                                                     IF_NONE { PUSH nat 0 } {} ;
789
                                                     COMPARE ;
790
                                                     GT ;
791
                                                     IF
792
                                                       { DUP 3 ;
793
                                                         GET 3 ;
794
                                                         DUP 2 ;
795
                                                         DUP 4 ;
796
                                                         INT ;
797
                                                         EQ ;
798
                                                         IF
799
                                                           { DIG 3 ;
800
                                                             DROP ;
801
                                                             DIG 2 ;
802
                                                             GET 17 ;
803
                                                             NONE nat ;
804
                                                             DIG 3 ;
805
                                                             UPDATE }
806
                                                           { DIG 2 ;
807
                                                             GET 17 ;
808
                                                             DIG 3 ;
809
                                                             SOME ;
810
                                                             DIG 3 ;
811
                                                             UPDATE } ;
812
                                                         UPDATE 17 }
813
                                                       { SWAP ; DROP } ;
814
                                                     DUP 2 ;
815
                                                     GET 6 ;
816
                                                     DUP 2 ;
817
                                                     GET 11 ;
818
                                                     DUP 4 ;
819
                                                     GET 5 ;
820
                                                     GET ;
821
                                                     IF_NONE { PUSH nat 0 } {} ;
822
                                                     ADD ;
823
                                                     DUP 3 ;
824
                                                     GET 5 ;
825
                                                     DIG 2 ;
826
                                                     DUP ;
827
                                                     DUP 4 ;
828
                                                     INT ;
829
                                                     EQ ;
830
                                                     IF
831
                                                       { DIG 3 ;
832
                                                         DROP ;
833
                                                         SWAP ;
834
                                                         GET 11 ;
835
                                                         NONE nat ;
836
                                                         DIG 3 ;
837
                                                         UPDATE }
838
                                                       { SWAP ;
839
                                                         GET 11 ;
840
                                                         DIG 3 ;
841
                                                         SOME ;
842
                                                         DIG 3 ;
843
                                                         UPDATE } ;
844
                                                     UPDATE 11 ;
845
                                                     DUP ;
846
                                                     GET 9 ;
847
                                                     DIG 3 ;
848
                                                     SWAP ;
849
                                                     EXEC ;
850
                                                     PUSH mutez 0 ;
851
                                                     DUP 4 ;
852
                                                     GET 6 ;
853
                                                     DUP 5 ;
854
                                                     GET 5 ;
855
                                                     DIG 5 ;
856
                                                     GET 3 ;
857
                                                     PAIR 3 ;
858
                                                     TRANSFER_TOKENS ;
859
                                                     SWAP ;
860
                                                     NIL operation ;
861
                                                     DIG 2 ;
862
                                                     CONS } }
863
                                               { IF_LEFT
864
                                                   { DUP 2 ;
865
                                                     CAR ;
866
                                                     SENDER ;
867
                                                     COMPARE ;
868
                                                     NEQ ;
869
                                                     IF
870
                                                       { PUSH string "TOKEN_NOT_ADMIN" ;
871
                                                         FAILWITH }
872
                                                       {} ;
873
                                                     DUP 2 ;
874
                                                     GET 3 ;
875
                                                     DUP 2 ;
876
                                                     CAR ;
877
                                                     COMPARE ;
878
                                                     NEQ ;
879
                                                     IF
880
                                                       { PUSH string "TOKEN_NOT_OWNER" ;
881
                                                         FAILWITH }
882
                                                       {} ;
883
                                                     DUP 2 ;
884
                                                     GET 21 ;
885
                                                     IF
886
                                                       { PUSH string "TOKEN_PAUSED" ;
887
                                                         FAILWITH }
888
                                                       {} ;
889
                                                     DUP 2 ;
890
                                                     GET 7 ;
891
                                                     DUP 2 ;
892
                                                     GET 5 ;
893
                                                     VIEW "isVerified" bool ;
894
                                                     IF_NONE
895
                                                       { PUSH string "TOKEN_IR_VIEW_FAILED" ;
896
                                                         FAILWITH }
897
                                                       {} ;
898
                                                     IF
899
                                                       {}
900
                                                       { PUSH string "TOKEN_RECOVERY_IDENTITY_MISMATCH" ;
901
                                                         FAILWITH } ;
902
                                                     DUP 2 ;
903
                                                     GET 7 ;
904
                                                     DUP 2 ;
905
                                                     GET 5 ;
906
                                                     VIEW "identityOf" address ;
907
                                                     IF_NONE
908
                                                       { PUSH string "TOKEN_RECOVERY_IDENTITY_MISMATCH" ;
909
                                                         FAILWITH }
910
                                                       {} ;
911
                                                     DUP 2 ;
912
                                                     GET 6 ;
913
                                                     COMPARE ;
914
                                                     NEQ ;
915
                                                     IF
916
                                                       { PUSH string "TOKEN_RECOVERY_IDENTITY_MISMATCH" ;
917
                                                         FAILWITH }
918
                                                       {} ;
919
                                                     DUP 2 ;
920
                                                     GET 11 ;
921
                                                     DUP 2 ;
922
                                                     GET 3 ;
923
                                                     GET ;
924
                                                     IF_NONE { PUSH nat 0 } {} ;
925
                                                     DUP ;
926
                                                     INT ;
927
                                                     EQ ;
928
                                                     IF
929
                                                       { PUSH string "TOKEN_RECOVERY_NO_BALANCE" ;
930
                                                         FAILWITH }
931
                                                       {} ;
932
                                                     PUSH nat 0 ;
933
                                                     DUP 3 ;
934
                                                     GET 3 ;
935
                                                     DUP 5 ;
936
                                                     DUP 3 ;
937
                                                     INT ;
938
                                                     EQ ;
939
                                                     IF
940
                                                       { DIG 2 ;
941
                                                         DROP ;
942
                                                         DUP 5 ;
943
                                                         GET 11 ;
944
                                                         NONE nat ;
945
                                                         DIG 3 ;
946
                                                         UPDATE }
947
                                                       { DUP 6 ;
948
                                                         GET 11 ;
949
                                                         DIG 3 ;
950
                                                         SOME ;
951
                                                         DIG 3 ;
952
                                                         UPDATE } ;
953
                                                     UPDATE 11 ;
954
                                                     DUP 2 ;
955
                                                     DUP 2 ;
956
                                                     GET 11 ;
957
                                                     DUP 5 ;
958
                                                     GET 5 ;
959
                                                     GET ;
960
                                                     IF_NONE { PUSH nat 0 } {} ;
961
                                                     ADD ;
962
                                                     DUP 4 ;
963
                                                     GET 5 ;
964
                                                     DIG 2 ;
965
                                                     DUP ;
966
                                                     DUP 4 ;
967
                                                     INT ;
968
                                                     EQ ;
969
                                                     IF
970
                                                       { DIG 3 ;
971
                                                         DROP ;
972
                                                         SWAP ;
973
                                                         GET 11 ;
974
                                                         NONE nat ;
975
                                                         DIG 3 ;
976
                                                         UPDATE }
977
                                                       { SWAP ;
978
                                                         GET 11 ;
979
                                                         DIG 3 ;
980
                                                         SOME ;
981
                                                         DIG 3 ;
982
                                                         UPDATE } ;
983
                                                     UPDATE 11 ;
984
                                                     PUSH nat 0 ;
985
                                                     DUP 4 ;
986
                                                     GET 3 ;
987
                                                     DUP 3 ;
988
                                                     DUP 3 ;
989
                                                     INT ;
990
                                                     EQ ;
991
                                                     IF
992
                                                       { DIG 2 ;
993
                                                         DROP ;
994
                                                         DIG 2 ;
995
                                                         GET 17 ;
996
                                                         NONE nat ;
997
                                                         DIG 3 ;
998
                                                         UPDATE }
999
                                                       { DIG 3 ;
1000
                                                         GET 17 ;
1001
                                                         DIG 3 ;
1002
                                                         SOME ;
1003
                                                         DIG 3 ;
1004
                                                         UPDATE } ;
1005
                                                     UPDATE 17 ;
1006
                                                     DIG 3 ;
1007
                                                     GET 17 ;
1008
                                                     DUP 4 ;
1009
                                                     GET 3 ;
1010
                                                     GET ;
1011
                                                     IF_NONE { PUSH nat 0 } {} ;
1012
                                                     DUP 2 ;
1013
                                                     GET 17 ;
1014
                                                     DUP 5 ;
1015
                                                     GET 5 ;
1016
                                                     GET ;
1017
                                                     IF_NONE { PUSH nat 0 } {} ;
1018
                                                     ADD ;
1019
                                                     DUP 4 ;
1020
                                                     GET 5 ;
1021
                                                     DIG 2 ;
1022
                                                     DUP ;
1023
                                                     DUP 4 ;
1024
                                                     INT ;
1025
                                                     EQ ;
1026
                                                     IF
1027
                                                       { DIG 3 ;
1028
                                                         DROP ;
1029
                                                         SWAP ;
1030
                                                         GET 17 ;
1031
                                                         NONE nat ;
1032
                                                         DIG 3 ;
1033
                                                         UPDATE }
1034
                                                       { SWAP ;
1035
                                                         GET 17 ;
1036
                                                         DIG 3 ;
1037
                                                         SOME ;
1038
                                                         DIG 3 ;
1039
                                                         UPDATE } ;
1040
                                                     UPDATE 17 ;
1041
                                                     DUP ;
1042
                                                     GET 9 ;
1043
                                                     DIG 4 ;
1044
                                                     SWAP ;
1045
                                                     EXEC ;
1046
                                                     PUSH mutez 0 ;
1047
                                                     DIG 3 ;
1048
                                                     DUP 5 ;
1049
                                                     GET 5 ;
1050
                                                     DIG 5 ;
1051
                                                     GET 3 ;
1052
                                                     PAIR 3 ;
1053
                                                     TRANSFER_TOKENS ;
1054
                                                     SWAP ;
1055
                                                     NIL operation ;
1056
                                                     DIG 2 ;
1057
                                                     CONS }
1058
                                                   { DIG 2 ;
1059
                                                     DROP ;
1060
                                                     IF_LEFT
1061
                                                       { DUP 2 ;
1062
                                                         CAR ;
1063
                                                         SENDER ;
1064
                                                         COMPARE ;
1065
                                                         NEQ ;
1066
                                                         IF
1067
                                                           { PUSH string "TOKEN_NOT_ADMIN" ;
1068
                                                             FAILWITH }
1069
                                                           {} ;
1070
                                                         DUP 2 ;
1071
                                                         GET 3 ;
1072
                                                         COMPARE ;
1073
                                                         NEQ ;
1074
                                                         IF
1075
                                                           { PUSH string "TOKEN_NOT_OWNER" ;
1076
                                                             FAILWITH }
1077
                                                           {} ;
1078
                                                         PUSH bool True ;
1079
                                                         UPDATE 21 }
1080
                                                       { IF_LEFT
1081
                                                           { DUP 2 ;
1082
                                                             CAR ;
1083
                                                             SENDER ;
1084
                                                             COMPARE ;
1085
                                                             NEQ ;
1086
                                                             IF
1087
                                                               { PUSH string "TOKEN_NOT_ADMIN" ;
1088
                                                                 FAILWITH }
1089
                                                               {} ;
1090
                                                             DUP 2 ;
1091
                                                             GET 3 ;
1092
                                                             COMPARE ;
1093
                                                             NEQ ;
1094
                                                             IF
1095
                                                               { PUSH string "TOKEN_NOT_OWNER" ;
1096
                                                                 FAILWITH }
1097
                                                               {} ;
1098
                                                             PUSH bool False ;
1099
                                                             UPDATE 21 }
1100
                                                           { IF_LEFT
1101
                                                               { DUP 2 ;
1102
                                                                 CAR ;
1103
                                                                 SENDER ;
1104
                                                                 COMPARE ;
1105
                                                                 NEQ ;
1106
                                                                 IF
1107
                                                                   { PUSH string "TOKEN_NOT_ADMIN" ;
1108
                                                                     FAILWITH }
1109
                                                                   {} ;
1110
                                                                 DUP 2 ;
1111
                                                                 GET 3 ;
1112
                                                                 DUP 2 ;
1113
                                                                 CAR ;
1114
                                                                 COMPARE ;
1115
                                                                 NEQ ;
1116
                                                                 IF
1117
                                                                   { PUSH string "TOKEN_NOT_OWNER" ;
1118
                                                                     FAILWITH }
1119
                                                                   {} ;
1120
                                                                 CDR ;
1121
                                                                 UPDATE 23 }
1122
                                                               { IF_LEFT
1123
                                                                   { DUP 2 ;
1124
                                                                     CAR ;
1125
                                                                     SENDER ;
1126
                                                                     COMPARE ;
1127
                                                                     NEQ ;
1128
                                                                     IF
1129
                                                                       { PUSH string "TOKEN_NOT_ADMIN" ;
1130
                                                                         FAILWITH }
1131
                                                                       {} ;
1132
                                                                     DUP 2 ;
1133
                                                                     GET 3 ;
1134
                                                                     DUP 2 ;
1135
                                                                     CAR ;
1136
                                                                     COMPARE ;
1137
                                                                     NEQ ;
1138
                                                                     IF
1139
                                                                       { PUSH string "TOKEN_NOT_OWNER" ;
1140
                                                                         FAILWITH }
1141
                                                                       {} ;
1142
                                                                     CDR ;
1143
                                                                     UPDATE 25 }
1144
                                                                   { IF_LEFT
1145
                                                                       { DUP 2 ;
1146
                                                                         CAR ;
1147
                                                                         SENDER ;
1148
                                                                         COMPARE ;
1149
                                                                         NEQ ;
1150
                                                                         IF
1151
                                                                           { PUSH string "TOKEN_NOT_ADMIN" ;
1152
                                                                             FAILWITH }
1153
                                                                           {} ;
1154
                                                                         DUP 2 ;
1155
                                                                         GET 3 ;
1156
                                                                         DUP 2 ;
1157
                                                                         CAR ;
1158
                                                                         COMPARE ;
1159
                                                                         NEQ ;
1160
                                                                         IF
1161
                                                                           { PUSH string "TOKEN_NOT_OWNER" ;
1162
                                                                             FAILWITH }
1163
                                                                           {} ;
1164
                                                                         CDR ;
1165
                                                                         UPDATE 30 }
1166
                                                                       { IF_LEFT
1167
                                                                           { DUP 2 ;
1168
                                                                             CAR ;
1169
                                                                             SENDER ;
1170
                                                                             COMPARE ;
1171
                                                                             NEQ ;
1172
                                                                             IF
1173
                                                                               { PUSH string "TOKEN_NOT_ADMIN" ;
1174
                                                                                 FAILWITH }
1175
                                                                               {} ;
1176
                                                                             DUP 2 ;
1177
                                                                             GET 3 ;
1178
                                                                             DUP 2 ;
1179
                                                                             CAR ;
1180
                                                                             COMPARE ;
1181
                                                                             NEQ ;
1182
                                                                             IF
1183
                                                                               { PUSH string "TOKEN_NOT_OWNER" ;
1184
                                                                                 FAILWITH }
1185
                                                                               {} ;
1186
                                                                             CDR ;
1187
                                                                             UPDATE 29 }
1188
                                                                           { IF_LEFT
1189
                                                                               { DUP 2 ;
1190
                                                                                 CAR ;
1191
                                                                                 SENDER ;
1192
                                                                                 COMPARE ;
1193
                                                                                 NEQ ;
1194
                                                                                 IF
1195
                                                                                   { PUSH string "TOKEN_NOT_ADMIN" ;
1196
                                                                                     FAILWITH }
1197
                                                                                   {} ;
1198
                                                                                 DUP 2 ;
1199
                                                                                 GET 3 ;
1200
                                                                                 DUP 2 ;
1201
                                                                                 CAR ;
1202
                                                                                 COMPARE ;
1203
                                                                                 NEQ ;
1204
                                                                                 IF
1205
                                                                                   { PUSH string "TOKEN_NOT_OWNER" ;
1206
                                                                                     FAILWITH }
1207
                                                                                   {} ;
1208
                                                                                 DUP 2 ;
1209
                                                                                 GET 5 ;
1210
                                                                                 DUP 3 ;
1211
                                                                                 GET 7 ;
1212
                                                                                 COMPARE ;
1213
                                                                                 EQ ;
1214
                                                                                 IF
1215
                                                                                   {}
1216
                                                                                   { PUSH string "TOKEN_ALREADY_BOUND_IR" ;
1217
                                                                                     FAILWITH } ;
1218
                                                                                 CDR ;
1219
                                                                                 UPDATE 7 }
1220
                                                                               { IF_LEFT
1221
                                                                                   { DUP 2 ;
1222
                                                                                     CAR ;
1223
                                                                                     SENDER ;
1224
                                                                                     COMPARE ;
1225
                                                                                     NEQ ;
1226
                                                                                     IF
1227
                                                                                       { PUSH string "TOKEN_NOT_ADMIN" ;
1228
                                                                                         FAILWITH }
1229
                                                                                       {} ;
1230
                                                                                     DUP 2 ;
1231
                                                                                     GET 3 ;
1232
                                                                                     DUP 2 ;
1233
                                                                                     CAR ;
1234
                                                                                     COMPARE ;
1235
                                                                                     NEQ ;
1236
                                                                                     IF
1237
                                                                                       { PUSH string "TOKEN_NOT_OWNER" ;
1238
                                                                                         FAILWITH }
1239
                                                                                       {} ;
1240
                                                                                     DUP 2 ;
1241
                                                                                     GET 5 ;
1242
                                                                                     DUP 3 ;
1243
                                                                                     GET 9 ;
1244
                                                                                     COMPARE ;
1245
                                                                                     EQ ;
1246
                                                                                     IF
1247
                                                                                       {}
1248
                                                                                       { PUSH string "TOKEN_ALREADY_BOUND_MC" ;
1249
                                                                                         FAILWITH } ;
1250
                                                                                     CDR ;
1251
                                                                                     UPDATE 9 }
1252
                                                                                   { IF_LEFT
1253
                                                                                       { DUP 2 ;
1254
                                                                                         CAR ;
1255
                                                                                         SENDER ;
1256
                                                                                         COMPARE ;
1257
                                                                                         NEQ ;
1258
                                                                                         IF
1259
                                                                                           { PUSH string "TOKEN_NOT_ADMIN" ;
1260
                                                                                             FAILWITH }
1261
                                                                                           {} ;
1262
                                                                                         DUP 2 ;
1263
                                                                                         GET 3 ;
1264
                                                                                         DUP 2 ;
1265
                                                                                         CAR ;
1266
                                                                                         COMPARE ;
1267
                                                                                         NEQ ;
1268
                                                                                         IF
1269
                                                                                           { PUSH string "TOKEN_NOT_OWNER" ;
1270
                                                                                             FAILWITH }
1271
                                                                                           {} ;
1272
                                                                                         CDR ;
1273
                                                                                         UPDATE 3 }
1274
                                                                                       { DUP 2 ;
1275
                                                                                         CAR ;
1276
                                                                                         SENDER ;
1277
                                                                                         COMPARE ;
1278
                                                                                         NEQ ;
1279
                                                                                         IF
1280
                                                                                           { PUSH string "TOKEN_NOT_ADMIN" ;
1281
                                                                                             FAILWITH }
1282
                                                                                           {} ;
1283
                                                                                         UPDATE 1 } } } } } } } } } ;
1284
                                                     NIL operation } } } } } } } } } } } ;
1285
         PAIR } ;
1286
  view "balanceOf" address nat
1287
        { UNPAIR ; SWAP ; GET 11 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ;
1288
  view "allowance" (pair address address) nat
1289
        { UNPAIR ; UNPAIR ; DIG 2 ; GET 13 ; DUG 2 ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} } ;
1290
  view "getFrozenTokens" address nat
1291
        { UNPAIR ; SWAP ; GET 17 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ;
1292
  view "isFrozen" address bool
1293
        { UNPAIR ; SWAP ; GET 19 ; SWAP ; GET ; IF_NONE { PUSH bool False } {} } ;
1294
  view "totalSupply" unit nat { GET 17 } ;
1295
  view "name" unit string { GET 25 } ;
1296
  view "symbol" unit string { GET 27 } ;
1297
  view "decimals" unit nat { GET 29 } ;
1298
  view "paused" unit bool { GET 23 } ;
1299
  view "onchainID" unit address { GET 32 } ;
1300
  view "version" unit string { GET 31 } }