@@ -24,7 +24,7 @@ import (
2424 "github.com/blinklabs-io/gouroboros/cbor"
2525 "github.com/blinklabs-io/gouroboros/ledger/common"
2626 "github.com/blinklabs-io/gouroboros/ledger/mary"
27- cardano "github.com/utxorpc/go-codegen/utxorpc/v1alpha/cardano"
27+ utxorpc "github.com/utxorpc/go-codegen/utxorpc/v1alpha/cardano"
2828)
2929
3030// Constants for Plutus version mapping
@@ -274,59 +274,69 @@ func (u *AlonzoProtocolParameterUpdate) UnmarshalCBOR(cborData []byte) error {
274274 return nil
275275}
276276
277- func (p * AlonzoProtocolParameters ) Utxorpc () (* cardano .PParams , error ) {
277+ func (p * AlonzoProtocolParameters ) Utxorpc () (* utxorpc .PParams , error ) {
278278 // sanity check
279- if p .A0 .Num ().Int64 () > math .MaxInt32 ||
279+ if p .A0 == nil ||
280+ p .A0 .Num ().Int64 () < math .MinInt32 ||
281+ p .A0 .Num ().Int64 () > math .MaxInt32 ||
280282 p .A0 .Denom ().Int64 () < 0 ||
281283 p .A0 .Denom ().Int64 () > math .MaxUint32 {
282284 return nil , errors .New ("invalid A0 rational number values" )
283285 }
284- if p .Rho .Num ().Int64 () > math .MaxInt32 ||
286+ if p .Rho == nil ||
287+ p .Rho .Num ().Int64 () < math .MinInt32 ||
288+ p .Rho .Num ().Int64 () > math .MaxInt32 ||
285289 p .Rho .Denom ().Int64 () < 0 ||
286290 p .Rho .Denom ().Int64 () > math .MaxUint32 {
287291 return nil , errors .New ("invalid Rho rational number values" )
288292 }
289- if p .Tau .Num ().Int64 () > math .MaxInt32 ||
293+ if p .Tau == nil ||
294+ p .Tau .Num ().Int64 () < math .MinInt32 ||
295+ p .Tau .Num ().Int64 () > math .MaxInt32 ||
290296 p .Tau .Denom ().Int64 () < 0 ||
291297 p .Tau .Denom ().Int64 () > math .MaxUint32 {
292298 return nil , errors .New ("invalid Tau rational number values" )
293299 }
294- if p .ExecutionCosts .MemPrice .Num ().Int64 () > math .MaxInt32 ||
300+ if p .ExecutionCosts .MemPrice == nil ||
301+ p .ExecutionCosts .MemPrice .Num ().Int64 () < math .MinInt32 ||
302+ p .ExecutionCosts .MemPrice .Num ().Int64 () > math .MaxInt32 ||
295303 p .ExecutionCosts .MemPrice .Denom ().Int64 () < 0 ||
296304 p .ExecutionCosts .MemPrice .Denom ().Int64 () > math .MaxUint32 {
297305 return nil , errors .New ("invalid memory price rational number values" )
298306 }
299- if p .ExecutionCosts .StepPrice .Num ().Int64 () > math .MaxInt32 ||
307+ if p .ExecutionCosts .StepPrice == nil ||
308+ p .ExecutionCosts .StepPrice .Num ().Int64 () < math .MinInt32 ||
309+ p .ExecutionCosts .StepPrice .Num ().Int64 () > math .MaxInt32 ||
300310 p .ExecutionCosts .StepPrice .Denom ().Int64 () < 0 ||
301311 p .ExecutionCosts .StepPrice .Denom ().Int64 () > math .MaxUint32 {
302312 return nil , errors .New ("invalid step price rational number values" )
303313 }
304314 // #nosec G115
305- return & cardano .PParams {
306- CoinsPerUtxoByte : p .AdaPerUtxoByte ,
315+ return & utxorpc .PParams {
316+ CoinsPerUtxoByte : common . ToUtxorpcBigInt ( p .AdaPerUtxoByte ) ,
307317 MaxTxSize : uint64 (p .MaxTxSize ),
308- MinFeeCoefficient : uint64 (p .MinFeeA ),
309- MinFeeConstant : uint64 (p .MinFeeB ),
318+ MinFeeCoefficient : common . ToUtxorpcBigInt ( uint64 (p .MinFeeA ) ),
319+ MinFeeConstant : common . ToUtxorpcBigInt ( uint64 (p .MinFeeB ) ),
310320 MaxBlockBodySize : uint64 (p .MaxBlockBodySize ),
311321 MaxBlockHeaderSize : uint64 (p .MaxBlockHeaderSize ),
312- StakeKeyDeposit : uint64 (p .KeyDeposit ),
313- PoolDeposit : uint64 (p .PoolDeposit ),
322+ StakeKeyDeposit : common .ToUtxorpcBigInt (uint64 (p .KeyDeposit )),
323+ PoolDeposit : common .ToUtxorpcBigInt (uint64 (p .PoolDeposit )),
324+ MinPoolCost : common .ToUtxorpcBigInt (p .MinPoolCost ),
314325 PoolRetirementEpochBound : uint64 (p .MaxEpoch ),
315326 DesiredNumberOfPools : uint64 (p .NOpt ),
316- PoolInfluence : & cardano .RationalNumber {
327+ PoolInfluence : & utxorpc .RationalNumber {
317328 Numerator : int32 (p .A0 .Num ().Int64 ()),
318329 Denominator : uint32 (p .A0 .Denom ().Int64 ()),
319330 },
320- MonetaryExpansion : & cardano .RationalNumber {
331+ MonetaryExpansion : & utxorpc .RationalNumber {
321332 Numerator : int32 (p .Rho .Num ().Int64 ()),
322333 Denominator : uint32 (p .Rho .Denom ().Int64 ()),
323334 },
324- TreasuryExpansion : & cardano .RationalNumber {
335+ TreasuryExpansion : & utxorpc .RationalNumber {
325336 Numerator : int32 (p .Tau .Num ().Int64 ()),
326337 Denominator : uint32 (p .Tau .Denom ().Int64 ()),
327338 },
328- MinPoolCost : p .MinPoolCost ,
329- ProtocolVersion : & cardano.ProtocolVersion {
339+ ProtocolVersion : & utxorpc.ProtocolVersion {
330340 Major : uint32 (p .ProtocolMajor ),
331341 Minor : uint32 (p .ProtocolMinor ),
332342 },
@@ -336,21 +346,21 @@ func (p *AlonzoProtocolParameters) Utxorpc() (*cardano.PParams, error) {
336346 CostModels : common .ConvertToUtxorpcCardanoCostModels (
337347 p .CostModels ,
338348 ),
339- Prices : & cardano .ExPrices {
340- Memory : & cardano .RationalNumber {
349+ Prices : & utxorpc .ExPrices {
350+ Memory : & utxorpc .RationalNumber {
341351 Numerator : int32 (p .ExecutionCosts .MemPrice .Num ().Int64 ()),
342352 Denominator : uint32 (p .ExecutionCosts .MemPrice .Denom ().Int64 ()),
343353 },
344- Steps : & cardano .RationalNumber {
354+ Steps : & utxorpc .RationalNumber {
345355 Numerator : int32 (p .ExecutionCosts .StepPrice .Num ().Int64 ()),
346356 Denominator : uint32 (p .ExecutionCosts .StepPrice .Denom ().Int64 ()),
347357 },
348358 },
349- MaxExecutionUnitsPerTransaction : & cardano .ExUnits {
359+ MaxExecutionUnitsPerTransaction : & utxorpc .ExUnits {
350360 Memory : uint64 (p .MaxTxExUnits .Memory ),
351361 Steps : uint64 (p .MaxTxExUnits .Steps ),
352362 },
353- MaxExecutionUnitsPerBlock : & cardano .ExUnits {
363+ MaxExecutionUnitsPerBlock : & utxorpc .ExUnits {
354364 Memory : uint64 (p .MaxBlockExUnits .Memory ),
355365 Steps : uint64 (p .MaxBlockExUnits .Steps ),
356366 },
0 commit comments