BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • KT1EPdi...Lx3z
operations (2)Storage Code Interact Tokens Fork Views Statistics Details
Latest
​x
128
 
1
{ parameter (or (or (address %propose_administrator) (address %remove_administrator))
2
                (or (unit %set_administrator)
3
                    (pair %set_slippage (nat %slippage_numerator)
4
                                        (nat %slippage_denominator)))) ;
5
  storage (pair (big_map %administrators address int)
6
                (pair (nat %slippage_denominator) (nat %slippage_numerator))) ;
7
  code { LAMBDA
8
           (pair unit (pair (big_map address int) (pair nat nat)))
9
           (pair unit (pair (big_map address int) (pair nat nat)))
10
           { CDR ;
11
             DUP ;
12
             CAR ;
13
             PUSH int 1 ;
14
             SWAP ;
15
             SENDER ;
16
             GET ;
17
             IF_NONE { PUSH int 21 ; FAILWITH } {} ;
18
             COMPARE ;
19
             EQ ;
20
             IF {} { PUSH int 401 ; FAILWITH } ;
21
             UNIT ;
22
             PAIR } ;
23
         SWAP ;
24
         UNPAIR ;
25
         IF_LEFT
26
           { IF_LEFT
27
               { AMOUNT ;
28
                 PUSH mutez 0 ;
29
                 COMPARE ;
30
                 EQ ;
31
                 IF {} { AMOUNT ; FAILWITH } ;
32
                 DIG 2 ;
33
                 UNIT ;
34
                 SWAP ;
35
                 DIG 3 ;
36
                 DIG 2 ;
37
                 PAIR ;
38
                 EXEC ;
39
                 CDR ;
40
                 DUP ;
41
                 CAR ;
42
                 PUSH (option int) (Some 0) ;
43
                 DIG 3 ;
44
                 UPDATE ;
45
                 UPDATE 1 }
46
               { AMOUNT ;
47
                 PUSH mutez 0 ;
48
                 COMPARE ;
49
                 EQ ;
50
                 IF {} { AMOUNT ; FAILWITH } ;
51
                 DIG 2 ;
52
                 UNIT ;
53
                 SWAP ;
54
                 DIG 3 ;
55
                 DIG 2 ;
56
                 PAIR ;
57
                 EXEC ;
58
                 CDR ;
59
                 DUP ;
60
                 CAR ;
61
                 NONE int ;
62
                 DIG 3 ;
63
                 UPDATE ;
64
                 UPDATE 1 } }
65
           { IF_LEFT
66
               { DROP ;
67
                 SWAP ;
68
                 DROP ;
69
                 AMOUNT ;
70
                 PUSH mutez 0 ;
71
                 COMPARE ;
72
                 EQ ;
73
                 IF {} { AMOUNT ; FAILWITH } ;
74
                 DUP ;
75
                 CAR ;
76
                 PUSH int 0 ;
77
                 SWAP ;
78
                 SENDER ;
79
                 GET ;
80
                 IF_NONE { PUSH int 46 ; FAILWITH } {} ;
81
                 COMPARE ;
82
                 EQ ;
83
                 IF {} { PUSH int 405 ; FAILWITH } ;
84
                 DUP ;
85
                 CAR ;
86
                 PUSH (option int) (Some 1) ;
87
                 SENDER ;
88
                 UPDATE ;
89
                 UPDATE 1 }
90
               { AMOUNT ;
91
                 PUSH mutez 0 ;
92
                 COMPARE ;
93
                 EQ ;
94
                 IF {} { AMOUNT ; FAILWITH } ;
95
                 DIG 2 ;
96
                 UNIT ;
97
                 SWAP ;
98
                 DIG 3 ;
99
                 DIG 2 ;
100
                 PAIR ;
101
                 EXEC ;
102
                 CDR ;
103
                 SWAP ;
104
                 DUP ;
105
                 DUG 2 ;
106
                 CAR ;
107
                 UPDATE 4 ;
108
                 SWAP ;
109
                 CDR ;
110
                 UPDATE 3 } } ;
111
         NIL operation ;
112
         PAIR } ;
113
  view "get_min_out" nat nat
114
        { UNPAIR ;
115
          SWAP ;
116
          DUP ;
117
          DUG 2 ;
118
          GET 3 ;
119
          PUSH nat 1000000000000 ;
120
          MUL ;
121
          DIG 2 ;
122
          GET 4 ;
123
          PUSH nat 1000000 ;
124
          DIG 3 ;
125
          MUL ;
126
          MUL ;
127
          EDIV ;
128
          IF_NONE { PUSH int 228 ; FAILWITH } { CAR } } }