BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Flashbake Registry
operations (25)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
112
 
1
parameter (or (or (string %register) (address %setAdministrator))
2
              (or (mutez %setBondAmount) (unit %unregister)));
3
storage (pair (pair (address %administratorAddress) (mutez %bondAmount))
4
              (pair (big_map %metadata string bytes)
5
                    (big_map %registry address
6
                                       (pair (string %endpointUrl) (mutez %bondAmount)))));
7
code { UNPAIR ;
8
       IF_LEFT
9
         { IF_LEFT
10
             { SWAP ;
11
               DUP ;
12
               DUG 2 ;
13
               CAR ;
14
               CDR ;
15
               AMOUNT ;
16
               COMPARE ;
17
               EQ ;
18
               IF {} { PUSH string "BAD_BOND_AMOUNT" ; FAILWITH } ;
19
               SWAP ;
20
               DUP ;
21
               DUG 2 ;
22
               GET 4 ;
23
               SENDER ;
24
               MEM ;
25
               IF { PUSH string "BAD_PARAM" ; FAILWITH } {} ;
26
               SWAP ;
27
               DUP ;
28
               GET 4 ;
29
               AMOUNT ;
30
               DIG 3 ;
31
               PAIR ;
32
               SOME ;
33
               SENDER ;
34
               UPDATE ;
35
               UPDATE 4 }
36
             { SWAP ;
37
               DUP ;
38
               DUG 2 ;
39
               CAR ;
40
               CAR ;
41
               SENDER ;
42
               COMPARE ;
43
               EQ ;
44
               IF {} { PUSH string "BAD_SENDER" ; FAILWITH } ;
45
               PUSH mutez 0 ;
46
               AMOUNT ;
47
               COMPARE ;
48
               EQ ;
49
               IF {} { PUSH string "AMOUNT_NOT_ALLOWED" ; FAILWITH } ;
50
               SWAP ;
51
               UNPAIR ;
52
               CDR ;
53
               DIG 2 ;
54
               PAIR ;
55
               PAIR } ;
56
           NIL operation }
57
         { IF_LEFT
58
             { SWAP ;
59
               DUP ;
60
               DUG 2 ;
61
               CAR ;
62
               CAR ;
63
               SENDER ;
64
               COMPARE ;
65
               EQ ;
66
               IF {} { PUSH string "BAD_SENDER" ; FAILWITH } ;
67
               PUSH mutez 0 ;
68
               AMOUNT ;
69
               COMPARE ;
70
               EQ ;
71
               IF {} { PUSH string "AMOUNT_NOT_ALLOWED" ; FAILWITH } ;
72
               SWAP ;
73
               UNPAIR ;
74
               CAR ;
75
               DIG 2 ;
76
               SWAP ;
77
               PAIR ;
78
               PAIR ;
79
               NIL operation }
80
             { DROP ;
81
               PUSH mutez 0 ;
82
               AMOUNT ;
83
               COMPARE ;
84
               EQ ;
85
               IF {} { PUSH string "AMOUNT_NOT_ALLOWED" ; FAILWITH } ;
86
               DUP ;
87
               GET 4 ;
88
               SENDER ;
89
               MEM ;
90
               IF {} { PUSH string "BAD_PARAM" ; FAILWITH } ;
91
               NIL operation ;
92
               SENDER ;
93
               CONTRACT unit ;
94
               IF_NONE { PUSH int 140 ; FAILWITH } {} ;
95
               DUP 3 ;
96
               GET 4 ;
97
               SENDER ;
98
               GET ;
99
               IF_NONE { PUSH int 140 ; FAILWITH } {} ;
100
               CDR ;
101
               UNIT ;
102
               TRANSFER_TOKENS ;
103
               CONS ;
104
               SWAP ;
105
               DUP ;
106
               GET 4 ;
107
               NONE (pair string mutez) ;
108
               SENDER ;
109
               UPDATE ;
110
               UPDATE 4 ;
111
               SWAP } } ;
112
       PAIR }