diff --git a/src/backend/memory.rs b/src/backend/memory.rs index 19b820e57..6eac4a190 100644 --- a/src/backend/memory.rs +++ b/src/backend/memory.rs @@ -146,6 +146,10 @@ impl<'vicinity> Backend for MemoryBackend<'vicinity> { self.code(address) } + fn init_data_as_json(&self, _address: H160) -> Vec { + Vec::new() + } + fn storage(&self, address: H160, index: H256) -> H256 { self.state .get(&address) diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 9af7a16c7..3e425b60f 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -81,6 +81,8 @@ pub trait Backend { fn code(&self, address: H160) -> Vec; /// Get account code formatted as json (if possible) fn code_as_json(&self, address: H160) -> Vec; + /// Get contract init data formatted as json (if possible) + fn init_data_as_json(&self, address: H160) -> Vec; /// Get storage value of address at inasex. fn storage(&self, address: H160, index: H256) -> H256; /// Get original storage value of address at index, if available. diff --git a/src/executor/stack/memory.rs b/src/executor/stack/memory.rs index 610268797..d859046cd 100644 --- a/src/executor/stack/memory.rs +++ b/src/executor/stack/memory.rs @@ -481,6 +481,10 @@ impl<'backend, 'config, B: Backend> Backend for MemoryStackState<'backend, 'conf self.backend.code_as_json(address) } + fn init_data_as_json(&self, address: H160) -> Vec { + self.backend.init_data_as_json(address) + } + fn storage(&self, address: H160, key: H256) -> H256 { self.substate .known_storage(address, key)