Skip to content

Instantly share code, notes, and snippets.

@pom421
Created February 7, 2023 09:18
Show Gist options
  • Save pom421/c617924e13e88df996f87097eb706c8e to your computer and use it in GitHub Desktop.
Save pom421/c617924e13e88df996f87097eb706c8e to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Whitelist
* @dev
*/
contract Whitelist {
mapping (address => bool) whitelist;
event Authorized(address _address);
event SendEth(address _address, uint _value);
function authorize(address _address) external payable {
require(check(), "You are not allowed.");
whitelist[_address] = true;
emit Authorized(_address);
}
function check() private view returns(bool) {
return whitelist[msg.sender] == true;
}
receive() external payable {
emit SendEth(msg.sender, msg.value);
}
fallback() external payable {
emit SendEth(msg.sender, msg.value);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment