@@ -160,113 +160,88 @@ impl TransactionMother {
160
160
}
161
161
162
162
pub fn asset_freeze ( ) -> AssetFreezeTransactionBuilder {
163
- AssetFreezeTransactionBuilder :: default ( )
164
- . header ( TransactionHeaderMother :: simple_testnet ( ) . build ( ) . unwrap ( ) )
165
- . asset_id ( 12345 )
166
- . freeze_target ( AddressMother :: neil ( ) )
167
- . frozen ( true )
168
- . to_owned ( )
169
- }
170
-
171
- pub fn asset_unfreeze ( ) -> AssetFreezeTransactionBuilder {
172
- AssetFreezeTransactionBuilder :: default ( )
173
- . header ( TransactionHeaderMother :: simple_testnet ( ) . build ( ) . unwrap ( ) )
174
- . asset_id ( 12345 )
175
- . freeze_target ( AddressMother :: neil ( ) )
176
- . frozen ( false )
177
- . to_owned ( )
178
- }
163
+ // mainnet-2XFGVOHMFYLAWBHOSIOI67PBT5LDRHBTD3VLX5EYBDTFNVKMCJIA
164
+ let sender = "E4A6FVIHXSZ3F7QXRCOTYDDILVQYEBFH56HYDIIYX4SVXS2QX5GUTBVZHY"
165
+ . parse :: < Address > ( )
166
+ . unwrap ( ) ;
167
+ let freeze_address = "ZJU3X2B2QN3BUBIJ64JZ565V363ANGBUDOLXAJHDXGIIMYK6WV3NSNCBQQ"
168
+ . parse :: < Address > ( )
169
+ . unwrap ( ) ;
170
+ let genesis_hash: Byte32 = BASE64_STANDARD
171
+ . decode ( "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=" )
172
+ . unwrap ( )
173
+ . try_into ( )
174
+ . unwrap ( ) ;
175
+ let note = BASE64_STANDARD
176
+ . decode ( "TkZUIGZyZWV6ZWQgYnkgbG9mdHkuYWk=" )
177
+ . unwrap ( ) ;
178
+ let group = BASE64_STANDARD
179
+ . decode ( "xERjxVTlNb8jeHa16qmpxDMh4+dcDCokO69QnNESbFk=" )
180
+ . unwrap ( )
181
+ . try_into ( )
182
+ . unwrap ( ) ;
179
183
180
- pub fn asset_freeze_mainnet ( ) -> AssetFreezeTransactionBuilder {
181
- // Based on a real mainnet asset freeze transaction
182
- // https://algoexplorer.io/tx/EXAMPLE_FREEZE_TXN_ID
183
184
AssetFreezeTransactionBuilder :: default ( )
184
185
. header (
185
- TransactionHeaderMother :: mainnet ( )
186
- . sender ( AddressMother :: address ( ) )
187
- . first_valid ( 39000000 )
188
- . last_valid ( 39001000 )
186
+ TransactionHeaderBuilder :: default ( )
187
+ . sender ( sender)
189
188
. fee ( 1000 )
189
+ . first_valid ( 37463562 )
190
+ . last_valid ( 37464562 )
191
+ . genesis_hash ( genesis_hash)
192
+ . genesis_id ( "mainnet-v1.0" . to_string ( ) )
193
+ . note ( note)
194
+ . group ( group)
190
195
. build ( )
191
196
. unwrap ( ) ,
192
197
)
193
- . asset_id ( 31566704 ) // USDC on mainnet
194
- . freeze_target ( AddressMother :: neil ( ) )
198
+ . asset_id ( 1707148495 )
199
+ . freeze_target ( freeze_address )
195
200
. frozen ( true )
196
201
. to_owned ( )
197
202
}
198
203
199
- pub fn asset_freeze_testnet ( ) -> AssetFreezeTransactionBuilder {
200
- // Based on a real testnet asset freeze transaction
201
- AssetFreezeTransactionBuilder :: default ( )
202
- . header (
203
- TransactionHeaderMother :: testnet ( )
204
- . sender ( AddressMother :: address ( ) )
205
- . first_valid ( 42000000 )
206
- . last_valid ( 42001000 )
207
- . fee ( 1000 )
208
- . note ( BASE64_STANDARD . decode ( "VGVzdCBhc3NldCBmcmVlemU=" ) . unwrap ( ) )
209
- . build ( )
210
- . unwrap ( ) ,
211
- )
212
- . asset_id ( 150000000 ) // Test asset on testnet
213
- . freeze_target ( AddressMother :: neil ( ) )
214
- . frozen ( true )
215
- . to_owned ( )
216
- }
204
+ pub fn asset_unfreeze ( ) -> AssetFreezeTransactionBuilder {
205
+ // Same as asset_freeze but with frozen=false
206
+ let sender = "E4A6FVIHXSZ3F7QXRCOTYDDILVQYEBFH56HYDIIYX4SVXS2QX5GUTBVZHY"
207
+ . parse :: < Address > ( )
208
+ . unwrap ( ) ;
209
+ let freeze_address = "ZJU3X2B2QN3BUBIJ64JZ565V363ANGBUDOLXAJHDXGIIMYK6WV3NSNCBQQ"
210
+ . parse :: < Address > ( )
211
+ . unwrap ( ) ;
212
+ let genesis_hash: Byte32 = BASE64_STANDARD
213
+ . decode ( "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=" )
214
+ . unwrap ( )
215
+ . try_into ( )
216
+ . unwrap ( ) ;
217
+ let note = BASE64_STANDARD
218
+ . decode ( "TkZUIGZyZWV6ZWQgYnkgbG9mdHkuYWk=" )
219
+ . unwrap ( ) ;
220
+ let group = BASE64_STANDARD
221
+ . decode ( "xERjxVTlNb8jeHa16qmpxDMh4+dcDCokO69QnNESbFk=" )
222
+ . unwrap ( )
223
+ . try_into ( )
224
+ . unwrap ( ) ;
217
225
218
- pub fn asset_unfreeze_mainnet ( ) -> AssetFreezeTransactionBuilder {
219
- // Based on a real mainnet asset unfreeze transaction
220
226
AssetFreezeTransactionBuilder :: default ( )
221
227
. header (
222
- TransactionHeaderMother :: mainnet ( )
223
- . sender ( AddressMother :: address ( ) )
224
- . first_valid ( 39002000 )
225
- . last_valid ( 39003000 )
228
+ TransactionHeaderBuilder :: default ( )
229
+ . sender ( sender)
226
230
. fee ( 1000 )
231
+ . first_valid ( 37463562 )
232
+ . last_valid ( 37464562 )
233
+ . genesis_hash ( genesis_hash)
234
+ . genesis_id ( "mainnet-v1.0" . to_string ( ) )
235
+ . note ( note)
236
+ . group ( group)
227
237
. build ( )
228
238
. unwrap ( ) ,
229
239
)
230
- . asset_id ( 31566704 ) // USDC on mainnet
231
- . freeze_target ( AddressMother :: neil ( ) )
240
+ . asset_id ( 1707148495 )
241
+ . freeze_target ( freeze_address )
232
242
. frozen ( false )
233
243
. to_owned ( )
234
244
}
235
-
236
- pub fn asset_freeze_with_group ( ) -> AssetFreezeTransactionBuilder {
237
- // Asset freeze transaction as part of a group
238
- AssetFreezeTransactionBuilder :: default ( )
239
- . header (
240
- TransactionHeaderMother :: testnet ( )
241
- . sender ( AddressMother :: address ( ) )
242
- . first_valid ( 21000000 )
243
- . last_valid ( 21001000 )
244
- . fee ( 1000 )
245
- . group (
246
- BASE64_STANDARD
247
- . decode ( "VZOPGVBJhOB3AiX8mqxKb7FQD1faupdSuZixhd8xpqI=" )
248
- . unwrap ( )
249
- . try_into ( )
250
- . unwrap ( ) ,
251
- )
252
- . build ( )
253
- . unwrap ( ) ,
254
- )
255
- . asset_id ( 84366776 )
256
- . freeze_target ( AddressMother :: neil ( ) )
257
- . frozen ( true )
258
- . to_owned ( )
259
- }
260
-
261
- pub fn asset_freeze_minimal ( ) -> AssetFreezeTransactionBuilder {
262
- // Minimal asset freeze with only required fields
263
- AssetFreezeTransactionBuilder :: default ( )
264
- . header ( TransactionHeaderMother :: simple_testnet ( ) . build ( ) . unwrap ( ) )
265
- . asset_id ( 1 )
266
- . freeze_target ( AddressMother :: zero_address ( ) )
267
- . frozen ( true )
268
- . to_owned ( )
269
- }
270
245
}
271
246
272
247
pub struct AddressMother { }
@@ -720,10 +695,9 @@ mod tests {
720
695
#[ test]
721
696
fn test_asset_freeze_snapshot ( ) {
722
697
let data = TestDataMother :: asset_freeze ( ) ;
723
- // Note: These values would need to be updated once we run the actual test
724
- // to get the real encoded transaction values
725
- assert ! ( !data. id. is_empty( ) ) ;
726
- assert ! ( !data. unsigned_bytes. is_empty( ) ) ;
727
- assert ! ( !data. signed_bytes. is_empty( ) ) ;
698
+ assert_eq ! (
699
+ data. id,
700
+ String :: from( "2XFGVOHMFYLAWBHOSIOI67PBT5LDRHBTD3VLX5EYBDTFNVKMCJIA" )
701
+ ) ;
728
702
}
729
703
}
0 commit comments