@@ -41,9 +41,9 @@ func (s ScriptContextV1V2) ToPlutusData() data.PlutusData {
41
41
}
42
42
43
43
type ScriptContextV3 struct {
44
- TxInfo TxInfo
45
- Redeemer Redeemer
46
- Purpose ScriptInfo
44
+ TxInfo TxInfo
45
+ Redeemer Redeemer
46
+ ScriptInfo ScriptInfo
47
47
}
48
48
49
49
func (ScriptContextV3 ) isScriptContext () {}
@@ -53,19 +53,19 @@ func (s ScriptContextV3) ToPlutusData() data.PlutusData {
53
53
0 ,
54
54
s .TxInfo .ToPlutusData (),
55
55
s .Redeemer .ToPlutusData (),
56
- s .Purpose .ToPlutusData (),
56
+ s .ScriptInfo .ToPlutusData (),
57
57
)
58
58
}
59
59
60
60
func NewScriptContextV3 (
61
61
txInfo TxInfo ,
62
62
redeemer Redeemer ,
63
- purpose ScriptInfo ,
63
+ purpose ScriptPurpose ,
64
64
) ScriptContext {
65
65
return ScriptContextV3 {
66
- TxInfo : txInfo ,
67
- Redeemer : redeemer ,
68
- Purpose : purpose ,
66
+ TxInfo : txInfo ,
67
+ Redeemer : redeemer ,
68
+ ScriptInfo : purpose . ToScriptInfo () ,
69
69
}
70
70
}
71
71
@@ -84,7 +84,7 @@ type TxInfoV1 struct {
84
84
ValidRange TimeRange
85
85
Signatories []lcommon.Blake2b224
86
86
Data KeyValuePairs [lcommon.Blake2b256 , data.PlutusData ]
87
- Redeemers KeyValuePairs [ScriptInfo , Redeemer ]
87
+ Redeemers KeyValuePairs [ScriptPurpose , Redeemer ]
88
88
Id lcommon.Blake2b256
89
89
}
90
90
@@ -105,7 +105,7 @@ type TxInfoV2 struct {
105
105
Withdrawals KeyValuePairs [* lcommon.Address , Coin ]
106
106
ValidRange TimeRange
107
107
Signatories []lcommon.Blake2b224
108
- Redeemers KeyValuePairs [ScriptInfo , Redeemer ]
108
+ Redeemers KeyValuePairs [ScriptPurpose , Redeemer ]
109
109
Data KeyValuePairs [lcommon.Blake2b256 , data.PlutusData ]
110
110
Id lcommon.Blake2b256
111
111
}
@@ -127,7 +127,7 @@ type TxInfoV3 struct {
127
127
Withdrawals KeyValuePairs [* lcommon.Address , uint64 ]
128
128
ValidRange TimeRange
129
129
Signatories []lcommon.Blake2b224
130
- Redeemers KeyValuePairs [ScriptInfo , Redeemer ]
130
+ Redeemers KeyValuePairs [ScriptPurpose , Redeemer ]
131
131
Data KeyValuePairs [lcommon.Blake2b256 , data.PlutusData ]
132
132
Id lcommon.Blake2b256
133
133
Votes KeyValuePairs [* lcommon.Voter , KeyValuePairs [* lcommon.GovActionId , lcommon.VotingProcedure ]]
@@ -139,13 +139,6 @@ type TxInfoV3 struct {
139
139
func (TxInfoV3 ) isTxInfo () {}
140
140
141
141
func (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
- }
149
142
return data .NewConstr (
150
143
0 ,
151
144
toPlutusData (t .Inputs ),
@@ -157,7 +150,7 @@ func (t TxInfoV3) ToPlutusData() data.PlutusData {
157
150
toPlutusData (t .Withdrawals ),
158
151
t .ValidRange .ToPlutusData (),
159
152
toPlutusData (t .Signatories ),
160
- tmpRedeemers .ToPlutusData (),
153
+ t . Redeemers .ToPlutusData (),
161
154
t .Data .ToPlutusData (),
162
155
data .NewByteString (t .Id .Bytes ()),
163
156
t .Votes .ToPlutusData (),
@@ -417,16 +410,16 @@ func dataInfo(
417
410
func redeemersInfo (
418
411
witnessSet lcommon.TransactionWitnessSet ,
419
412
toScriptPurpose toScriptPurposeFunc ,
420
- ) KeyValuePairs [ScriptInfo , Redeemer ] {
421
- var ret KeyValuePairs [ScriptInfo , Redeemer ]
413
+ ) KeyValuePairs [ScriptPurpose , Redeemer ] {
414
+ var ret KeyValuePairs [ScriptPurpose , Redeemer ]
422
415
redeemers := witnessSet .Redeemers ()
423
416
redeemerKeys := sortedRedeemerKeys (redeemers )
424
417
for _ , key := range redeemerKeys {
425
418
redeemerValue := redeemers .Value (uint (key .Index ), key .Tag )
426
419
purpose := toScriptPurpose (key )
427
420
ret = append (
428
421
ret ,
429
- KeyValuePair [ScriptInfo , Redeemer ]{
422
+ KeyValuePair [ScriptPurpose , Redeemer ]{
430
423
Key : purpose ,
431
424
Value : Redeemer {
432
425
Tag : key .Tag ,
0 commit comments