@@ -24,7 +24,24 @@ import (
24
24
)
25
25
26
26
type AlonzoProtocolParameters struct {
27
- mary.MaryProtocolParameters
27
+ cbor.StructAsArray
28
+ MinFeeA uint
29
+ MinFeeB uint
30
+ MaxBlockBodySize uint
31
+ MaxTxSize uint
32
+ MaxBlockHeaderSize uint
33
+ KeyDeposit uint
34
+ PoolDeposit uint
35
+ MaxEpoch uint
36
+ NOpt uint
37
+ A0 * cbor.Rat
38
+ Rho * cbor.Rat
39
+ Tau * cbor.Rat
40
+ Decentralization * cbor.Rat
41
+ ExtraEntropy common.Nonce
42
+ ProtocolMajor uint
43
+ ProtocolMinor uint
44
+ MinUtxoValue uint
28
45
MinPoolCost uint64
29
46
AdaPerUtxoByte uint64
30
47
CostModels map [uint ][]int64
@@ -39,9 +56,55 @@ type AlonzoProtocolParameters struct {
39
56
func (p * AlonzoProtocolParameters ) Update (
40
57
paramUpdate * AlonzoProtocolParameterUpdate ,
41
58
) {
42
- p .MaryProtocolParameters .Update (
43
- & paramUpdate .MaryProtocolParameterUpdate ,
44
- )
59
+ if paramUpdate .MinFeeA != nil {
60
+ p .MinFeeA = * paramUpdate .MinFeeA
61
+ }
62
+ if paramUpdate .MinFeeB != nil {
63
+ p .MinFeeB = * paramUpdate .MinFeeB
64
+ }
65
+ if paramUpdate .MaxBlockBodySize != nil {
66
+ p .MaxBlockBodySize = * paramUpdate .MaxBlockBodySize
67
+ }
68
+ if paramUpdate .MaxTxSize != nil {
69
+ p .MaxTxSize = * paramUpdate .MaxTxSize
70
+ }
71
+ if paramUpdate .MaxBlockHeaderSize != nil {
72
+ p .MaxBlockHeaderSize = * paramUpdate .MaxBlockHeaderSize
73
+ }
74
+ if paramUpdate .KeyDeposit != nil {
75
+ p .KeyDeposit = * paramUpdate .KeyDeposit
76
+ }
77
+ if paramUpdate .PoolDeposit != nil {
78
+ p .PoolDeposit = * paramUpdate .PoolDeposit
79
+ }
80
+ if paramUpdate .MaxEpoch != nil {
81
+ p .MaxEpoch = * paramUpdate .MaxEpoch
82
+ }
83
+ if paramUpdate .NOpt != nil {
84
+ p .NOpt = * paramUpdate .NOpt
85
+ }
86
+ if paramUpdate .A0 != nil {
87
+ p .A0 = paramUpdate .A0
88
+ }
89
+ if paramUpdate .Rho != nil {
90
+ p .Rho = paramUpdate .Rho
91
+ }
92
+ if paramUpdate .Tau != nil {
93
+ p .Tau = paramUpdate .Tau
94
+ }
95
+ if paramUpdate .Decentralization != nil {
96
+ p .Decentralization = paramUpdate .Decentralization
97
+ }
98
+ if paramUpdate .ProtocolVersion != nil {
99
+ p .ProtocolMajor = paramUpdate .ProtocolVersion .Major
100
+ p .ProtocolMinor = paramUpdate .ProtocolVersion .Minor
101
+ }
102
+ if paramUpdate .ExtraEntropy != nil {
103
+ p .ExtraEntropy = * paramUpdate .ExtraEntropy
104
+ }
105
+ if paramUpdate .MinUtxoValue != nil {
106
+ p .MinUtxoValue = * paramUpdate .MinUtxoValue
107
+ }
45
108
if paramUpdate .MinPoolCost != nil {
46
109
p .MinPoolCost = * paramUpdate .MinPoolCost
47
110
}
@@ -100,20 +163,45 @@ func (p *AlonzoProtocolParameters) UpdateFromGenesis(genesis *AlonzoGenesis) {
100
163
}
101
164
102
165
type AlonzoProtocolParameterUpdate struct {
103
- mary.MaryProtocolParameterUpdate
104
- MinPoolCost * uint64 `cbor:"16,keyasint"`
105
- AdaPerUtxoByte * uint64 `cbor:"17,keyasint"`
106
- CostModels map [uint ][]int64 `cbor:"18,keyasint"`
107
- ExecutionCosts * common.ExUnitPrice `cbor:"19,keyasint"`
108
- MaxTxExUnits * common.ExUnits `cbor:"20,keyasint"`
109
- MaxBlockExUnits * common.ExUnits `cbor:"21,keyasint"`
110
- MaxValueSize * uint `cbor:"22,keyasint"`
111
- CollateralPercentage * uint `cbor:"23,keyasint"`
112
- MaxCollateralInputs * uint `cbor:"24,keyasint"`
166
+ cbor.DecodeStoreCbor
167
+ MinFeeA * uint `cbor:"0,keyasint"`
168
+ MinFeeB * uint `cbor:"1,keyasint"`
169
+ MaxBlockBodySize * uint `cbor:"2,keyasint"`
170
+ MaxTxSize * uint `cbor:"3,keyasint"`
171
+ MaxBlockHeaderSize * uint `cbor:"4,keyasint"`
172
+ KeyDeposit * uint `cbor:"5,keyasint"`
173
+ PoolDeposit * uint `cbor:"6,keyasint"`
174
+ MaxEpoch * uint `cbor:"7,keyasint"`
175
+ NOpt * uint `cbor:"8,keyasint"`
176
+ A0 * cbor.Rat `cbor:"9,keyasint"`
177
+ Rho * cbor.Rat `cbor:"10,keyasint"`
178
+ Tau * cbor.Rat `cbor:"11,keyasint"`
179
+ Decentralization * cbor.Rat `cbor:"12,keyasint"`
180
+ ExtraEntropy * common.Nonce `cbor:"13,keyasint"`
181
+ ProtocolVersion * common.ProtocolParametersProtocolVersion `cbor:"14,keyasint"`
182
+ MinUtxoValue * uint `cbor:"15,keyasint"`
183
+ MinPoolCost * uint64 `cbor:"16,keyasint"`
184
+ AdaPerUtxoByte * uint64 `cbor:"17,keyasint"`
185
+ CostModels map [uint ][]int64 `cbor:"18,keyasint"`
186
+ ExecutionCosts * common.ExUnitPrice `cbor:"19,keyasint"`
187
+ MaxTxExUnits * common.ExUnits `cbor:"20,keyasint"`
188
+ MaxBlockExUnits * common.ExUnits `cbor:"21,keyasint"`
189
+ MaxValueSize * uint `cbor:"22,keyasint"`
190
+ CollateralPercentage * uint `cbor:"23,keyasint"`
191
+ MaxCollateralInputs * uint `cbor:"24,keyasint"`
113
192
}
114
193
115
- func (u * AlonzoProtocolParameterUpdate ) UnmarshalCBOR (data []byte ) error {
116
- return u .UnmarshalCbor (data , u )
194
+ func (AlonzoProtocolParameterUpdate ) IsProtocolParameterUpdate () {}
195
+
196
+ func (u * AlonzoProtocolParameterUpdate ) UnmarshalCBOR (cborData []byte ) error {
197
+ type tAlonzoProtocolParameterUpdate AlonzoProtocolParameterUpdate
198
+ var tmp tAlonzoProtocolParameterUpdate
199
+ if _ , err := cbor .Decode (cborData , & tmp ); err != nil {
200
+ return err
201
+ }
202
+ * u = AlonzoProtocolParameterUpdate (tmp )
203
+ u .SetCbor (cborData )
204
+ return nil
117
205
}
118
206
119
207
func (p * AlonzoProtocolParameters ) Utxorpc () * cardano.PParams {
@@ -203,6 +291,22 @@ func UpgradePParams(
203
291
prevPParams mary.MaryProtocolParameters ,
204
292
) AlonzoProtocolParameters {
205
293
return AlonzoProtocolParameters {
206
- MaryProtocolParameters : prevPParams ,
294
+ MinFeeA : prevPParams .MinFeeA ,
295
+ MinFeeB : prevPParams .MinFeeB ,
296
+ MaxBlockBodySize : prevPParams .MaxBlockBodySize ,
297
+ MaxTxSize : prevPParams .MaxTxSize ,
298
+ MaxBlockHeaderSize : prevPParams .MaxBlockHeaderSize ,
299
+ KeyDeposit : prevPParams .KeyDeposit ,
300
+ PoolDeposit : prevPParams .PoolDeposit ,
301
+ MaxEpoch : prevPParams .MaxEpoch ,
302
+ NOpt : prevPParams .NOpt ,
303
+ A0 : prevPParams .A0 ,
304
+ Rho : prevPParams .Rho ,
305
+ Tau : prevPParams .Tau ,
306
+ Decentralization : prevPParams .Decentralization ,
307
+ ExtraEntropy : prevPParams .ExtraEntropy ,
308
+ ProtocolMajor : prevPParams .ProtocolMajor ,
309
+ ProtocolMinor : prevPParams .ProtocolMinor ,
310
+ MinUtxoValue : prevPParams .MinUtxoValue ,
207
311
}
208
312
}
0 commit comments