@@ -164,3 +164,42 @@ pub(crate) struct UpdateWitnessLookalike {
164
164
outputs_hash : Digest ,
165
165
public_announcements_hash : Digest ,
166
166
}
167
+
168
+ #[ derive( Debug , Clone , BFieldCodec , TasmObject , Arbitrary ) ]
169
+ pub ( crate ) struct LockScriptAndWitnessLookalike {
170
+ nd_memory : Vec < ( BFieldElement , BFieldElement ) > ,
171
+ nd_tokens : Vec < BFieldElement > ,
172
+ nd_digests : Vec < Digest > ,
173
+ }
174
+
175
+ #[ derive( Debug , Clone , BFieldCodec , TasmObject , Arbitrary ) ]
176
+ struct TypeScriptAndWitnessLookalike {
177
+ nd_tokens : Vec < BFieldElement > ,
178
+ nd_memory : Vec < ( BFieldElement , BFieldElement ) > ,
179
+ nd_digests : Vec < Digest > ,
180
+ }
181
+
182
+ #[ derive( Debug , Clone , BFieldCodec , TasmObject , Arbitrary ) ]
183
+ struct ActiveWindowLookalike {
184
+ sbf : Vec < u32 > ,
185
+ }
186
+
187
+ #[ derive( Debug , Clone , BFieldCodec , TasmObject , Arbitrary ) ]
188
+ pub ( crate ) struct MutatorSetAccumulatorLookalike {
189
+ aocl : MmrAccumulator ,
190
+ swbf_inactive : MmrAccumulator ,
191
+ swbf_active : ActiveWindowLookalike ,
192
+ }
193
+
194
+ #[ derive( Debug , Clone , BFieldCodec , TasmObject , Arbitrary ) ]
195
+ pub ( crate ) struct PrimitiveWitnessLookalike {
196
+ input_utxos : SaltedUtxosLookalike ,
197
+ input_membership_proofs : Vec < MsMembershipProofLookalike > ,
198
+ lock_scripts_and_witnesses : Vec < LockScriptAndWitnessLookalike > ,
199
+ type_scripts_and_witnesses : Vec < TypeScriptAndWitnessLookalike > ,
200
+ output_utxos : SaltedUtxosLookalike ,
201
+ output_sender_randomnesses : Vec < Digest > ,
202
+ output_receiver_digests : Vec < Digest > ,
203
+ mutator_set_accumulator : MutatorSetAccumulatorLookalike ,
204
+ kernel : TransactionKernelLookalike ,
205
+ }
0 commit comments