Skip to content

Instantly share code, notes, and snippets.

🦅
Fight for freedom

Jorge Izquierdo izqui

🦅
Fight for freedom
Block or report user

Report or block izqui

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View counterfact.sol
contract Counterfact is LiveFactory {
function addressForNonce(uint8 nonce) constant returns (address) {
if (nonce > 127) throw;
return address(sha3(0xd6, 0x94, address(this), nonce));
}
function Counterfact() payable {
firstDeployment = addressForNonce(uint8(1));
bool b = firstDeployment.send(msg.value);
}
View thefactory.sol
contract TheContractFactory is LiveFactory {
function uploadCode(string identifier, bytes o_code)
onlyOrNone(deployer[identifierHash(identifier)])
returns (bytes32) {
bytes32 h = identifierHash(identifier);
code[h] = o_code;
deployer[h] = msg.sender;
View livefactory.sol
contract LiveFactory {
function deployCode(bytes _code) returns (address deployedAddress) {
assembly {
deployedAddress := create(0, add(_code, 0x20), mload(_code))
jumpi(invalidJumpLabel, iszero(extcodesize(deployedAddress))) // jumps if no code at addresses
}
ContractDeployed(deployedAddress);
}
event ContractDeployed(address deployedAddress);
View gist:082e77c33b21ce691ce7f378b989d43c
contract KeybaseRegistryInterface {
// Lookup
function getAddress(string username) returns (address); // Lookup for an address given a username.
function getUsername(address ethAddress) returns (string username); // Reverse lookup of username for a given address
function myUsername() returns (string username); // Reverse lookup for sender
// Registering
function register(string username, address ethAddress) payable; // Starts registration for the provided address and username.
function registerSender(string username) payable; // Starts registration for tx sender for the provided username.
}
View ethereum_ropsten.json
{
"username":"ji",
"address":"0xcc045ae84e5f3e12e150c418d7215a2b3863da20",
"proofString":"I am ji on Keybase verifying my Ethereum address 0xcc045ae84e5f3e12e150c418d7215a2b3863da20 by signing this proof with its private key",
"signature":"0x673ac837403b1fad2da56c7a4419afa6bd5c371b4903c7d848aad41e424e51a85f075e38f9a823a12d42312b1faf250c997babff2345bb6a1eab488ac84c79041b"
}
View events.sol
library EventEmitterLib {
function emit(string s) {
Emit(s);
}
event Emit(string s);
}
contract EventEmitterContract {
using EventEmitterLib for string;
View counter.sol
library CounterLib {
struct Counter { uint i; }
function incremented(Counter storage self) returns (uint) {
return ++self.i;
}
}
contract CounterContract {
using CounterLib for CounterLib.Counter;
View library1.sol
library C {
function a() returns (address) {
return address(this);
}
}
contract A {
function a() constant returns (address) {
return C.a();
}
View StandardToken.sol
import './ERC20Lib.sol';
contract StandardToken {
using ERC20Lib for ERC20Lib.TokenStorage;
ERC20Lib.TokenStorage token;
string public name = "SimpleToken";
string public symbol = "SIM";
uint public decimals = 18;
View ERC20Lib.sol
import "../SafeMathLib.sol";
library ERC20Lib {
using SafeMathLib for uint;
struct TokenStorage {
mapping (address => uint) balances;
mapping (address => mapping (address => uint)) allowed;
uint totalSupply;
}
You can’t perform that action at this time.