@@ -75,8 +75,7 @@ impl Processor {
75
75
}
76
76
77
77
if * mint_info. key != crate :: native_mint:: id ( ) {
78
- let mut mint_info_data = mint_info. data . borrow_mut ( ) ;
79
- Mint :: unpack_mut ( & mut mint_info_data, & mut |_| Ok ( ( ) ) )
78
+ let _ = Mint :: unpack ( & mint_info. data . borrow_mut ( ) )
80
79
. map_err ( |_| Into :: < ProgramError > :: into ( TokenError :: InvalidMint ) ) ?;
81
80
}
82
81
@@ -177,18 +176,15 @@ impl Processor {
177
176
return Err ( TokenError :: AccountFrozen . into ( ) ) ;
178
177
}
179
178
180
- if let Some ( ( mint_account_info , expected_decimals) ) = expected_mint_info {
181
- if source_account. mint != * mint_account_info . key {
179
+ if let Some ( ( mint_info , expected_decimals) ) = expected_mint_info {
180
+ if source_account. mint != * mint_info . key {
182
181
return Err ( TokenError :: MintMismatch . into ( ) ) ;
183
182
}
184
183
185
- let mut mint_info_data = mint_account_info. data . borrow_mut ( ) ;
186
- Mint :: unpack_mut ( & mut mint_info_data, & mut |mint : & mut Mint | {
187
- if expected_decimals != mint. decimals {
188
- return Err ( TokenError :: MintDecimalsMismatch . into ( ) ) ;
189
- }
190
- Ok ( ( ) )
191
- } ) ?;
184
+ let mint = Mint :: unpack ( & mint_info. data . borrow_mut ( ) ) ?;
185
+ if expected_decimals != mint. decimals {
186
+ return Err ( TokenError :: MintDecimalsMismatch . into ( ) ) ;
187
+ }
192
188
}
193
189
194
190
match source_account. delegate {
@@ -268,18 +264,15 @@ impl Processor {
268
264
return Err ( TokenError :: AccountFrozen . into ( ) ) ;
269
265
}
270
266
271
- if let Some ( ( mint_account_info , expected_decimals) ) = expected_mint_info {
272
- if source_account. mint != * mint_account_info . key {
267
+ if let Some ( ( mint_info , expected_decimals) ) = expected_mint_info {
268
+ if source_account. mint != * mint_info . key {
273
269
return Err ( TokenError :: MintMismatch . into ( ) ) ;
274
270
}
275
271
276
- let mut mint_info_data = mint_account_info. data . borrow_mut ( ) ;
277
- Mint :: unpack_mut ( & mut mint_info_data, & mut |mint : & mut Mint | {
278
- if expected_decimals != mint. decimals {
279
- return Err ( TokenError :: MintDecimalsMismatch . into ( ) ) ;
280
- }
281
- Ok ( ( ) )
282
- } ) ?;
272
+ let mint = Mint :: unpack ( & mint_info. data . borrow_mut ( ) ) ?;
273
+ if expected_decimals != mint. decimals {
274
+ return Err ( TokenError :: MintDecimalsMismatch . into ( ) ) ;
275
+ }
283
276
}
284
277
285
278
Self :: validate_owner (
@@ -442,8 +435,8 @@ impl Processor {
442
435
return Err ( TokenError :: MintMismatch . into ( ) ) ;
443
436
}
444
437
445
- let mut mint_info_data = mint_info. data . borrow_mut ( ) ;
446
- Mint :: unpack_mut ( & mut mint_info_data , & mut |mint : & mut Mint | {
438
+ let mut mint_data = mint_info. data . borrow_mut ( ) ;
439
+ Mint :: unpack_mut ( & mut mint_data , & mut |mint : & mut Mint | {
447
440
if let Some ( expected_decimals) = expected_decimals {
448
441
if expected_decimals != mint. decimals {
449
442
return Err ( TokenError :: MintDecimalsMismatch . into ( ) ) ;
@@ -612,19 +605,16 @@ impl Processor {
612
605
return Err ( TokenError :: InvalidState . into ( ) ) ;
613
606
}
614
607
615
- let mut mint_data = mint_info. data . borrow_mut ( ) ;
616
- Mint :: unpack_mut (
617
- & mut mint_data,
618
- & mut |mint : & mut Mint | match mint. freeze_authority {
619
- COption :: Some ( authority) => Self :: validate_owner (
620
- program_id,
621
- & authority,
622
- authority_info,
623
- account_info_iter. as_slice ( ) ,
624
- ) ,
625
- COption :: None => Err ( TokenError :: MintCannotFreeze . into ( ) ) ,
626
- } ,
627
- ) ?;
608
+ let mint = Mint :: unpack ( & mint_info. data . borrow_mut ( ) ) ?;
609
+ match mint. freeze_authority {
610
+ COption :: Some ( authority) => Self :: validate_owner (
611
+ program_id,
612
+ & authority,
613
+ authority_info,
614
+ account_info_iter. as_slice ( ) ,
615
+ ) ,
616
+ COption :: None => Err ( TokenError :: MintCannotFreeze . into ( ) ) ,
617
+ } ?;
628
618
629
619
source_account. state = if freeze {
630
620
AccountState :: Frozen
@@ -1497,7 +1487,7 @@ mod tests {
1497
1487
vec ! [ & mut mint_account, & mut account_account, & mut owner_account] ,
1498
1488
)
1499
1489
. unwrap ( ) ;
1500
- Mint :: unpack_unchecked_mut ( & mut mint_account. data , & mut |_| Ok ( ( ) ) ) . unwrap ( ) ;
1490
+ let _ = Mint :: unpack ( & mut mint_account. data ) . unwrap ( ) ;
1501
1491
Account :: unpack_unchecked_mut ( & mut account_account. data , & mut |account : & mut Account | {
1502
1492
assert_eq ! ( account. amount, 42 ) ;
1503
1493
Ok ( ( ) )
@@ -1522,7 +1512,7 @@ mod tests {
1522
1512
)
1523
1513
) ;
1524
1514
1525
- Mint :: unpack_unchecked_mut ( & mut mint_account. data , & mut |_| Ok ( ( ) ) ) . unwrap ( ) ;
1515
+ let _ = Mint :: unpack ( & mut mint_account. data ) . unwrap ( ) ;
1526
1516
Account :: unpack_unchecked_mut ( & mut account_account. data , & mut |account : & mut Account | {
1527
1517
assert_eq ! ( account. amount, 42 ) ;
1528
1518
Ok ( ( ) )
@@ -1544,7 +1534,7 @@ mod tests {
1544
1534
vec ! [ & mut mint_account, & mut account_account, & mut owner_account] ,
1545
1535
)
1546
1536
. unwrap ( ) ;
1547
- Mint :: unpack_unchecked_mut ( & mut mint_account. data , & mut |_| Ok ( ( ) ) ) . unwrap ( ) ;
1537
+ let _ = Mint :: unpack ( & mut mint_account. data ) . unwrap ( ) ;
1548
1538
Account :: unpack_unchecked_mut ( & mut account_account. data , & mut |account : & mut Account | {
1549
1539
assert_eq ! ( account. amount, 84 ) ;
1550
1540
Ok ( ( ) )
0 commit comments