mirror of
https://github.com/status-im/contracts.git
synced 2025-02-23 20:18:42 +00:00
encapstulate message hashing as views
This commit is contained in:
parent
6fbb3b703a
commit
3ac4be7bbd
@ -69,9 +69,7 @@ contract MessageTribute is MessageSigned {
|
|||||||
require(_timeLimit <= block.timestamp);
|
require(_timeLimit <= block.timestamp);
|
||||||
address grantor = recoverAddress(
|
address grantor = recoverAddress(
|
||||||
getSignHash(
|
getSignHash(
|
||||||
keccak256(
|
getGrantAudienceHash(
|
||||||
address(this),
|
|
||||||
bytes4(keccak256("grantAudience(bytes32,bool,bool,bytes32)")),
|
|
||||||
keccak256(_requesterSignature),
|
keccak256(_requesterSignature),
|
||||||
_approve,
|
_approve,
|
||||||
_waive,
|
_waive,
|
||||||
@ -86,9 +84,7 @@ contract MessageTribute is MessageSigned {
|
|||||||
granted[hashedSecret] = true;
|
granted[hashedSecret] = true;
|
||||||
address requester = recoverAddress(
|
address requester = recoverAddress(
|
||||||
getSignHash(
|
getSignHash(
|
||||||
keccak256(
|
getRequestAudienceHash(
|
||||||
address(this),
|
|
||||||
bytes4(keccak256("requestAudience(address,bytes32,uint256)")),
|
|
||||||
grantor,
|
grantor,
|
||||||
hashedSecret,
|
hashedSecret,
|
||||||
_timeLimit
|
_timeLimit
|
||||||
@ -96,6 +92,7 @@ contract MessageTribute is MessageSigned {
|
|||||||
),
|
),
|
||||||
_requesterSignature
|
_requesterSignature
|
||||||
);
|
);
|
||||||
|
|
||||||
require(lastAudienceDeniedTimestamp[grantor][requester] + 3 days <= now);
|
require(lastAudienceDeniedTimestamp[grantor][requester] + 3 days <= now);
|
||||||
if(!_approve)
|
if(!_approve)
|
||||||
lastAudienceDeniedTimestamp[grantor][requester] = block.timestamp;
|
lastAudienceDeniedTimestamp[grantor][requester] = block.timestamp;
|
||||||
@ -111,6 +108,44 @@ contract MessageTribute is MessageSigned {
|
|||||||
emit AudienceGranted(grantor, requester, _approve);
|
emit AudienceGranted(grantor, requester, _approve);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getGrantAudienceHash(
|
||||||
|
bytes32 _requesterSignatureHash,
|
||||||
|
bool _approve,
|
||||||
|
bool _waive,
|
||||||
|
bytes32 _secret
|
||||||
|
)
|
||||||
|
public
|
||||||
|
view
|
||||||
|
returns(bytes32)
|
||||||
|
{
|
||||||
|
return keccak256(
|
||||||
|
address(this),
|
||||||
|
bytes4(keccak256("grantAudience(bytes32,bool,bool,bytes32)")),
|
||||||
|
_requesterSignatureHash,
|
||||||
|
_approve,
|
||||||
|
_waive,
|
||||||
|
_secret
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getRequestAudienceHash(
|
||||||
|
address grantor,
|
||||||
|
bytes32 hashedSecret,
|
||||||
|
uint _timeLimit
|
||||||
|
)
|
||||||
|
public
|
||||||
|
view
|
||||||
|
returns(bytes32)
|
||||||
|
{
|
||||||
|
return keccak256(
|
||||||
|
address(this),
|
||||||
|
bytes4(keccak256("requestAudience(address,bytes32,uint256)")),
|
||||||
|
grantor,
|
||||||
|
hashedSecret,
|
||||||
|
_timeLimit
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notice Determine if msg.sender ha enough funds to chat with `_to`
|
* @notice Determine if msg.sender ha enough funds to chat with `_to`
|
||||||
* @param _to Account `msg.sender` wishes to talk to
|
* @param _to Account `msg.sender` wishes to talk to
|
||||||
|
Loading…
x
Reference in New Issue
Block a user