BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Tezosx
  • /
  • KT1FPq9...AhAi
operations (9)Storage Code Interact Tokens Fork Views Details
Latest
​x
363
 
1
{ parameter (or (pair %addAgent (address %caller_alias) (address %agent_alias))
2
                (or (pair %removeAgent (address %caller_alias) (address %agent_alias))
3
                    (or
4
                      (pair %registerInvestor (address %caller_alias)
5
                                              (pair (address %investor_alias)
6
                                                    (pair (nat %country)
7
                                                          (address %identity_kt1))))
8
                      (or
9
                        (pair %updateIdentity (address %caller_alias)
10
                                              (pair (address %investor_alias)
11
                                                    (address %new_identity_kt1)))
12
                        (or
13
                          (pair %updateCountry (address %caller_alias)
14
                                               (pair (address %investor_alias)
15
                                                     (nat %new_country)))
16
                          (or
17
                            (pair %deleteIdentity (address %caller_alias)
18
                                                  (address %investor_alias))
19
                            (or
20
                              (pair %setIRS (address %caller_alias) (address %new_irs))
21
                              (or
22
                                (pair %setCTR (address %caller_alias) (address %new_ctr))
23
                                (or
24
                                  (pair %setTIR (address %caller_alias)
25
                                                (address %new_tir))
26
                                  (or
27
                                    (pair %setFactory (address %caller_alias)
28
                                                      (address %new_factory))
29
                                    (or
30
                                      (pair %setOwner (address %caller_alias)
31
                                                      (address %new_owner))
32
                                      (address %setAdmin)))))))))))) ;
33
  storage (pair (address %irs)
34
                (pair (address %ctr)
35
                      (pair (address %tir)
36
                            (pair (address %factory)
37
                                  (pair (big_map %agents address unit)
38
                                        (pair (address %admin) (address %owner))))))) ;
39
  code { UNPAIR ;
40
         IF_LEFT
41
           { DUP 2 ;
42
             GET 11 ;
43
             SENDER ;
44
             COMPARE ;
45
             NEQ ;
46
             IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
47
             DUP 2 ;
48
             GET 12 ;
49
             DUP 2 ;
50
             CAR ;
51
             COMPARE ;
52
             NEQ ;
53
             IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
54
             SWAP ;
55
             DUP ;
56
             GET 9 ;
57
             UNIT ;
58
             SOME ;
59
             DIG 3 ;
60
             CDR ;
61
             UPDATE ;
62
             UPDATE 9 ;
63
             NIL operation }
64
           { IF_LEFT
65
               { DUP 2 ;
66
                 GET 11 ;
67
                 SENDER ;
68
                 COMPARE ;
69
                 NEQ ;
70
                 IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
71
                 DUP 2 ;
72
                 GET 12 ;
73
                 DUP 2 ;
74
                 CAR ;
75
                 COMPARE ;
76
                 NEQ ;
77
                 IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
78
                 DUP 2 ;
79
                 GET 9 ;
80
                 DUP 2 ;
81
                 CDR ;
82
                 MEM ;
83
                 IF {} { PUSH string "AGENT_NOT_FOUND" ; FAILWITH } ;
84
                 SWAP ;
85
                 DUP ;
86
                 GET 9 ;
87
                 NONE unit ;
88
                 DIG 3 ;
89
                 CDR ;
90
                 UPDATE ;
91
                 UPDATE 9 ;
92
                 NIL operation }
93
               { IF_LEFT
94
                   { DUP 2 ;
95
                     GET 11 ;
96
                     SENDER ;
97
                     COMPARE ;
98
                     NEQ ;
99
                     IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
100
                     DUP 2 ;
101
                     GET 9 ;
102
                     DUP 2 ;
103
                     CAR ;
104
                     MEM ;
105
                     IF {} { PUSH string "NOT_AGENT" ; FAILWITH } ;
106
                     DUP 2 ;
107
                     CAR ;
108
                     CONTRACT %registerInvestor (pair (address %caller_alias)
109
                                                      (pair (address %investor)
110
                                                            (pair
111
                                                              (address %identity_kt1)
112
                                                              (nat %country)))) ;
113
                     IF_NONE { PUSH string "IRS_ENTRYPOINT_NOT_FOUND" ; FAILWITH } {} ;
114
                     DUP 2 ;
115
                     GET 5 ;
116
                     DUP 3 ;
117
                     GET 6 ;
118
                     DIG 3 ;
119
                     GET 3 ;
120
                     SELF_ADDRESS ;
121
                     PAIR 4 ;
122
                     SWAP ;
123
                     PUSH mutez 0 ;
124
                     DIG 2 ;
125
                     TRANSFER_TOKENS ;
126
                     SWAP ;
127
                     NIL operation ;
128
                     DIG 2 ;
129
                     CONS }
130
                   { IF_LEFT
131
                       { DUP 2 ;
132
                         GET 11 ;
133
                         SENDER ;
134
                         COMPARE ;
135
                         NEQ ;
136
                         IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
137
                         DUP 2 ;
138
                         GET 9 ;
139
                         DUP 2 ;
140
                         CAR ;
141
                         MEM ;
142
                         IF {} { PUSH string "NOT_AGENT" ; FAILWITH } ;
143
                         DUP 2 ;
144
                         CAR ;
145
                         CONTRACT %updateIdentity (pair (address %caller_alias)
146
                                                        (pair (address %investor)
147
                                                              (address %new_identity_kt1))) ;
148
                         IF_NONE
149
                           { PUSH string "IRS_ENTRYPOINT_NOT_FOUND" ; FAILWITH }
150
                           {} ;
151
                         DUP 2 ;
152
                         GET 4 ;
153
                         DIG 2 ;
154
                         GET 3 ;
155
                         SELF_ADDRESS ;
156
                         PAIR 3 ;
157
                         SWAP ;
158
                         PUSH mutez 0 ;
159
                         DIG 2 ;
160
                         TRANSFER_TOKENS ;
161
                         SWAP ;
162
                         NIL operation ;
163
                         DIG 2 ;
164
                         CONS }
165
                       { IF_LEFT
166
                           { DUP 2 ;
167
                             GET 11 ;
168
                             SENDER ;
169
                             COMPARE ;
170
                             NEQ ;
171
                             IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
172
                             DUP 2 ;
173
                             GET 9 ;
174
                             DUP 2 ;
175
                             CAR ;
176
                             MEM ;
177
                             IF {} { PUSH string "NOT_AGENT" ; FAILWITH } ;
178
                             DUP 2 ;
179
                             CAR ;
180
                             CONTRACT %updateCountry (pair (address %caller_alias)
181
                                                           (pair (address %investor)
182
                                                                 (nat %new_country))) ;
183
                             IF_NONE
184
                               { PUSH string "IRS_ENTRYPOINT_NOT_FOUND" ; FAILWITH }
185
                               {} ;
186
                             DUP 2 ;
187
                             GET 4 ;
188
                             DIG 2 ;
189
                             GET 3 ;
190
                             SELF_ADDRESS ;
191
                             PAIR 3 ;
192
                             SWAP ;
193
                             PUSH mutez 0 ;
194
                             DIG 2 ;
195
                             TRANSFER_TOKENS ;
196
                             SWAP ;
197
                             NIL operation ;
198
                             DIG 2 ;
199
                             CONS }
200
                           { IF_LEFT
201
                               { DUP 2 ;
202
                                 GET 11 ;
203
                                 SENDER ;
204
                                 COMPARE ;
205
                                 NEQ ;
206
                                 IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
207
                                 DUP 2 ;
208
                                 GET 9 ;
209
                                 DUP 2 ;
210
                                 CAR ;
211
                                 MEM ;
212
                                 IF {} { PUSH string "NOT_AGENT" ; FAILWITH } ;
213
                                 DUP 2 ;
214
                                 CAR ;
215
                                 CONTRACT %removeIdentity (pair (address %caller_alias)
216
                                                                (address %investor)) ;
217
                                 IF_NONE
218
                                   { PUSH string "IRS_ENTRYPOINT_NOT_FOUND" ; FAILWITH }
219
                                   {} ;
220
                                 SWAP ;
221
                                 CDR ;
222
                                 SELF_ADDRESS ;
223
                                 PAIR ;
224
                                 SWAP ;
225
                                 PUSH mutez 0 ;
226
                                 DIG 2 ;
227
                                 TRANSFER_TOKENS ;
228
                                 SWAP ;
229
                                 NIL operation ;
230
                                 DIG 2 ;
231
                                 CONS }
232
                               { IF_LEFT
233
                                   { DUP 2 ;
234
                                     GET 11 ;
235
                                     SENDER ;
236
                                     COMPARE ;
237
                                     NEQ ;
238
                                     IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
239
                                     DUP 2 ;
240
                                     GET 12 ;
241
                                     DUP 2 ;
242
                                     CAR ;
243
                                     COMPARE ;
244
                                     NEQ ;
245
                                     IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
246
                                     CDR ;
247
                                     UPDATE 1 }
248
                                   { IF_LEFT
249
                                       { DUP 2 ;
250
                                         GET 11 ;
251
                                         SENDER ;
252
                                         COMPARE ;
253
                                         NEQ ;
254
                                         IF { PUSH string "NOT_ADMIN" ; FAILWITH } {} ;
255
                                         DUP 2 ;
256
                                         GET 12 ;
257
                                         DUP 2 ;
258
                                         CAR ;
259
                                         COMPARE ;
260
                                         NEQ ;
261
                                         IF { PUSH string "NOT_OWNER" ; FAILWITH } {} ;
262
                                         CDR ;
263
                                         UPDATE 3 }
264
                                       { IF_LEFT
265
                                           { DUP 2 ;
266
                                             GET 11 ;
267
                                             SENDER ;
268
                                             COMPARE ;
269
                                             NEQ ;
270
                                             IF
271
                                               { PUSH string "NOT_ADMIN" ; FAILWITH }
272
                                               {} ;
273
                                             DUP 2 ;
274
                                             GET 12 ;
275
                                             DUP 2 ;
276
                                             CAR ;
277
                                             COMPARE ;
278
                                             NEQ ;
279
                                             IF
280
                                               { PUSH string "NOT_OWNER" ; FAILWITH }
281
                                               {} ;
282
                                             CDR ;
283
                                             UPDATE 5 }
284
                                           { IF_LEFT
285
                                               { DUP 2 ;
286
                                                 GET 11 ;
287
                                                 SENDER ;
288
                                                 COMPARE ;
289
                                                 NEQ ;
290
                                                 IF
291
                                                   { PUSH string "NOT_ADMIN" ; FAILWITH }
292
                                                   {} ;
293
                                                 DUP 2 ;
294
                                                 GET 12 ;
295
                                                 DUP 2 ;
296
                                                 CAR ;
297
                                                 COMPARE ;
298
                                                 NEQ ;
299
                                                 IF
300
                                                   { PUSH string "NOT_OWNER" ; FAILWITH }
301
                                                   {} ;
302
                                                 CDR ;
303
                                                 UPDATE 7 }
304
                                               { IF_LEFT
305
                                                   { DUP 2 ;
306
                                                     GET 11 ;
307
                                                     SENDER ;
308
                                                     COMPARE ;
309
                                                     NEQ ;
310
                                                     IF
311
                                                       { PUSH string "NOT_ADMIN" ;
312
                                                         FAILWITH }
313
                                                       {} ;
314
                                                     DUP 2 ;
315
                                                     GET 12 ;
316
                                                     DUP 2 ;
317
                                                     CAR ;
318
                                                     COMPARE ;
319
                                                     NEQ ;
320
                                                     IF
321
                                                       { PUSH string "NOT_OWNER" ;
322
                                                         FAILWITH }
323
                                                       {} ;
324
                                                     CDR ;
325
                                                     UPDATE 12 }
326
                                                   { DUP 2 ;
327
                                                     GET 11 ;
328
                                                     SENDER ;
329
                                                     COMPARE ;
330
                                                     NEQ ;
331
                                                     IF
332
                                                       { PUSH string "NOT_ADMIN" ;
333
                                                         FAILWITH }
334
                                                       {} ;
335
                                                     UPDATE 11 } } } } } ;
336
                                 NIL operation } } } } } } ;
337
         PAIR } ;
338
  view "isVerified" address bool
339
        { UNPAIR ;
340
          SWAP ;
341
          CAR ;
342
          SWAP ;
343
          VIEW "isStored" bool ;
344
          IF_NONE { PUSH string "IRS_VIEW_FAILED" ; FAILWITH } {} } ;
345
  view "identityOf" address address
346
        { UNPAIR ;
347
          SWAP ;
348
          CAR ;
349
          SWAP ;
350
          VIEW "identityOf" address ;
351
          IF_NONE { PUSH string "NOT_REGISTERED" ; FAILWITH } {} } ;
352
  view "countryOf" address nat
353
        { UNPAIR ;
354
          SWAP ;
355
          CAR ;
356
          SWAP ;
357
          VIEW "countryOf" nat ;
358
          IF_NONE { PUSH string "NOT_REGISTERED" ; FAILWITH } {} } ;
359
  view "isAgent" address bool { UNPAIR ; SWAP ; GET 9 ; SWAP ; MEM } ;
360
  view "getIRS" unit address { GET 3 } ;
361
  view "getCTR" unit address { GET 5 } ;
362
  view "getTIR" unit address { GET 7 } ;
363
  view "getFactory" unit address { GET 9 } }