BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Bakers Registry
operations (95)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
114
 
1
parameter (or
2
            (pair %set_data (key_hash %delegate)
3
                            (pair
4
                              (option %data (pair
5
                                             (pair
6
                                               (pair (bytes %bakerName)
7
                                                     (bool %openForDelegation))
8
                                               (bytes %bakerOffchainRegistryUrl))
9
                                             (pair
10
                                               (pair (nat %split)
11
                                                     (list %bakerPaysFromAccounts address))
12
                                               (pair
13
                                                 (pair
14
                                                   (pair (nat %minDelegation)
15
                                                         (bool %subtractPayoutsLessThanMin))
16
                                                   (pair (int %payoutDelay)
17
                                                         (pair (nat %payoutFrequency)
18
                                                               (int %minPayout))))
19
                                                 (pair
20
                                                   (pair
21
                                                     (bool %bakerChargesTransactionFee)
22
                                                     (nat %paymentConfigMask))
23
                                                   (pair (nat %overDelegationThreshold)
24
                                                         (bool %subtractRewardsFromUninvitedDelegation)))))))
25
                              (option %reporterAccount address)))
26
            (or (pair %set_fees (mutez %signup_fee) (mutez %update_fee))
27
                (contract %withdraw unit)));
28
storage (pair
29
          (big_map key_hash
30
                   (pair
31
                     (pair
32
                       (option %data (pair
33
                                      (pair
34
                                        (pair (bytes %bakerName)
35
                                              (bool %openForDelegation))
36
                                        (bytes %bakerOffchainRegistryUrl))
37
                                      (pair
38
                                        (pair (nat %split)
39
                                              (list %bakerPaysFromAccounts address))
40
                                        (pair
41
                                          (pair
42
                                            (pair (nat %minDelegation)
43
                                                  (bool %subtractPayoutsLessThanMin))
44
                                            (pair (int %payoutDelay)
45
                                                  (pair (nat %payoutFrequency)
46
                                                        (int %minPayout))))
47
                                          (pair
48
                                            (pair (bool %bakerChargesTransactionFee)
49
                                                  (nat %paymentConfigMask))
50
                                            (pair (nat %overDelegationThreshold)
51
                                                  (bool %subtractRewardsFromUninvitedDelegation)))))))
52
                       (option %reporterAccount address))
53
                     (timestamp %last_update)))
54
          (pair (address %owner) (pair (mutez %signup_fee) (mutez %update_fee))));
55
code { { { DUP ; CAR ; DIP { CDR } } } ;
56
       IF_LEFT
57
         { DUP ;
58
           CDR ;
59
           CAR ;
60
           { IF_NONE
61
               {}
62
               { CAR ;
63
                 DUP ;
64
                 CAR ;
65
                 CAR ;
66
                 SIZE ;
67
                 PUSH nat 61 ;
68
                 { { COMPARE ; GT } ; IF {} { { UNIT ; FAILWITH } } } ;
69
                 CDR ;
70
                 SIZE ;
71
                 PUSH nat 81 ;
72
                 { { COMPARE ; GT } ; IF {} { { UNIT ; FAILWITH } } } } } ;
73
           { { DUP ; CAR ; DIP { CDR } } } ;
74
           { DIP 2 { DUP } ; DIG 3 } ;
75
           CAR ;
76
           { DIP { DUP } ; SWAP } ;
77
           GET @from_storage ;
78
           IF_NONE
79
             { DUP ;
80
               IMPLICIT_ACCOUNT ;
81
               ADDRESS ;
82
               SENDER ;
83
               { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ;
84
               { DIP 2 { DUP } ; DIG 3 } ;
85
               { CDR ; CDR ; CAR %signup_fee } ;
86
               AMOUNT ;
87
               { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } }
88
             { { CAR ; CDR %reporterAccount } ;
89
               IF_NONE { PUSH bool False } { SENDER ; COMPARE ; EQ } ;
90
               DIP { DUP ; IMPLICIT_ACCOUNT ; ADDRESS ; SENDER ; COMPARE ; EQ } ;
91
               OR ;
92
               { IF {} { { UNIT ; FAILWITH } } } ;
93
               { DIP 2 { DUP } ; DIG 3 } ;
94
               { CDR ; CDR ; CDR %update_fee } ;
95
               AMOUNT ;
96
               { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } } ;
97
           DIP { NOW ; SWAP ; PAIR ; SOME ; DIP { { { DUP ; CAR ; DIP { CDR } } } } } ;
98
           UPDATE ;
99
           PAIR ;
100
           NIL operation ;
101
           PAIR }
102
         { { DIP { DUP } ; SWAP } ;
103
           { CDR ; CAR %owner } ;
104
           SENDER ;
105
           { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ;
106
           AMOUNT ;
107
           PUSH mutez 0 ;
108
           { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ;
109
           IF_LEFT
110
             { SWAP ;
111
               { DUP ; DIP { CDR @%% ; { CAR @%% ; PAIR %@ % } } ; CAR @%% ; PAIR %@ %@ } ;
112
               NIL operation ;
113
               PAIR }
114
             { BALANCE ; UNIT ; TRANSFER_TOKENS ; NIL operation ; SWAP ; CONS ; PAIR } } }