Skip to content

Instantly share code, notes, and snippets.

@clar
clar / Contribution.sol
Last active July 24, 2017 15:36
Contribution.sol
pragma solidity ^0.4.11;
import "./SafeMath.sol";
import "./Owned.sol";
contract Contribution is SafeMath, Owned {
uint256 public constant MIN_FUND = (0.01 ether);
uint256 public constant CRAWDSALE_START_DAY = 1;
uint256 public constant CRAWDSALE_END_DAY = 7;
uint256 public dayCycle = 24 hours;
@clar
clar / EOS主网映射
Created May 10, 2018 14:45
EOS主网映射
# EOS主网映射
EOS主网映射,就是将一个以太坊地址和一个EOS主网地址进行绑定,并将这种绑定记录到EOS的众筹合约中。
这样,以太坊地址所持有的EOS代币,在主网启动后, 对应的EOS主网地址,也会拥有相同数量的EOS。
# 如何生成EOS主网地址
1. 通过社区开发的工具
https://nadejde.github.io/eos-token-sale/
- 点击Generate EOS key
@clar
clar / test
Created July 4, 2018 08:28
test
123
@clar
clar / a.sol
Created July 17, 2018 07:26
a.sol
pragma solidity ^0.4.21;
// contract Ownable {
// address public owner;
// constructor() public {
// owner = msg.sender;
// }
let Eos = require('eosjs');
let httpEndpoint = "https://eos.greymass.com";
let eos = Eos({httpEndpoint});
// curl https://eos.greymass.com/v1/chain/abi_json_to_bin -X POST -d '{"code":"eosdotaprod1", "action":"sign", "args":{"account":"atlantisland","timestamp":1553514689676000,"nonce":351544}}'
// curl https://eos.greymass.com/v1/chain/abi_json_to_bin -X POST -d '{"code":"eosdotaprod1", "action":"sign", "args":{"account":"atlantisland","timestamp":"2019-03-25T12:25:39.492","nonce":351544}}'
(async() => {
@clar
clar / mkforwarder.cpp
Created April 17, 2019 02:11
mkforwarder
#include <eosiolib/eosio.hpp>
#include <eosiolib/asset.hpp>
#include <eosiolib/transaction.hpp>
#include <string>
using namespace eosio;
using namespace std;
#define _myself name("mykeyuseraaa")//("hellomykey11")
#define SENDER_ID(X, Y) ( ((uint128_t)X << 64) | Y )
let eosjs = require('eosjs');
const ecc = require('eosjs-ecc');
const httpEndpoint = 'https://api-kylin.eosasia.one';
const keyProvider = '';
let eos = eosjs({
keyProvider: keyProvider,
httpEndpoint: httpEndpoint,
chainId: "5fff1dae8dc8e2fc4d5b23b2c7665c97f9e9d8edf2b6485a86ba311c25639191", // kylin
const assert = require('assert');
const leftPad = require('left-pad');
const truffleAssert = require('truffle-assertions');
const AccountStorage = artifacts.require("AccountStorage");
const LogicManager = artifacts.require("LogicManager");
const TransferLogic = artifacts.require("TransferLogic");
const BaseAccount = artifacts.require("Account");
const MyToken = artifacts.require("MyToken");
const MyNft = artifacts.require("MyNft");
/**
*Submitted for verification at Etherscan.io on 2020-07-01
*/
pragma solidity ^0.5.0;
pragma experimental ABIEncoderV2;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
@clar
clar / transferLogicEnteredData.decode.go
Created July 6, 2020 09:19
decode transferLogicEntered data
type transferLogicEnteredData struct {
Data []byte
}
transferLogicABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"_key\",\"type\":\"address\"}],\"name\":\"getKeyNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"accountStorage\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_accountStorage\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"TransferLogicInitialised\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":true,\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"TransferLogicEntered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"index