filecoin-project / filecoin-project/fvm-workbench
Ethereum tests don't work on the real FVM
- Dominant language
- Rust
- Stars
- 6
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
An example test like `placeholder_deploy_test` fails to run to completion on the workbench.
```
v.execute_message_implicit(
&EAM_ACTOR_ADDR, // so this works even if "m2-native" is disabled.
&INIT_ACTOR_ADDR,
&TokenAmount::zero(),
fil_actor_init::Method::Exec4 as u64,
Some(serialize_ok(&fil_actor_init::Exec4Params {
code_cid: *MULTISIG_ACTOR_CODE_ID,
constructor_params: msig_ctor_params.clone(),
subaddress: subaddr[..].to_owned().into(),
})),
)
.unwrap()
```
However, the call from the INIT_ACTOR_ADDR to the placeholder's address returns with ExitCode::10, failing to deploy an actor over the placeholder.
```
InvocationTrace {
from: 10,
to: Address { payload: ID(1) },
value: TokenAmount(0.0),
method: 3,
params: Some(IpldBlock {...}),
error_number: None,
exit_code: ExitCode { value: 10 },
return_value: None,
subinvocations: [
InvocationTrace {
from: 1,
to: Address { payload: ID(103) },
value: TokenAmount(0.0),
method: 1,
params: Some(IpldBlock {...}),
error_number: None,
exit_code: ExitCode { value: 10 },
return_value: None,
subinvocations: []
}
]
}
```
The backtrace shows that this happens when trying to instantiate the placeholder module from this code in ref_fvm/fvm/src/call_manager/default.rs
```
// Instantiate the module.
let instance = engine
.instantiate(&mut store, &state.code)?
.context("actor not found")
.map_err(Abort::Fatal)?;
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.