Skip to content

Instantly share code, notes, and snippets.

View obscuren's full-sized avatar
😎
Working on Grid Online

Jeffrey Wilcke obscuren

😎
Working on Grid Online
View GitHub Profile
@obscuren
obscuren / GlassShader.shader
Created October 25, 2018 11:55
A Unity3D Glass Shader
Shader "GridGames/GlassShader"
{
Properties {
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Colour ("Colour", Color) = (1,1,1,1)
_Bump ("Distortion", 2D) = "bump" {}
_Magnitude ("Magnitude", Range(0,1)) = 0.05
}
SubShader {
D:\Ethereum\WalletData\Ethereum Wallet\binaries\Geth\unpacked>geth --fast
...
fatal error: out of memory
fatal error: out of memory
runtime stack:
runtime.throw(0xc642fe, 0xd)
pragma solidity ^0.4.11;
contract Burner {
uint256 public totalBurned;
function Purge() public {
// the caller of purge action receives 0.01% out of the
// current balance.
uint256 fee = this.balance / 1000;
assembly {
0x08c630c2b7f4721d1fe21a2365491f23aad68550
### Keybase proof
I hereby claim:
* I am obscuren on github.
* I am jeffeth (https://keybase.io/jeffeth) on keybase.
* I have a public key ASBA-o8lHOkCl9ifsz0-H_aADIszpSTtPjBYKXBoeTCdfQo
To claim this, I am signing this object:

Release 1.6 call

In a nutshell: the 1.6 release will be an API breaking release. All minor future releases will be similar; they mark the dawn of breaking API changes and new features will be developed on top of those. Critical- and security issues will be backported to the previous release (i.e. we will continue to support the last two versions).

Notes (20 Feb 2017):

  • Whisper v5 should make its first alpha appearance in Geth v1.6.0. This may require some code modifications from people already using v2 of the protocol, so ideally we'd need either a documentation for v5, a transition document from v2->v5, or preferrably both.
  • New flag --mode={full, light, fast}. Deprecate --fast, --light. Default --mode=fast.
  • Optionally switch to a new logging system, retain the vmodule and have structured logging
  • 1.6 no changes to the geth subcommand system. @basvk will write up a proposal for 1.7
diff --git a/eth/backend.go b/eth/backend.go
index af120cb..80accdd 100644
--- a/eth/backend.go
+++ b/eth/backend.go
@@ -31,6 +31,7 @@ import (
"github.com/ethereum/ethash"
"github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/core"
// Exp sets z = x**y mod |fm|
func (z *Fq) Exp(x, y *Fq) *Fq {
load(z)
if y.abs.Cmp(bigZero) == 0 {
return z.SetInt64(0)
} else if y.abs.Cmp(bigOne) == 0 {
return z
} else if new(big.Int).Mod(y.abs, big.NewInt(2)).Cmp(bigZero) == 0 {
t := new(Fq).Div(y, NewField(2))
for {
// Get the memory location of pc
op = contract.GetOp(pc)
// get the operation from the jump table matching the opcode
operation := evm.jumpTable[op]
// if the op is invalid abort the process and return an error
if operation.valid {
return nil, fmt.Errorf("Invalid opcode %x", op)
diff --git a/core/state/state_object.go b/core/state/state_object.go
index 94033a3..6f59159 100644
--- a/core/state/state_object.go
+++ b/core/state/state_object.go
@@ -91,6 +91,11 @@ type StateObject struct {
onDirty func(addr common.Address) // Callback method to mark a state object newly dirty
}
+// empty returns whether the accoun is considered empty.
+func (s *StateObject) empty() bool {