* GSN support Add base Context contract Add GSNContext and tests Add RelayHub deployment to tests Add RelayProvider integration, complete GSNContext tests Switch dependency to openzeppelin-gsn-provider Add default txfee to provider Add basic signing recipient Sign more values Add comment clarifying RelayHub's msg.data Make context constructors internal Rename SigningRecipient to GSNRecipientSignedData Add ERC20Charge recipients Harcode RelayHub address into GSNContext Fix Solidity linter errors Run server from binary, use gsn-helpers to fund it Migrate to published @openzeppelin/gsn-helpers Silence false-positive compiler warning Use GSN helper assertions Rename meta-tx to gsn, take out of drafts Merge ERC20 charge recipients into a single one Rename GSNRecipients to Bouncers Add GSNBouncerUtils to decouple the bouncers from GSNRecipient Add _upgradeRelayHub Store RelayHub address using unstructored storage Add IRelayHub Add _withdrawDeposits to GSNRecipient Add relayHub version to recipient Make _acceptRelayedCall and _declineRelayedCall easier to use Rename GSNBouncerUtils to GSNBouncerBase, make it IRelayRecipient Improve GSNBouncerBase, make pre and post sender-protected and optional Fix GSNBouncerERC20Fee, add tests Add missing GSNBouncerSignature test Override transferFrom in __unstable__ERC20PrimaryAdmin Rhub address slot reduced by 1 Rename relay hub changed event Use released gsn-provider * move gsn to all caps * update to gsn contracts in solidity/master * Adapt for ethereum-package * update gsn related packages * update dependencies to match contracts repo * remove mocha bail option * add changelog entry * add constructors to mocks * use unstructured storage for bouncer implementations
28 lines
1.1 KiB
Solidity
28 lines
1.1 KiB
Solidity
pragma solidity ^0.5.0;
|
|
|
|
/*
|
|
* @dev Provides information about the current execution context, including the
|
|
* sender of the transaction and its data. While these are generally available
|
|
* via msg.sender and msg.data, they not should not be accessed in such a direct
|
|
* manner, since when dealing with GSN meta-transactions the account sending and
|
|
* paying for execution may not be the actual sender (as far as an application
|
|
* is concerned).
|
|
*
|
|
* This contract is only required for intermediate, library-like contracts.
|
|
*/
|
|
contract Context {
|
|
// Empty internal constructor, to prevent people from mistakenly deploying
|
|
// an instance of this contract, with should be used via inheritance.
|
|
constructor () internal { }
|
|
// solhint-disable-previous-line no-empty-blocks
|
|
|
|
function _msgSender() internal view returns (address) {
|
|
return msg.sender;
|
|
}
|
|
|
|
function _msgData() internal view returns (bytes memory) {
|
|
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
|
|
return msg.data;
|
|
}
|
|
}
|