BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • KT1CHQJ...mJ5s
operations (141K)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
297
 
1
parameter (or
2
            (or (or (address %declare_ownership) (unit %claim_ownership))
3
                (or (unit %pause) (unit %unpause)))
4
            (or (or (address %add_oracle) (address %remove_oracle))
5
                (or (pair %owner_withdraw (nat %dest_amount) (address %dest_addr))
6
                    (pair %withdraw (nat %dest_amount) (address %dest_addr)))));
7
storage (pair (address %owner) (address %spoint_address)
8
              (option %owner_candidate address)
9
              (bool %paused)
10
              (big_map %oracles address unit));
11
code { LAMBDA
12
         bool
13
         bool
14
         { PUSH unit Unit ;
15
           DUP 2 ;
16
           IF { PUSH string "CONTRACT_PAUSED" ; FAILWITH } {} ;
17
           PUSH bool True ;
18
           SWAP ;
19
           DROP 1 ;
20
           SWAP ;
21
           DROP 1 } ;
22
       NIL operation ;
23
       DIG 2 ;
24
       UNPAIR ;
25
       DIP 1 { UNPAIR 5 } ;
26
       IF_LEFT
27
         { IF_LEFT
28
             { IF_LEFT
29
                 { DUP 2 ;
30
                   SENDER ;
31
                   COMPARE ;
32
                   EQ ;
33
                   NOT ;
34
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
35
                   PUSH mutez 0 ;
36
                   AMOUNT ;
37
                   COMPARE ;
38
                   EQ ;
39
                   NOT ;
40
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
41
                   DUP ;
42
                   SOME ;
43
                   DIP 1 { DIG 3 ; DROP 1 } ;
44
                   DUG 3 ;
45
                   DROP 1 ;
46
                   PAIR 5 ;
47
                   SWAP ;
48
                   PAIR }
49
                 { DROP 1 ;
50
                   PUSH mutez 0 ;
51
                   AMOUNT ;
52
                   COMPARE ;
53
                   EQ ;
54
                   NOT ;
55
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
56
                   DUP 3 ;
57
                   IF_NONE
58
                     { PUSH bool False }
59
                     { SENDER ; DUP 2 ; COMPARE ; EQ ; SWAP ; DROP 1 } ;
60
                   NOT ;
61
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
62
                   SENDER ;
63
                   SWAP ;
64
                   DROP 1 ;
65
                   NONE address ;
66
                   DIP 1 { DIG 2 ; DROP 1 } ;
67
                   DUG 2 ;
68
                   PAIR 5 ;
69
                   SWAP ;
70
                   PAIR } }
71
             { IF_LEFT
72
                 { DROP 1 ;
73
                   DUP ;
74
                   SENDER ;
75
                   COMPARE ;
76
                   EQ ;
77
                   NOT ;
78
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
79
                   PUSH mutez 0 ;
80
                   AMOUNT ;
81
                   COMPARE ;
82
                   EQ ;
83
                   NOT ;
84
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
85
                   DUP 7 ;
86
                   DUP 5 ;
87
                   EXEC ;
88
                   NOT ;
89
                   IF
90
                     { PUSH string "pausable_r1" ;
91
                       PUSH string "INVALID_CONDITION" ;
92
                       PAIR ;
93
                       FAILWITH }
94
                     {} ;
95
                   PUSH bool True ;
96
                   DIP 1 { DIG 3 ; DROP 1 } ;
97
                   DUG 3 ;
98
                   PAIR 5 ;
99
                   SWAP ;
100
                   PAIR }
101
                 { DROP 1 ;
102
                   DUP ;
103
                   SENDER ;
104
                   COMPARE ;
105
                   EQ ;
106
                   NOT ;
107
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
108
                   PUSH mutez 0 ;
109
                   AMOUNT ;
110
                   COMPARE ;
111
                   EQ ;
112
                   NOT ;
113
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
114
                   DUP 4 ;
115
                   NOT ;
116
                   IF { PUSH string "CONTRACT_NOT_PAUSED" ; FAILWITH } {} ;
117
                   PUSH bool False ;
118
                   DIP 1 { DIG 3 ; DROP 1 } ;
119
                   DUG 3 ;
120
                   PAIR 5 ;
121
                   SWAP ;
122
                   PAIR } } }
123
         { IF_LEFT
124
             { IF_LEFT
125
                 { DUP 2 ;
126
                   SENDER ;
127
                   COMPARE ;
128
                   EQ ;
129
                   NOT ;
130
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
131
                   PUSH mutez 0 ;
132
                   AMOUNT ;
133
                   COMPARE ;
134
                   EQ ;
135
                   NOT ;
136
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
137
                   DUP 6 ;
138
                   DUP 2 ;
139
                   MEM ;
140
                   IF
141
                     { PUSH string "oracles" ; PUSH string "KEY_EXISTS" ; PAIR ; FAILWITH }
142
                     { DUP 6 ;
143
                       PUSH unit Unit ;
144
                       SOME ;
145
                       DUP 3 ;
146
                       UPDATE ;
147
                       DIP 1 { DIG 5 ; DROP 1 } ;
148
                       DUG 5 } ;
149
                   DROP 1 ;
150
                   PAIR 5 ;
151
                   SWAP ;
152
                   PAIR }
153
                 { DUP 2 ;
154
                   SENDER ;
155
                   COMPARE ;
156
                   EQ ;
157
                   NOT ;
158
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
159
                   PUSH mutez 0 ;
160
                   AMOUNT ;
161
                   COMPARE ;
162
                   EQ ;
163
                   NOT ;
164
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
165
                   DUP 6 ;
166
                   NONE unit ;
167
                   DUP 3 ;
168
                   UPDATE ;
169
                   DIP 1 { DIG 5 ; DROP 1 } ;
170
                   DUG 5 ;
171
                   DROP 1 ;
172
                   PAIR 5 ;
173
                   SWAP ;
174
                   PAIR } }
175
             { IF_LEFT
176
                 { UNPAIR ;
177
                   SWAP ;
178
                   DUP 3 ;
179
                   SENDER ;
180
                   COMPARE ;
181
                   EQ ;
182
                   NOT ;
183
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
184
                   PUSH mutez 0 ;
185
                   AMOUNT ;
186
                   COMPARE ;
187
                   EQ ;
188
                   NOT ;
189
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
190
                   NIL operation ;
191
                   NIL operation ;
192
                   DUP 10 ;
193
                   ITER { CONS } ;
194
                   DUP 6 ;
195
                   CONTRACT %transfer (list (pair address
196
                                                 (list (pair address (pair nat nat))))) ;
197
                   IF_NONE
198
                     { PUSH string "transfer" ;
199
                       PUSH string "ENTRY_NOT_FOUND" ;
200
                       PAIR ;
201
                       FAILWITH }
202
                     {} ;
203
                   PUSH mutez 0 ;
204
                   NIL (pair address
205
                             (list (pair (address %to)
206
                                        (pair (nat %token_id) (nat %amount))))) ;
207
                   NIL (pair (address %to) (pair (nat %token_id) (nat %amount))) ;
208
                   DUP 8 ;
209
                   PUSH nat 0 ;
210
                   PAIR ;
211
                   DUP 8 ;
212
                   PAIR ;
213
                   CONS ;
214
                   SELF_ADDRESS ;
215
                   PAIR ;
216
                   CONS ;
217
                   TRANSFER_TOKENS ;
218
                   CONS ;
219
                   ITER { CONS } ;
220
                   DIP 1 { DIG 7 ; DROP 1 } ;
221
                   DUG 7 ;
222
                   DROP 2 ;
223
                   PAIR 5 ;
224
                   SWAP ;
225
                   PAIR }
226
                 { UNPAIR ;
227
                   SWAP ;
228
                   DUP 7 ;
229
                   SENDER ;
230
                   MEM ;
231
                   NOT ;
232
                   IF { PUSH string "INVALID_CALLER" ; FAILWITH } {} ;
233
                   PUSH mutez 0 ;
234
                   AMOUNT ;
235
                   COMPARE ;
236
                   EQ ;
237
                   NOT ;
238
                   IF { PUSH string "NO_TRANSFER" ; FAILWITH } {} ;
239
                   DUP 9 ;
240
                   DUP 7 ;
241
                   EXEC ;
242
                   NOT ;
243
                   IF
244
                     { PUSH string "w_r1" ; PUSH string "INVALID_CONDITION" ; PAIR ; FAILWITH }
245
                     {} ;
246
                   NIL operation ;
247
                   NIL operation ;
248
                   DUP 10 ;
249
                   ITER { CONS } ;
250
                   DUP 6 ;
251
                   CONTRACT %transfer (list (pair address
252
                                                 (list (pair address (pair nat nat))))) ;
253
                   IF_NONE
254
                     { PUSH string "transfer" ;
255
                       PUSH string "ENTRY_NOT_FOUND" ;
256
                       PAIR ;
257
                       FAILWITH }
258
                     {} ;
259
                   PUSH mutez 0 ;
260
                   NIL (pair address
261
                             (list (pair (address %to)
262
                                        (pair (nat %token_id) (nat %amount))))) ;
263
                   NIL (pair (address %to) (pair (nat %token_id) (nat %amount))) ;
264
                   DUP 8 ;
265
                   PUSH nat 0 ;
266
                   PAIR ;
267
                   DUP 8 ;
268
                   PAIR ;
269
                   CONS ;
270
                   SELF_ADDRESS ;
271
                   PAIR ;
272
                   CONS ;
273
                   TRANSFER_TOKENS ;
274
                   CONS ;
275
                   ITER { CONS } ;
276
                   DIP 1 { DIG 7 ; DROP 1 } ;
277
                   DUG 7 ;
278
                   NIL operation ;
279
                   NIL operation ;
280
                   DUP 10 ;
281
                   ITER { CONS } ;
282
                   SENDER ;
283
                   DUP 5 ;
284
                   PAIR ;
285
                   DUP 4 ;
286
                   PAIR ;
287
                   EMIT %Withdraw (pair (address %dest) (nat %amount)
288
                                        (address %oracleAddr)) ;
289
                   CONS ;
290
                   ITER { CONS } ;
291
                   DIP 1 { DIG 7 ; DROP 1 } ;
292
                   DUG 7 ;
293
                   DROP 2 ;
294
                   PAIR 5 ;
295
                   SWAP ;
296
                   PAIR } } } ;
297
       DIP 1 { DROP 1 } }