@@ -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,68 @@ 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 }
304- // #nosec G115
305- return & cardano.PParams {
306- CoinsPerUtxoByte : p .AdaPerUtxoByte ,
314+ return & utxorpc.PParams {
315+ CoinsPerUtxoByte : common .ToUtxorpcBigInt (p .AdaPerUtxoByte ),
307316 MaxTxSize : uint64 (p .MaxTxSize ),
308- MinFeeCoefficient : uint64 (p .MinFeeA ),
309- MinFeeConstant : uint64 (p .MinFeeB ),
317+ MinFeeCoefficient : common . ToUtxorpcBigInt ( uint64 (p .MinFeeA ) ),
318+ MinFeeConstant : common . ToUtxorpcBigInt ( uint64 (p .MinFeeB ) ),
310319 MaxBlockBodySize : uint64 (p .MaxBlockBodySize ),
311320 MaxBlockHeaderSize : uint64 (p .MaxBlockHeaderSize ),
312- StakeKeyDeposit : uint64 (p .KeyDeposit ),
313- PoolDeposit : uint64 (p .PoolDeposit ),
321+ StakeKeyDeposit : common .ToUtxorpcBigInt (uint64 (p .KeyDeposit )),
322+ PoolDeposit : common .ToUtxorpcBigInt (uint64 (p .PoolDeposit )),
323+ MinPoolCost : common .ToUtxorpcBigInt (p .MinPoolCost ),
314324 PoolRetirementEpochBound : uint64 (p .MaxEpoch ),
315325 DesiredNumberOfPools : uint64 (p .NOpt ),
316- PoolInfluence : & cardano .RationalNumber {
326+ PoolInfluence : & utxorpc .RationalNumber {
317327 Numerator : int32 (p .A0 .Num ().Int64 ()),
318328 Denominator : uint32 (p .A0 .Denom ().Int64 ()),
319329 },
320- MonetaryExpansion : & cardano .RationalNumber {
330+ MonetaryExpansion : & utxorpc .RationalNumber {
321331 Numerator : int32 (p .Rho .Num ().Int64 ()),
322332 Denominator : uint32 (p .Rho .Denom ().Int64 ()),
323333 },
324- TreasuryExpansion : & cardano .RationalNumber {
334+ TreasuryExpansion : & utxorpc .RationalNumber {
325335 Numerator : int32 (p .Tau .Num ().Int64 ()),
326336 Denominator : uint32 (p .Tau .Denom ().Int64 ()),
327337 },
328- MinPoolCost : p .MinPoolCost ,
329- ProtocolVersion : & cardano.ProtocolVersion {
338+ ProtocolVersion : & utxorpc.ProtocolVersion {
330339 Major : uint32 (p .ProtocolMajor ),
331340 Minor : uint32 (p .ProtocolMinor ),
332341 },
@@ -336,21 +345,21 @@ func (p *AlonzoProtocolParameters) Utxorpc() (*cardano.PParams, error) {
336345 CostModels : common .ConvertToUtxorpcCardanoCostModels (
337346 p .CostModels ,
338347 ),
339- Prices : & cardano .ExPrices {
340- Memory : & cardano .RationalNumber {
348+ Prices : & utxorpc .ExPrices {
349+ Memory : & utxorpc .RationalNumber {
341350 Numerator : int32 (p .ExecutionCosts .MemPrice .Num ().Int64 ()),
342351 Denominator : uint32 (p .ExecutionCosts .MemPrice .Denom ().Int64 ()),
343352 },
344- Steps : & cardano .RationalNumber {
353+ Steps : & utxorpc .RationalNumber {
345354 Numerator : int32 (p .ExecutionCosts .StepPrice .Num ().Int64 ()),
346355 Denominator : uint32 (p .ExecutionCosts .StepPrice .Denom ().Int64 ()),
347356 },
348357 },
349- MaxExecutionUnitsPerTransaction : & cardano .ExUnits {
358+ MaxExecutionUnitsPerTransaction : & utxorpc .ExUnits {
350359 Memory : uint64 (p .MaxTxExUnits .Memory ),
351360 Steps : uint64 (p .MaxTxExUnits .Steps ),
352361 },
353- MaxExecutionUnitsPerBlock : & cardano .ExUnits {
362+ MaxExecutionUnitsPerBlock : & utxorpc .ExUnits {
354363 Memory : uint64 (p .MaxBlockExUnits .Memory ),
355364 Steps : uint64 (p .MaxBlockExUnits .Steps ),
356365 },
0 commit comments