Skip to content

Commit 332a107

Browse files
Stebalienshamb0
authored andcommitted
fix: remove input_data from EVM constructor (filecoin-project#661)
EVM contracts don't take parameters on construction.
1 parent c964961 commit 332a107

File tree

7 files changed

+11
-24
lines changed

7 files changed

+11
-24
lines changed

actors/evm/src/lib.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,7 @@ impl EvmContractActor {
6868
})?;
6969

7070
// create a new execution context
71-
let mut exec_state = ExecutionState::new(
72-
Method::Constructor as u64,
73-
Bytes::copy_from_slice(&params.input_data),
74-
);
71+
let mut exec_state = ExecutionState::new(Method::Constructor as u64, Bytes::new());
7572

7673
// identify bytecode valid jump destinations
7774
let bytecode = Bytecode::new(&params.bytecode)
@@ -266,7 +263,6 @@ impl ActorCode for EvmContractActor {
266263
#[derive(Serialize_tuple, Deserialize_tuple)]
267264
pub struct ConstructorParams {
268265
pub bytecode: RawBytes,
269-
pub input_data: RawBytes,
270266
}
271267

272268
#[derive(Serialize_tuple, Deserialize_tuple)]

actors/evm/tests/basic.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ fn basic_contract_construction_and_invocation() {
1717

1818
let params = evm::ConstructorParams {
1919
bytecode: hex::decode(include_str!("simplecoin.hex")).unwrap().into(),
20-
input_data: RawBytes::default(),
2120
};
2221

2322
// invoke constructor
@@ -99,8 +98,7 @@ return
9998
let mut rt = MockRuntime::default();
10099

101100
rt.expect_validate_caller_any();
102-
let params =
103-
evm::ConstructorParams { bytecode: init_code.into(), input_data: RawBytes::default() };
101+
let params = evm::ConstructorParams { bytecode: init_code.into() };
104102
let result = rt
105103
.call::<evm::EvmContractActor>(
106104
evm::Method::Constructor as u64,
@@ -140,8 +138,7 @@ sstore";
140138
let mut rt = MockRuntime::default();
141139

142140
rt.expect_validate_caller_any();
143-
let params =
144-
evm::ConstructorParams { bytecode: init_code.into(), input_data: RawBytes::default() };
141+
let params = evm::ConstructorParams { bytecode: init_code.into() };
145142
let result = rt
146143
.call::<evm::EvmContractActor>(
147144
evm::Method::Constructor as u64,

actors/evm/tests/calc.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ fn test_magic_calc() {
7575
// invoke constructor
7676
rt.expect_validate_caller_any();
7777

78-
let params =
79-
evm::ConstructorParams { bytecode: contract.into(), input_data: RawBytes::default() };
78+
let params = evm::ConstructorParams { bytecode: contract.into() };
8079

8180
let result = rt
8281
.call::<evm::EvmContractActor>(

actors/evm/tests/call.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ fn test_call() {
6363
// construct the proxy
6464
let contract = call_proxy_contract();
6565
rt.expect_validate_caller_any();
66-
let params =
67-
evm::ConstructorParams { bytecode: contract.into(), input_data: RawBytes::default() };
66+
let params = evm::ConstructorParams { bytecode: contract.into() };
6867
let result = rt
6968
.call::<evm::EvmContractActor>(
7069
evm::Method::Constructor as u64,
@@ -131,8 +130,7 @@ fn test_methodnum() {
131130

132131
let contract = methodnum_contract();
133132
rt.expect_validate_caller_any();
134-
let params =
135-
evm::ConstructorParams { bytecode: contract.into(), input_data: RawBytes::default() };
133+
let params = evm::ConstructorParams { bytecode: contract.into() };
136134
let result = rt
137135
.call::<evm::EvmContractActor>(
138136
evm::Method::Constructor as u64,
@@ -204,8 +202,7 @@ fn test_callactor() {
204202
// construct the proxy
205203
let contract = callactor_proxy_contract();
206204
rt.expect_validate_caller_any();
207-
let params =
208-
evm::ConstructorParams { bytecode: contract.into(), input_data: RawBytes::default() };
205+
let params = evm::ConstructorParams { bytecode: contract.into() };
209206
let result = rt
210207
.call::<evm::EvmContractActor>(
211208
evm::Method::Constructor as u64,

actors/evm/tests/ext_opcodes.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ fn test_extcodesize() {
3434

3535
let mut rt = MockRuntime::default();
3636
rt.expect_validate_caller_any();
37-
let params = evm::ConstructorParams { bytecode, input_data: RawBytes::default() };
37+
let params = evm::ConstructorParams { bytecode };
3838
let result = rt
3939
.call::<evm::EvmContractActor>(
4040
evm::Method::Constructor as u64,
@@ -93,7 +93,7 @@ fn test_extcodehash() {
9393

9494
let mut rt = MockRuntime::default();
9595
rt.expect_validate_caller_any();
96-
let params = evm::ConstructorParams { bytecode, input_data: RawBytes::default() };
96+
let params = evm::ConstructorParams { bytecode };
9797
let result = rt
9898
.call::<evm::EvmContractActor>(
9999
evm::Method::Constructor as u64,
@@ -150,7 +150,7 @@ fn test_extcodecopy() {
150150

151151
let mut rt = MockRuntime::default();
152152
rt.expect_validate_caller_any();
153-
let params = evm::ConstructorParams { bytecode, input_data: RawBytes::default() };
153+
let params = evm::ConstructorParams { bytecode };
154154
let result = rt
155155
.call::<evm::EvmContractActor>(
156156
evm::Method::Constructor as u64,

actors/evm/tests/precompile.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ fn test_precompile_hash() {
4545
// invoke constructor
4646
rt.expect_validate_caller_any();
4747

48-
let params =
49-
evm::ConstructorParams { bytecode: contract.into(), input_data: RawBytes::default() };
48+
let params = evm::ConstructorParams { bytecode: contract.into() };
5049

5150
let result = rt
5251
.call::<evm::EvmContractActor>(

actors/evm/tests/selfdestruct.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ fn test_selfdestruct() {
1212

1313
let params = evm::ConstructorParams {
1414
bytecode: hex::decode(include_str!("selfdestruct.hex")).unwrap().into(),
15-
input_data: RawBytes::default(),
1615
};
1716

1817
// invoke constructor

0 commit comments

Comments
 (0)