diff --git a/ledger/allegra.go b/ledger/allegra.go index ffc06133..e566f166 100644 --- a/ledger/allegra.go +++ b/ledger/allegra.go @@ -186,6 +186,10 @@ func (t AllegraTransaction) AssetMint() *MultiAsset[MultiAssetTypeMint] { return t.Body.AssetMint() } +func (t AllegraTransaction) ScriptDataHash() *Blake2b256 { + return t.Body.ScriptDataHash() +} + func (t AllegraTransaction) VotingProcedures() VotingProcedures { return t.Body.VotingProcedures() } diff --git a/ledger/alonzo.go b/ledger/alonzo.go index 3022e895..62b8beaa 100644 --- a/ledger/alonzo.go +++ b/ledger/alonzo.go @@ -128,7 +128,7 @@ type AlonzoTransactionBody struct { ProtocolParamUpdates map[Blake2b224]AlonzoProtocolParameterUpdate Epoch uint64 } `cbor:"6,keyasint,omitempty"` - ScriptDataHash Blake2b256 `cbor:"11,keyasint,omitempty"` + TxScriptDataHash *Blake2b256 `cbor:"11,keyasint,omitempty"` TxCollateral []ShelleyTransactionInput `cbor:"13,keyasint,omitempty"` TxRequiredSigners []Blake2b224 `cbor:"14,keyasint,omitempty"` NetworkId uint8 `cbor:"15,keyasint,omitempty"` @@ -159,6 +159,10 @@ func (b *AlonzoTransactionBody) RequiredSigners() []Blake2b224 { return b.TxRequiredSigners[:] } +func (b *AlonzoTransactionBody) ScriptDataHash() *Blake2b256 { + return b.TxScriptDataHash +} + type AlonzoTransactionOutput struct { cbor.StructAsArray cbor.DecodeStoreCbor @@ -300,6 +304,10 @@ func (t AlonzoTransaction) AssetMint() *MultiAsset[MultiAssetTypeMint] { return t.Body.AssetMint() } +func (t AlonzoTransaction) ScriptDataHash() *Blake2b256 { + return t.Body.ScriptDataHash() +} + func (t AlonzoTransaction) VotingProcedures() VotingProcedures { return t.Body.VotingProcedures() } diff --git a/ledger/babbage.go b/ledger/babbage.go index bc92b25b..ed82a9de 100644 --- a/ledger/babbage.go +++ b/ledger/babbage.go @@ -464,6 +464,10 @@ func (t BabbageTransaction) Withdrawals() map[*Address]uint64 { return t.Body.Withdrawals() } +func (t BabbageTransaction) ScriptDataHash() *Blake2b256 { + return t.Body.ScriptDataHash() +} + func (t BabbageTransaction) VotingProcedures() VotingProcedures { return t.Body.VotingProcedures() } diff --git a/ledger/byron.go b/ledger/byron.go index 3a8c00c9..e3cc5100 100644 --- a/ledger/byron.go +++ b/ledger/byron.go @@ -210,6 +210,11 @@ func (t *ByronTransaction) AssetMint() *MultiAsset[MultiAssetTypeMint] { return nil } +func (t *ByronTransaction) ScriptDataHash() *Blake2b256 { + // No script data hash in Byron + return nil +} + func (t *ByronTransaction) VotingProcedures() VotingProcedures { // No voting procedures in Byron return nil diff --git a/ledger/conway.go b/ledger/conway.go index c04baf4e..3fefd4dd 100644 --- a/ledger/conway.go +++ b/ledger/conway.go @@ -377,6 +377,10 @@ func (t ConwayTransaction) AssetMint() *MultiAsset[MultiAssetTypeMint] { return t.Body.AssetMint() } +func (t ConwayTransaction) ScriptDataHash() *Blake2b256 { + return t.Body.ScriptDataHash() +} + func (t ConwayTransaction) VotingProcedures() VotingProcedures { return t.Body.VotingProcedures() } diff --git a/ledger/mary.go b/ledger/mary.go index a70718ba..c7ee4853 100644 --- a/ledger/mary.go +++ b/ledger/mary.go @@ -207,6 +207,10 @@ func (t MaryTransaction) AssetMint() *MultiAsset[MultiAssetTypeMint] { return t.Body.AssetMint() } +func (t MaryTransaction) ScriptDataHash() *Blake2b256 { + return t.Body.ScriptDataHash() +} + func (t MaryTransaction) VotingProcedures() VotingProcedures { return t.Body.VotingProcedures() } diff --git a/ledger/shelley.go b/ledger/shelley.go index 8c14a99c..5a8feaee 100644 --- a/ledger/shelley.go +++ b/ledger/shelley.go @@ -254,12 +254,17 @@ func (b *ShelleyTransactionBody) AssetMint() *MultiAsset[MultiAssetTypeMint] { return nil } -func (t *ShelleyTransactionBody) VotingProcedures() VotingProcedures { +func (b *ShelleyTransactionBody) ScriptDataHash() *Blake2b256 { + // No script data hash in Shelley + return nil +} + +func (b *ShelleyTransactionBody) VotingProcedures() VotingProcedures { // No voting procedures in Shelley return nil } -func (t *ShelleyTransactionBody) ProposalProcedures() []ProposalProcedure { +func (b *ShelleyTransactionBody) ProposalProcedures() []ProposalProcedure { // No proposal procedures in Shelley return nil } @@ -430,6 +435,10 @@ func (t ShelleyTransaction) AssetMint() *MultiAsset[MultiAssetTypeMint] { return t.Body.AssetMint() } +func (t ShelleyTransaction) ScriptDataHash() *Blake2b256 { + return t.Body.ScriptDataHash() +} + func (t ShelleyTransaction) VotingProcedures() VotingProcedures { return t.Body.VotingProcedures() } diff --git a/ledger/tx.go b/ledger/tx.go index 429ece00..cd9dfc40 100644 --- a/ledger/tx.go +++ b/ledger/tx.go @@ -48,6 +48,7 @@ type TransactionBody interface { Withdrawals() map[*Address]uint64 RequiredSigners() []Blake2b224 AssetMint() *MultiAsset[MultiAssetTypeMint] + ScriptDataHash() *Blake2b256 VotingProcedures() VotingProcedures ProposalProcedures() []ProposalProcedure Utxorpc() *utxorpc.Tx