@@ -41,9 +41,9 @@ func (s ScriptContextV1V2) ToPlutusData() data.PlutusData {
4141}
4242
4343type ScriptContextV3 struct {
44- TxInfo TxInfo
45- Redeemer Redeemer
46- Purpose ScriptInfo
44+ TxInfo TxInfo
45+ Redeemer Redeemer
46+ ScriptInfo ScriptInfo
4747}
4848
4949func (ScriptContextV3 ) isScriptContext () {}
@@ -53,19 +53,19 @@ func (s ScriptContextV3) ToPlutusData() data.PlutusData {
5353 0 ,
5454 s .TxInfo .ToPlutusData (),
5555 s .Redeemer .ToPlutusData (),
56- s .Purpose .ToPlutusData (),
56+ s .ScriptInfo .ToPlutusData (),
5757 )
5858}
5959
6060func NewScriptContextV3 (
6161 txInfo TxInfo ,
6262 redeemer Redeemer ,
63- purpose ScriptInfo ,
63+ purpose ScriptPurpose ,
6464) ScriptContext {
6565 return ScriptContextV3 {
66- TxInfo : txInfo ,
67- Redeemer : redeemer ,
68- Purpose : purpose ,
66+ TxInfo : txInfo ,
67+ Redeemer : redeemer ,
68+ ScriptInfo : purpose . ToScriptInfo () ,
6969 }
7070}
7171
@@ -84,7 +84,7 @@ type TxInfoV1 struct {
8484 ValidRange TimeRange
8585 Signatories []lcommon.Blake2b224
8686 Data KeyValuePairs [lcommon.Blake2b256 , data.PlutusData ]
87- Redeemers KeyValuePairs [ScriptInfo , Redeemer ]
87+ Redeemers KeyValuePairs [ScriptPurpose , Redeemer ]
8888 Id lcommon.Blake2b256
8989}
9090
@@ -105,7 +105,7 @@ type TxInfoV2 struct {
105105 Withdrawals KeyValuePairs [* lcommon.Address , Coin ]
106106 ValidRange TimeRange
107107 Signatories []lcommon.Blake2b224
108- Redeemers KeyValuePairs [ScriptInfo , Redeemer ]
108+ Redeemers KeyValuePairs [ScriptPurpose , Redeemer ]
109109 Data KeyValuePairs [lcommon.Blake2b256 , data.PlutusData ]
110110 Id lcommon.Blake2b256
111111}
@@ -127,7 +127,7 @@ type TxInfoV3 struct {
127127 Withdrawals KeyValuePairs [* lcommon.Address , uint64 ]
128128 ValidRange TimeRange
129129 Signatories []lcommon.Blake2b224
130- Redeemers KeyValuePairs [ScriptInfo , Redeemer ]
130+ Redeemers KeyValuePairs [ScriptPurpose , Redeemer ]
131131 Data KeyValuePairs [lcommon.Blake2b256 , data.PlutusData ]
132132 Id lcommon.Blake2b256
133133 Votes KeyValuePairs [* lcommon.Voter , KeyValuePairs [* lcommon.GovActionId , lcommon.VotingProcedure ]]
@@ -139,13 +139,6 @@ type TxInfoV3 struct {
139139func (TxInfoV3 ) isTxInfo () {}
140140
141141func (t TxInfoV3 ) ToPlutusData () data.PlutusData {
142- tmpRedeemers := make (KeyValuePairs [ScriptInfo , Redeemer ], len (t .Redeemers ))
143- for i , pair := range t .Redeemers {
144- tmpRedeemers [i ] = KeyValuePair [ScriptInfo , Redeemer ]{
145- Key : scriptPurposeStripDatum (pair .Key ),
146- Value : pair .Value ,
147- }
148- }
149142 return data .NewConstr (
150143 0 ,
151144 toPlutusData (t .Inputs ),
@@ -157,7 +150,7 @@ func (t TxInfoV3) ToPlutusData() data.PlutusData {
157150 toPlutusData (t .Withdrawals ),
158151 t .ValidRange .ToPlutusData (),
159152 toPlutusData (t .Signatories ),
160- tmpRedeemers .ToPlutusData (),
153+ t . Redeemers .ToPlutusData (),
161154 t .Data .ToPlutusData (),
162155 data .NewByteString (t .Id .Bytes ()),
163156 t .Votes .ToPlutusData (),
@@ -417,16 +410,16 @@ func dataInfo(
417410func redeemersInfo (
418411 witnessSet lcommon.TransactionWitnessSet ,
419412 toScriptPurpose toScriptPurposeFunc ,
420- ) KeyValuePairs [ScriptInfo , Redeemer ] {
421- var ret KeyValuePairs [ScriptInfo , Redeemer ]
413+ ) KeyValuePairs [ScriptPurpose , Redeemer ] {
414+ var ret KeyValuePairs [ScriptPurpose , Redeemer ]
422415 redeemers := witnessSet .Redeemers ()
423416 redeemerKeys := sortedRedeemerKeys (redeemers )
424417 for _ , key := range redeemerKeys {
425418 redeemerValue := redeemers .Value (uint (key .Index ), key .Tag )
426419 purpose := toScriptPurpose (key )
427420 ret = append (
428421 ret ,
429- KeyValuePair [ScriptInfo , Redeemer ]{
422+ KeyValuePair [ScriptPurpose , Redeemer ]{
430423 Key : purpose ,
431424 Value : Redeemer {
432425 Tag : key .Tag ,
0 commit comments