Skip to content

Instantly share code, notes, and snippets.

@dulumao
dulumao / TheAirdropDistributor.sol
Created October 25, 2022 03:38 — forked from tntdev21/TheAirdropDistributor.sol
Airdrop contract distributor by merkle tree vs ECDSA signature
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;
import "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol";
import "../libs/fota/MerkelProof.sol";
contract TheAirdropDistributor is EIP712Upgradeable {
pragma solidity 0.5.17;
import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol";
import "@openzeppelin/contracts/ownership/Ownable.sol";
import './interfaces/IUniswapV2Router01.sol';
contract IERC20Burnable is IERC20 {
@dulumao
dulumao / p2pclient.go
Created January 9, 2019 03:02 — forked from guileen/p2pclient.go
Go P2P Demo
// golang p2p udp client
package main
import (
"fmt"
"net"
"log"
"encoding/binary"
"encoding/hex"
@dulumao
dulumao / serve.go
Created September 7, 2018 04:02 — forked from rivo/serve.go
Graceful stop and restart for HTTP servers in Go
package main
import (
"context"
"fmt"
"net"
"net/http"
"os"
"os/exec"
"os/signal"
@dulumao
dulumao / golang-template-if-and.go
Created August 30, 2018 06:02 — forked from rms1000watt/golang-template-if-and.go
Golang script for using templates with IF and AND
package main
import (
"fmt"
"os"
"text/template"
)
type Person struct {
Name string
@dulumao
dulumao / check.go
Created August 10, 2018 03:01 — forked from mattes/check.go
Check if file or directory exists in Golang
if _, err := os.Stat("/path/to/whatever"); os.IsNotExist(err) {
// path/to/whatever does not exist
}
if _, err := os.Stat("/path/to/whatever"); err == nil {
// path/to/whatever exists
}
@dulumao
dulumao / ocp.php
Created December 15, 2017 02:48 — forked from ck-on/ocp.php
OCP - Opcache Control Panel (aka Zend Optimizer+ Control Panel for PHP)#ocp #php #opcache #opcode #cache #zend #optimizerplus #optimizer+
<?php
/*
OCP - Opcache Control Panel (aka Zend Optimizer+ Control Panel for PHP)
Author: _ck_ (with contributions by GK, stasilok)
Version: 0.1.7
Free for any kind of use or modification, I am not responsible for anything, please share your improvements
* revision history
0.1.7 2015-09-01 regex fix for PHP7 phpinfo
0.1.6 2013-04-12 moved meta to footer so graphs can be higher and reduce clutter
@dulumao
dulumao / browser-language-codes.js
Created November 26, 2017 00:41 — forked from wpsmith/browser-language-codes.js
JS: Object of Browser Language Codes
// <![CDATA[
var langCodes = {
"af": "Afrikaans",
"sq": "Albanian",
"ar": "Arabic (Standard)",
"ar-dz": "Arabic (Algeria)",
"ar-bh": "Arabic (Bahrain)",
"ar-eg": "Arabic (Egypt)",
"ar-iq": "Arabic (Iraq)",
"ar-jo": "Arabic (Jordan)",
@dulumao
dulumao / imgpreLoad.js
Created January 4, 2017 08:43 — forked from hehongwei44/imgpreLoad.js
图片预加载
// 更新:
// 05.27: 1、保证回调执行顺序:error > ready > load;2、回调函数this指向img本身
// 04-02: 1、增加图片完全加载后的回调 2、提高性能
/**
* 图片头数据加载就绪事件 - 更快获取图片尺寸
* @version 2011.05.27
* @author TangBin(PS:我不是作者,我只是代码的搬运工)
* @see http://www.planeart.cn/?p=1121
* @param {String} 图片路径
@dulumao
dulumao / github_post_recieve.php
Created June 17, 2016 09:36 — forked from cowboy/github_post_recieve.php
GitHub PHP webhook to auto-pull on repo push
<?php
// Use in the "Post-Receive URLs" section of your GitHub repo.
if ( $_POST['payload'] ) {
shell_exec( 'cd /srv/www/git-repo/ && git reset --hard HEAD && git pull' );
}
?>hi