Skip to content

Instantly share code, notes, and snippets.

View k06a's full-sized avatar
🚀
DeFi dreamer

Anton Bukov k06a

🚀
DeFi dreamer
View GitHub Profile
@k06a
k06a / OneDex.sol
Last active November 26, 2019 09:18
OneDex
pragma solidity ^0.5.0;
//pragma experimental ABIEncoderV2;
import "github.com/openzeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol";
interface InteractiveTaker {
function interact(
IERC20 takerAsset,
@k06a
k06a / UniversalERC20.sol
Created November 18, 2019 10:02
UniversalERC20
pragma solidity ^0.5.0;
import "@openzeppelin/contracts/math/SafeMath.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
//
// using UniversalERC20 for IERC20;
//
@k06a
k06a / SplitKyber.sol
Created November 1, 2019 13:33
SplitKyber
pragma solidity ^0.5.0;
import "github.com/openzeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol";
interface IKyberReserve {
function trade(
@k06a
k06a / Unipool.sol
Last active November 6, 2019 12:13
ETH-sETH Staking Pool for SNX reward
pragma solidity ^0.5.0;
import "github.com/openzeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20Detailed.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol";
contract Unipool is ERC20, ERC20Detailed("Unipool", "SNX-UNP", 18) {
@k06a
k06a / Loopring Pool
Created October 5, 2019 21:04
Loopring Pool
pragma solidity ^0.5.0;
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
/*
*
* staker1: |===========|
* : :
* staker2: : |===========|
* : : : :
@k06a
k06a / rDAI.sol
Last active June 16, 2020 01:13
rDAI 2.0 Concept
pragma solidity ^0.5.0;
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20Mintable.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20Detailed.sol";
contract IFulcrum is IERC20 {
function tokenPrice() external view returns (uint256 price);
function mint(address receiver, uint256 amount) external returns (uint256 minted);
@k06a
k06a / MovingValue.sol
Created September 18, 2019 13:24
MovingValue
pragma solidity ^0.5.0;
import "github.com/openzeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol";
library MovingValue {
using SafeMath for uint256;
struct Data {
@k06a
k06a / gDAI.sol
Last active September 8, 2019 10:28
gDAI
pragma solidity ^0.5.0;
// TODO: Use latest git version with GSN support => "@openzeppelin/contracts@next"
import "github.com/openzeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20Detailed.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/ownership/Ownable.sol";
import "github.com/openzeppelin/openzeppelin-contracts/contracts/GSN/GSNRecipient.sol";
@k06a
k06a / Minterest.sol
Last active August 27, 2019 21:27
Minterest
pragma solidity ^0.5.0;
import "@openzeppelin/contracts/math/SafeMath.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "./UniversalERC20.sol";
contract Minterest is ERC20 {
using SafeMath for uint256;
@k06a
k06a / AuRa.cpp
Last active August 15, 2019 08:01
AuRa Random
#include <iostream>
#include <vector>
#include <math.h>
#include <numeric>
#include <tuple>
#include <algorithm>
std::tuple<std::vector<int>,int> selectRandom1(std::vector<int> likehoods, int sum, uint m) {