Skip to content

Instantly share code, notes, and snippets.

View clesaege's full-sized avatar

Clément Lesaege clesaege

View GitHub Profile
pragma solidity 0.5.1;
import "https://github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
contract CompositeERC20 is ERC20 {
ERC20 tokenA;
ERC20 tokenB;
/**
* @title Crafted Token
* @author Clément Lesaege - <clement@lesaege.com>
* This is a first draft, tests, audits and bug bounties need to be done.
*/
pragma solidity ^0.4.20;
import "https://github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol";
import "https://github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol";
/**
* @title Anti KYC wrapper
* @author Clément Lesaege - <clement@lesaege.com>
* This contract has been developed to show that KYC for ICO can easily be bypassed.
* Someone wanting to allow everyone to bypass KYC must have this contract whitelisted.
* Then anyone can buy tokens throught this contract.
* This contract assumes that the function to buy tokens is just the fallback function and that tokens are emmited immediately (which is the case in most ICOs).
* If it is not the case, the code has to be adapated to the particular ICO.
* Note that this contract works even if token are initaly locked.
*
0x207B04c495eC3eA5F5738B29288300Ba1536A32c