@@ -3,7 +3,7 @@ use std::cmp::min;
3
3
use frc46_token:: receiver:: types:: { FRC46TokenReceived , UniversalReceiverParams , FRC46_TOKEN_TYPE } ;
4
4
use frc46_token:: token:: types:: { BurnParams , TransferFromParams , TransferParams } ;
5
5
use fvm_ipld_bitfield:: BitField ;
6
- use fvm_ipld_encoding:: { BytesDe , Cbor , RawBytes } ;
6
+ use fvm_ipld_encoding:: { BytesDe , RawBytes } ;
7
7
use fvm_shared:: address:: { Address , BLS_PUB_LEN } ;
8
8
use fvm_shared:: crypto:: signature:: { Signature , SignatureType } ;
9
9
use fvm_shared:: deal:: DealID ;
@@ -14,6 +14,7 @@ use fvm_shared::sector::{PoStProof, RegisteredPoStProof, RegisteredSealProof, Se
14
14
use fvm_shared:: { MethodNum , METHOD_SEND } ;
15
15
use rand:: prelude:: * ;
16
16
use rand_chacha:: ChaCha8Rng ;
17
+ use serde:: Serialize ;
17
18
18
19
use fil_actor_account:: Method as AccountMethod ;
19
20
use fil_actor_cron:: Method as CronMethod ;
@@ -79,30 +80,30 @@ pub fn create_accounts_seeded(v: &VM, count: u64, balance: TokenAmount, seed: u6
79
80
let pk_addrs = pk_addrs_from ( seed, count) ;
80
81
// Send funds from faucet to pk address, creating account actor
81
82
for pk_addr in pk_addrs. clone ( ) {
82
- apply_ok ( v, TEST_FAUCET_ADDR , pk_addr, balance. clone ( ) , METHOD_SEND , RawBytes :: default ( ) ) ;
83
+ apply_ok ( v, TEST_FAUCET_ADDR , pk_addr, balance. clone ( ) , METHOD_SEND , None :: < RawBytes > ) ;
83
84
}
84
85
// Normalize pk address to return id address of account actor
85
86
pk_addrs. iter ( ) . map ( |& pk_addr| v. normalize_address ( & pk_addr) . unwrap ( ) ) . collect ( )
86
87
}
87
88
88
- pub fn apply_ok < C : Cbor > (
89
+ pub fn apply_ok < S : Serialize > (
89
90
v : & VM ,
90
91
from : Address ,
91
92
to : Address ,
92
93
value : TokenAmount ,
93
94
method : MethodNum ,
94
- params : C ,
95
+ params : Option < S > ,
95
96
) -> RawBytes {
96
97
apply_code ( v, from, to, value, method, params, ExitCode :: OK )
97
98
}
98
99
99
- pub fn apply_code < C : Cbor > (
100
+ pub fn apply_code < S : Serialize > (
100
101
v : & VM ,
101
102
from : Address ,
102
103
to : Address ,
103
104
value : TokenAmount ,
104
105
method : MethodNum ,
105
- params : C ,
106
+ params : Option < S > ,
106
107
code : ExitCode ,
107
108
) -> RawBytes {
108
109
let res = v. apply_message ( from, to, value, method, params) . unwrap ( ) ;
@@ -117,7 +118,7 @@ pub fn cron_tick(v: &VM) {
117
118
CRON_ACTOR_ADDR ,
118
119
TokenAmount :: zero ( ) ,
119
120
CronMethod :: EpochTick as u64 ,
120
- RawBytes :: default ( ) ,
121
+ None :: < RawBytes > ,
121
122
) ;
122
123
}
123
124
@@ -144,7 +145,7 @@ pub fn create_miner(
144
145
STORAGE_POWER_ACTOR_ADDR ,
145
146
balance,
146
147
PowerMethod :: CreateMiner as u64 ,
147
- params,
148
+ Some ( params) ,
148
149
)
149
150
. unwrap ( )
150
151
. ret
@@ -177,7 +178,14 @@ pub fn miner_precommit_sector(
177
178
replace_sector_number : 0 ,
178
179
} ;
179
180
180
- apply_ok ( v, worker, miner_id, TokenAmount :: zero ( ) , MinerMethod :: PreCommitSector as u64 , params) ;
181
+ apply_ok (
182
+ v,
183
+ worker,
184
+ miner_id,
185
+ TokenAmount :: zero ( ) ,
186
+ MinerMethod :: PreCommitSector as u64 ,
187
+ Some ( params) ,
188
+ ) ;
181
189
182
190
let state: MinerState = v. get_state ( miner_id) . unwrap ( ) ;
183
191
state. get_precommitted_sector ( v. store , sector_number) . unwrap ( ) . unwrap ( )
@@ -191,7 +199,7 @@ pub fn miner_prove_sector(v: &VM, worker: Address, miner_id: Address, sector_num
191
199
miner_id,
192
200
TokenAmount :: zero ( ) ,
193
201
MinerMethod :: ProveCommitSector as u64 ,
194
- prove_commit_params,
202
+ Some ( prove_commit_params) ,
195
203
) ;
196
204
197
205
ExpectInvocation {
@@ -297,7 +305,7 @@ pub fn precommit_sectors_v2(
297
305
maddr,
298
306
TokenAmount :: zero ( ) ,
299
307
MinerMethod :: PreCommitSectorBatch as u64 ,
300
- PreCommitSectorBatchParams { sectors : param_sectors. clone ( ) } ,
308
+ Some ( PreCommitSectorBatchParams { sectors : param_sectors. clone ( ) } ) ,
301
309
) ;
302
310
let expect = ExpectInvocation {
303
311
to : mid,
@@ -346,7 +354,7 @@ pub fn precommit_sectors_v2(
346
354
maddr,
347
355
TokenAmount :: zero ( ) ,
348
356
MinerMethod :: PreCommitSectorBatch2 as u64 ,
349
- PreCommitSectorBatchParams2 { sectors : param_sectors. clone ( ) } ,
357
+ Some ( PreCommitSectorBatchParams2 { sectors : param_sectors. clone ( ) } ) ,
350
358
) ;
351
359
let expect = ExpectInvocation {
352
360
to : mid,
@@ -424,7 +432,7 @@ pub fn prove_commit_sectors(
424
432
maddr,
425
433
TokenAmount :: zero ( ) ,
426
434
MinerMethod :: ProveCommitAggregate as u64 ,
427
- prove_commit_aggregate_params,
435
+ Some ( prove_commit_aggregate_params) ,
428
436
) ;
429
437
430
438
ExpectInvocation {
@@ -487,7 +495,7 @@ pub fn miner_extend_sector_expiration2(
487
495
miner_id,
488
496
TokenAmount :: zero ( ) ,
489
497
MinerMethod :: ExtendSectorExpiration2 as u64 ,
490
- extension_params,
498
+ Some ( extension_params) ,
491
499
) ;
492
500
493
501
let mut claim_ids = vec ! [ ] ;
@@ -674,7 +682,7 @@ pub fn declare_recovery(
674
682
maddr,
675
683
TokenAmount :: zero ( ) ,
676
684
MinerMethod :: DeclareFaultsRecovered as u64 ,
677
- recover_params,
685
+ Some ( recover_params) ,
678
686
) ;
679
687
}
680
688
@@ -696,7 +704,14 @@ pub fn submit_windowed_post(
696
704
chain_commit_epoch : dline_info. challenge ,
697
705
chain_commit_rand : Randomness ( TEST_VM_RAND_ARRAY . into ( ) ) ,
698
706
} ;
699
- apply_ok ( v, worker, maddr, TokenAmount :: zero ( ) , MinerMethod :: SubmitWindowedPoSt as u64 , params) ;
707
+ apply_ok (
708
+ v,
709
+ worker,
710
+ maddr,
711
+ TokenAmount :: zero ( ) ,
712
+ MinerMethod :: SubmitWindowedPoSt as u64 ,
713
+ Some ( params) ,
714
+ ) ;
700
715
let mut subinvocs = None ;
701
716
if let Some ( new_pow) = new_power {
702
717
if new_pow == PowerPair :: zero ( ) {
@@ -740,7 +755,7 @@ pub fn change_beneficiary(
740
755
maddr,
741
756
TokenAmount :: zero ( ) ,
742
757
MinerMethod :: ChangeBeneficiary as u64 ,
743
- beneficiary_change_proposal. clone ( ) ,
758
+ Some ( beneficiary_change_proposal. clone ( ) ) ,
744
759
) ;
745
760
}
746
761
@@ -751,7 +766,7 @@ pub fn get_beneficiary(v: &VM, from: Address, m_addr: Address) -> GetBeneficiary
751
766
m_addr,
752
767
TokenAmount :: zero ( ) ,
753
768
MinerMethod :: GetBeneficiary as u64 ,
754
- RawBytes :: default ( ) ,
769
+ None :: < RawBytes > ,
755
770
)
756
771
. deserialize ( )
757
772
. unwrap ( )
@@ -764,7 +779,7 @@ pub fn change_owner_address(v: &VM, from: Address, m_addr: Address, new_miner_ad
764
779
m_addr,
765
780
TokenAmount :: zero ( ) ,
766
781
MinerMethod :: ChangeOwnerAddress as u64 ,
767
- new_miner_addr,
782
+ Some ( new_miner_addr) ,
768
783
) ;
769
784
}
770
785
@@ -782,7 +797,7 @@ pub fn withdraw_balance(
782
797
m_addr,
783
798
TokenAmount :: zero ( ) ,
784
799
MinerMethod :: WithdrawBalance as u64 ,
785
- params. clone ( ) ,
800
+ Some ( params. clone ( ) ) ,
786
801
)
787
802
. deserialize ( )
788
803
. unwrap ( ) ;
@@ -824,7 +839,14 @@ pub fn submit_invalid_post(
824
839
chain_commit_epoch : dline_info. challenge ,
825
840
chain_commit_rand : Randomness ( TEST_VM_RAND_ARRAY . into ( ) ) ,
826
841
} ;
827
- apply_ok ( v, worker, maddr, TokenAmount :: zero ( ) , MinerMethod :: SubmitWindowedPoSt as u64 , params) ;
842
+ apply_ok (
843
+ v,
844
+ worker,
845
+ maddr,
846
+ TokenAmount :: zero ( ) ,
847
+ MinerMethod :: SubmitWindowedPoSt as u64 ,
848
+ Some ( params) ,
849
+ ) ;
828
850
}
829
851
830
852
pub fn verifreg_add_verifier ( v : & VM , verifier : Address , data_cap : StoragePower ) {
@@ -843,7 +865,7 @@ pub fn verifreg_add_verifier(v: &VM, verifier: Address, data_cap: StoragePower)
843
865
TEST_VERIFREG_ROOT_ADDR ,
844
866
TokenAmount :: zero ( ) ,
845
867
MultisigMethod :: Propose as u64 ,
846
- proposal,
868
+ Some ( proposal) ,
847
869
) ;
848
870
ExpectInvocation {
849
871
to : TEST_VERIFREG_ROOT_ADDR ,
@@ -875,7 +897,7 @@ pub fn verifreg_add_client(v: &VM, verifier: Address, client: Address, allowance
875
897
VERIFIED_REGISTRY_ACTOR_ADDR ,
876
898
TokenAmount :: zero ( ) ,
877
899
VerifregMethod :: AddVerifiedClient as u64 ,
878
- add_client_params,
900
+ Some ( add_client_params) ,
879
901
) ;
880
902
ExpectInvocation {
881
903
to : VERIFIED_REGISTRY_ACTOR_ADDR ,
@@ -923,7 +945,7 @@ pub fn verifreg_extend_claim_terms(
923
945
VERIFIED_REGISTRY_ACTOR_ADDR ,
924
946
TokenAmount :: zero ( ) ,
925
947
VerifregMethod :: ExtendClaimTerms as u64 ,
926
- params,
948
+ Some ( params) ,
927
949
) ;
928
950
}
929
951
@@ -942,7 +964,7 @@ pub fn verifreg_remove_expired_allocations(
942
964
VERIFIED_REGISTRY_ACTOR_ADDR ,
943
965
TokenAmount :: zero ( ) ,
944
966
VerifregMethod :: RemoveExpiredAllocations as u64 ,
945
- params,
967
+ Some ( params) ,
946
968
) ;
947
969
ExpectInvocation {
948
970
to : VERIFIED_REGISTRY_ACTOR_ADDR ,
@@ -976,7 +998,7 @@ pub fn datacap_get_balance(v: &VM, address: Address) -> TokenAmount {
976
998
DATACAP_TOKEN_ACTOR_ADDR ,
977
999
TokenAmount :: zero ( ) ,
978
1000
DataCapMethod :: BalanceOf as u64 ,
979
- address,
1001
+ Some ( address) ,
980
1002
) ;
981
1003
deserialize ( & ret, "balance of return value" ) . unwrap ( )
982
1004
}
@@ -1007,7 +1029,7 @@ pub fn datacap_extend_claim(
1007
1029
DATACAP_TOKEN_ACTOR_ADDR ,
1008
1030
TokenAmount :: zero ( ) ,
1009
1031
DataCapMethod :: Transfer as u64 ,
1010
- transfer_params,
1032
+ Some ( transfer_params) ,
1011
1033
) ;
1012
1034
1013
1035
ExpectInvocation {
@@ -1061,7 +1083,7 @@ pub fn market_add_balance(v: &VM, sender: Address, beneficiary: Address, amount:
1061
1083
STORAGE_MARKET_ACTOR_ADDR ,
1062
1084
amount,
1063
1085
MarketMethod :: AddBalance as u64 ,
1064
- beneficiary,
1086
+ Some ( beneficiary) ,
1065
1087
) ;
1066
1088
}
1067
1089
@@ -1107,7 +1129,7 @@ pub fn market_publish_deal(
1107
1129
STORAGE_MARKET_ACTOR_ADDR ,
1108
1130
TokenAmount :: zero ( ) ,
1109
1131
MarketMethod :: PublishStorageDeals as u64 ,
1110
- publish_params,
1132
+ Some ( publish_params) ,
1111
1133
)
1112
1134
. deserialize ( )
1113
1135
. unwrap ( ) ;
0 commit comments