diff --git a/src/rpc/registry/methods_reg.rs b/src/rpc/registry/methods_reg.rs index 2d84a9c5aa72..bdabd0d7768c 100644 --- a/src/rpc/registry/methods_reg.rs +++ b/src/rpc/registry/methods_reg.rs @@ -109,9 +109,9 @@ macro_rules! register_actor_methods { $registry.register_method( $code_cid, $method as MethodNum, - |bytes| -> anyhow::Result<()> { + |bytes| -> anyhow::Result { if bytes.is_empty() { - Ok(()) + Ok(serde_json::json!({})) } else { Ok(fvm_ipld_encoding::from_slice(bytes)?) } diff --git a/src/tool/subcommands/api_cmd/api_compare_tests.rs b/src/tool/subcommands/api_cmd/api_compare_tests.rs index fba0e3f293f7..9d5b9f8607fb 100644 --- a/src/tool/subcommands/api_cmd/api_compare_tests.rs +++ b/src/tool/subcommands/api_cmd/api_compare_tests.rs @@ -1963,6 +1963,12 @@ fn state_decode_params_api_tests(tipset: &Tipset) -> anyhow::Result to_vec(&reward_update_network_params)?, tipset.key().into(), ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::REWARD_ACTOR, + fil_actor_reward_state::v16::Method::ThisEpochReward as u64, + vec![], + tipset.key().into(), + ))?), RpcTest::identity(StateDecodeParams::request(( Address::POWER_ACTOR, fil_actor_power_state::v16::Method::CreateMiner as u64, @@ -2007,6 +2013,48 @@ fn state_decode_params_api_tests(tipset: &Tipset) -> anyhow::Result // to_vec(&power_miner_power_exp_params)?, // tipset.key().into(), // ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::POWER_ACTOR, + fil_actor_power_state::v16::Method::Constructor as u64, + vec![], + tipset.key().into(), + ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::POWER_ACTOR, + fil_actor_power_state::v16::Method::OnEpochTickEnd as u64, + vec![], + tipset.key().into(), + ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::POWER_ACTOR, + fil_actor_power_state::v16::Method::CurrentTotalPower as u64, + vec![], + tipset.key().into(), + ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::POWER_ACTOR, + fil_actor_power_state::v16::Method::NetworkRawPowerExported as u64, + vec![], + tipset.key().into(), + ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::POWER_ACTOR, + fil_actor_power_state::v16::Method::MinerCountExported as u64, + vec![], + tipset.key().into(), + ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::POWER_ACTOR, + fil_actor_power_state::v16::Method::MinerConsensusCountExported as u64, + vec![], + tipset.key().into(), + ))?), + RpcTest::identity(StateDecodeParams::request(( + Address::SYSTEM_ACTOR, + fil_actor_system_state::v16::Method::Constructor as u64, + vec![], + tipset.key().into(), + ))?), ]; Ok(tests) diff --git a/src/tool/subcommands/api_cmd/test_snapshots.txt b/src/tool/subcommands/api_cmd/test_snapshots.txt index 5146d8354577..8132fc8e4c0a 100644 --- a/src/tool/subcommands/api_cmd/test_snapshots.txt +++ b/src/tool/subcommands/api_cmd/test_snapshots.txt @@ -143,6 +143,14 @@ filecoin_statedecodeparams_1753985928338431.rpcsnap.json.zst filecoin_statedecodeparams_1753985928337192.rpcsnap.json.zst filecoin_statedecodeparams_1753985928337443.rpcsnap.json.zst filecoin_statedecodeparams_1753985928337618.rpcsnap.json.zst +filecoin_power_minercount_statedecodeparams_1754479441718517.rpcsnap.json.zst +filecoin_system_constructor_statedecodeparams_1754479441718641.rpcsnap.json.zst +filecoin_power_constructor_statedecodeparams_1754479441718709.rpcsnap.json.zst +filecoin_power_minerconsensuscount_statedecodeparams_1754479441718804.rpcsnap.json.zst +filecoin_power_currenttotalpower_statedecodeparams_1754479441718859.rpcsnap.json.zst +filecoin_power_onepochtickend_statedecodeparams_1754479441718920.rpcsnap.json.zst +filecoin_reward_thisepochreward_statedecodeparams_1754479441718972.rpcsnap.json.zst +filecoin_power_networkrawpower_statedecodeparams_1754479441719018.rpcsnap.json.zst filecoin_statereplay_1743504051038215.rpcsnap.json.zst filecoin_statesearchmsg_1741784596636715.rpcsnap.json.zst filecoin_statesearchmsglimited_1741784596704876.rpcsnap.json.zst