diff --git a/ledger/alonzo/pparams.go b/ledger/alonzo/pparams.go index ca2f70ac..9deb034e 100644 --- a/ledger/alonzo/pparams.go +++ b/ledger/alonzo/pparams.go @@ -165,12 +165,12 @@ func (p *AlonzoProtocolParameters) UpdateFromGenesis( p.CollateralPercentage = genesis.CollateralPercentage p.MaxCollateralInputs = genesis.MaxCollateralInputs p.MaxTxExUnits = common.ExUnits{ - Memory: uint64(genesis.MaxTxExUnits.Mem), - Steps: uint64(genesis.MaxTxExUnits.Steps), + Memory: int64(genesis.MaxTxExUnits.Mem), // nolint:gosec + Steps: int64(genesis.MaxTxExUnits.Steps), // nolint:gosec } p.MaxBlockExUnits = common.ExUnits{ - Memory: uint64(genesis.MaxBlockExUnits.Mem), - Steps: uint64(genesis.MaxBlockExUnits.Steps), + Memory: int64(genesis.MaxBlockExUnits.Mem), // nolint:gosec + Steps: int64(genesis.MaxBlockExUnits.Steps), // nolint:gosec } if genesis.ExecutionPrices.Mem != nil && @@ -347,12 +347,12 @@ func (p *AlonzoProtocolParameters) Utxorpc() (*cardano.PParams, error) { }, }, MaxExecutionUnitsPerTransaction: &cardano.ExUnits{ - Memory: p.MaxTxExUnits.Memory, - Steps: p.MaxTxExUnits.Steps, + Memory: uint64(p.MaxTxExUnits.Memory), + Steps: uint64(p.MaxTxExUnits.Steps), }, MaxExecutionUnitsPerBlock: &cardano.ExUnits{ - Memory: p.MaxBlockExUnits.Memory, - Steps: p.MaxBlockExUnits.Steps, + Memory: uint64(p.MaxBlockExUnits.Memory), + Steps: uint64(p.MaxBlockExUnits.Steps), }, }, nil } diff --git a/ledger/alonzo/rules.go b/ledger/alonzo/rules.go index 5b0ddcd1..e3a3d3d2 100644 --- a/ledger/alonzo/rules.go +++ b/ledger/alonzo/rules.go @@ -91,7 +91,7 @@ func UtxoValidateExUnitsTooBigUtxo( if !ok { return errors.New("transaction is not expected type") } - var totalSteps, totalMemory uint64 + var totalSteps, totalMemory int64 for _, redeemer := range tmpTx.WitnessSet.WsRedeemers { totalSteps += redeemer.ExUnits.Steps totalMemory += redeemer.ExUnits.Memory diff --git a/ledger/babbage/pparams.go b/ledger/babbage/pparams.go index da3a251e..d2f20a31 100644 --- a/ledger/babbage/pparams.go +++ b/ledger/babbage/pparams.go @@ -236,12 +236,12 @@ func (p *BabbageProtocolParameters) Utxorpc() (*cardano.PParams, error) { }, }, MaxExecutionUnitsPerTransaction: &cardano.ExUnits{ - Memory: p.MaxTxExUnits.Memory, - Steps: p.MaxTxExUnits.Steps, + Memory: uint64(p.MaxTxExUnits.Memory), + Steps: uint64(p.MaxTxExUnits.Steps), }, MaxExecutionUnitsPerBlock: &cardano.ExUnits{ - Memory: p.MaxBlockExUnits.Memory, - Steps: p.MaxBlockExUnits.Steps, + Memory: uint64(p.MaxBlockExUnits.Memory), + Steps: uint64(p.MaxBlockExUnits.Steps), }, }, nil } diff --git a/ledger/babbage/rules.go b/ledger/babbage/rules.go index 16c32bc1..b771ef02 100644 --- a/ledger/babbage/rules.go +++ b/ledger/babbage/rules.go @@ -416,7 +416,7 @@ func UtxoValidateExUnitsTooBigUtxo( if !ok { return errors.New("transaction is not expected type") } - var totalSteps, totalMemory uint64 + var totalSteps, totalMemory int64 for _, redeemer := range tmpTx.WitnessSet.WsRedeemers { totalSteps += redeemer.ExUnits.Steps totalMemory += redeemer.ExUnits.Memory diff --git a/ledger/common/common.go b/ledger/common/common.go index 5452e5b7..9d156176 100644 --- a/ledger/common/common.go +++ b/ledger/common/common.go @@ -436,8 +436,8 @@ func (i IssuerVkey) PoolId() string { // ExUnits represents the steps and memory usage for script execution type ExUnits struct { cbor.StructAsArray - Memory uint64 - Steps uint64 + Memory int64 + Steps int64 } // GenesisRat is a convenience type for cbor.Rat diff --git a/ledger/common/script.go b/ledger/common/script.go index 33d938c9..712c3c4d 100644 --- a/ledger/common/script.go +++ b/ledger/common/script.go @@ -146,8 +146,8 @@ func (s PlutusV3Script) Evaluate(scriptContext data.PlutusData, budget ExUnits) machineBudget := cek.DefaultExBudget if budget.Steps > 0 || budget.Memory > 0 { machineBudget = cek.ExBudget{ - Cpu: int64(budget.Steps), // nolint: gosec - Mem: int64(budget.Memory), // nolint: gosec + Cpu: budget.Steps, + Mem: budget.Memory, } } // Decode raw script as bytestring to get actual script bytes @@ -178,8 +178,8 @@ func (s PlutusV3Script) Evaluate(scriptContext data.PlutusData, budget ExUnits) return usedExUnits, fmt.Errorf("execute script: %w", err) } consumedBudget := machineBudget.Sub(&machine.ExBudget) - usedExUnits.Memory = uint64(consumedBudget.Mem) // nolint:gosec - usedExUnits.Steps = uint64(consumedBudget.Cpu) // nolint:gosec + usedExUnits.Memory = consumedBudget.Mem + usedExUnits.Steps = consumedBudget.Cpu return usedExUnits, nil } diff --git a/ledger/conway/pparams.go b/ledger/conway/pparams.go index 73098459..37b5f7d1 100644 --- a/ledger/conway/pparams.go +++ b/ledger/conway/pparams.go @@ -132,12 +132,12 @@ func (p *ConwayProtocolParameters) Utxorpc() (*cardano.PParams, error) { }, }, MaxExecutionUnitsPerTransaction: &cardano.ExUnits{ - Memory: p.MaxTxExUnits.Memory, - Steps: p.MaxTxExUnits.Steps, + Memory: uint64(p.MaxTxExUnits.Memory), + Steps: uint64(p.MaxTxExUnits.Steps), }, MaxExecutionUnitsPerBlock: &cardano.ExUnits{ - Memory: p.MaxBlockExUnits.Memory, - Steps: p.MaxBlockExUnits.Steps, + Memory: uint64(p.MaxBlockExUnits.Memory), + Steps: uint64(p.MaxBlockExUnits.Steps), }, }, nil } diff --git a/ledger/conway/rules.go b/ledger/conway/rules.go index 23ed2ed5..f68fff9f 100644 --- a/ledger/conway/rules.go +++ b/ledger/conway/rules.go @@ -426,7 +426,7 @@ func UtxoValidateExUnitsTooBigUtxo( if !ok { return errors.New("transaction is not expected type") } - var totalSteps, totalMemory uint64 + var totalSteps, totalMemory int64 for _, redeemer := range tmpTx.WitnessSet.WsRedeemers.Redeemers { totalSteps += redeemer.ExUnits.Steps totalMemory += redeemer.ExUnits.Memory