Skip to content

Instantly share code, notes, and snippets.

View dryruner's full-sized avatar

dryrun dryruner

View GitHub Profile
@dryruner
dryruner / CoinbaseEthUsd.sol
Last active August 5, 2020 00:50
CoinbaseEthUsd Example
/**
*Submitted for verification at Etherscan.io on 2020-07-03
*/
pragma solidity ^0.5.0;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
@dryruner
dryruner / SimpleDice.sol
Last active August 22, 2020 23:58
DOSRandom() example
/**
*Submitted for verification at Etherscan.io on 2020-08-22
*/
pragma solidity ^0.5.0;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
@dryruner
dryruner / gist:2a6da4bb4da638770f55d4fc830f4fb5
Created June 2, 2019 08:13
Compute contract address in solidity
pragma solidity ^0.4.25;
contract ComputeContractAddress
{
function addressFrom(address _origin, uint _nonce) public pure returns (address) {
bytes memory data;
if(_nonce == 0x00) data = abi.encodePacked(byte(0xd6), byte(0x94), _origin, byte(0x80));
else if(_nonce <= 0x7f) data = abi.encodePacked(byte(0xd6), byte(0x94), _origin, byte(_nonce));
else if(_nonce <= 0xff) data = abi.encodePacked(byte(0xd7), byte(0x94), _origin, byte(0x81), uint8(_nonce));
else if(_nonce <= 0xffff) data = abi.encodePacked(byte(0xd8), byte(0x94), _origin, byte(0x82), uint16(_nonce));