From ddc3486af7cb16a2dd2eda1a11f3b05197a8a399 Mon Sep 17 00:00:00 2001 From: Ricardo Guilherme Schmidt <3esmit@gmail.com> Date: Thu, 15 Mar 2018 23:26:14 -0300 Subject: [PATCH] include msg.sender in sender signature --- contracts/status/MessageDeliveryPayout.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/status/MessageDeliveryPayout.sol b/contracts/status/MessageDeliveryPayout.sol index 163df9d..ecc1b49 100644 --- a/contracts/status/MessageDeliveryPayout.sol +++ b/contracts/status/MessageDeliveryPayout.sol @@ -21,13 +21,13 @@ contract MessageDeliveryPayout { * @param _receiver the address of message destination * @param _message the hash of the message * @param _deliveryFee the amount willing to pay to deliver the message - * @param _senderSignature signature of contract address, message receiver, message hash, and delivery fee by `_sender` + * @param _senderSignature signature of contract address, message receiver, message hash, the node that contains the message and the delivery fee by `_sender` * @param _receiverSignature signature of contract adress, message hash */ function confirmDelivery(address _sender, address _receiver, bytes32 _message, uint256 _deliveryFee, bytes _senderSignature, bytes _receiverSignature) public { require(!delivered[_message]); var (v,r,s) = signatureSplit(_senderSignature); - require(ecrecover(getSignedHash(keccak256(address(this), _receiver, _message, _deliveryFee)), v,r,s) == address(_sender)); + require(ecrecover(getSignedHash(keccak256(address(this), _receiver, _message, address(msg.sender), _deliveryFee)), v,r,s) == address(_sender)); (v,r,s) = signatureSplit(_receiverSignature); require(ecrecover(getSignedHash(keccak256(address(this), _message)), v,r,s) == address(_receiver)); SNT.transferFrom(_sender, msg.sender, _deliveryFee);