Removing value from delegatecall function
This commit is contained in:
parent
aa0760597b
commit
8084e1b6d7
@ -68,7 +68,6 @@ pub trait Ext {
|
|||||||
/// and true if subcall was successfull.
|
/// and true if subcall was successfull.
|
||||||
fn delegatecall(&mut self,
|
fn delegatecall(&mut self,
|
||||||
gas: &U256,
|
gas: &U256,
|
||||||
value: &U256,
|
|
||||||
data: &[u8],
|
data: &[u8],
|
||||||
code_address: &Address,
|
code_address: &Address,
|
||||||
output: &mut [u8]) -> MessageCallResult;
|
output: &mut [u8]) -> MessageCallResult;
|
||||||
|
@ -569,8 +569,6 @@ impl Interpreter {
|
|||||||
let code_address = stack.pop_back();
|
let code_address = stack.pop_back();
|
||||||
let code_address = u256_to_address(&code_address);
|
let code_address = u256_to_address(&code_address);
|
||||||
|
|
||||||
let value = params.value;
|
|
||||||
|
|
||||||
let in_off = stack.pop_back();
|
let in_off = stack.pop_back();
|
||||||
let in_size = stack.pop_back();
|
let in_size = stack.pop_back();
|
||||||
let out_off = stack.pop_back();
|
let out_off = stack.pop_back();
|
||||||
@ -587,7 +585,7 @@ impl Interpreter {
|
|||||||
// and we don't want to copy
|
// and we don't want to copy
|
||||||
let input = unsafe { ::std::mem::transmute(mem.read_slice(in_off, in_size)) };
|
let input = unsafe { ::std::mem::transmute(mem.read_slice(in_off, in_size)) };
|
||||||
let output = mem.writeable_slice(out_off, out_size);
|
let output = mem.writeable_slice(out_off, out_size);
|
||||||
ext.delegatecall(&call_gas, &value, input, &code_address, output)
|
ext.delegatecall(&call_gas, input, &code_address, output)
|
||||||
};
|
};
|
||||||
|
|
||||||
return match call_result {
|
return match call_result {
|
||||||
|
@ -71,7 +71,6 @@ impl Ext for FakeExt {
|
|||||||
|
|
||||||
fn delegatecall(&mut self,
|
fn delegatecall(&mut self,
|
||||||
_gas: &U256,
|
_gas: &U256,
|
||||||
_value: &U256,
|
|
||||||
_data: &[u8],
|
_data: &[u8],
|
||||||
_address: &Address,
|
_address: &Address,
|
||||||
_output: &mut [u8]) -> MessageCallResult {
|
_output: &mut [u8]) -> MessageCallResult {
|
||||||
|
@ -18,6 +18,7 @@ pub enum OutputPolicy<'a> {
|
|||||||
/// Transaction properties that externalities need to know about.
|
/// Transaction properties that externalities need to know about.
|
||||||
pub struct OriginInfo {
|
pub struct OriginInfo {
|
||||||
sender: Address,
|
sender: Address,
|
||||||
|
value: U256,
|
||||||
address: Address,
|
address: Address,
|
||||||
origin: Address,
|
origin: Address,
|
||||||
gas_price: U256
|
gas_price: U256
|
||||||
@ -28,6 +29,7 @@ impl OriginInfo {
|
|||||||
pub fn from(params: &ActionParams) -> Self {
|
pub fn from(params: &ActionParams) -> Self {
|
||||||
OriginInfo {
|
OriginInfo {
|
||||||
sender: params.sender.clone(),
|
sender: params.sender.clone(),
|
||||||
|
value: params.value.clone(),
|
||||||
address: params.address.clone(),
|
address: params.address.clone(),
|
||||||
origin: params.origin.clone(),
|
origin: params.origin.clone(),
|
||||||
gas_price: params.gas_price.clone()
|
gas_price: params.gas_price.clone()
|
||||||
@ -134,7 +136,6 @@ impl<'a> Ext for Externalities<'a> {
|
|||||||
|
|
||||||
fn delegatecall(&mut self,
|
fn delegatecall(&mut self,
|
||||||
gas: &U256,
|
gas: &U256,
|
||||||
value: &U256,
|
|
||||||
data: &[u8],
|
data: &[u8],
|
||||||
code_address: &Address,
|
code_address: &Address,
|
||||||
output: &mut [u8]) -> MessageCallResult {
|
output: &mut [u8]) -> MessageCallResult {
|
||||||
@ -146,7 +147,7 @@ impl<'a> Ext for Externalities<'a> {
|
|||||||
origin: self.origin_info.origin.clone(),
|
origin: self.origin_info.origin.clone(),
|
||||||
gas: *gas,
|
gas: *gas,
|
||||||
gas_price: self.origin_info.gas_price.clone(),
|
gas_price: self.origin_info.gas_price.clone(),
|
||||||
value: value.clone(),
|
value: self.origin_info.value.clone(),
|
||||||
is_value_transfer: false,
|
is_value_transfer: false,
|
||||||
code: self.state.code(code_address),
|
code: self.state.code(code_address),
|
||||||
data: Some(data.to_vec()),
|
data: Some(data.to_vec()),
|
||||||
|
@ -117,7 +117,6 @@ impl<'a> Ext for TestExt<'a> {
|
|||||||
|
|
||||||
fn delegatecall(&mut self,
|
fn delegatecall(&mut self,
|
||||||
gas: &U256,
|
gas: &U256,
|
||||||
value: &U256,
|
|
||||||
data: &[u8],
|
data: &[u8],
|
||||||
_code_address: &Address,
|
_code_address: &Address,
|
||||||
_output: &mut [u8]) -> MessageCallResult {
|
_output: &mut [u8]) -> MessageCallResult {
|
||||||
@ -126,7 +125,7 @@ impl<'a> Ext for TestExt<'a> {
|
|||||||
data: data.to_vec(),
|
data: data.to_vec(),
|
||||||
destination: None,
|
destination: None,
|
||||||
gas_limit: *gas,
|
gas_limit: *gas,
|
||||||
value: *value
|
value: U256::zero()
|
||||||
});
|
});
|
||||||
MessageCallResult::Success(*gas)
|
MessageCallResult::Success(*gas)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user