diff options
author | obscuren <geffobscura@gmail.com> | 2014-10-31 17:59:17 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-10-31 17:59:17 +0800 |
commit | 3ee0461cb5b6e4a5e2d287180afbdb681805a662 (patch) | |
tree | f245667a9e3f5f0ff23bb1c89f4f7cc783f4949c /ethchain/bloom9.go | |
parent | 8e0a39f33f9d24ebeca9cc88edf24cc6294552d7 (diff) | |
download | dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.tar dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.tar.gz dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.tar.bz2 dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.tar.lz dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.tar.xz dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.tar.zst dexon-3ee0461cb5b6e4a5e2d287180afbdb681805a662.zip |
Moved ethchain to chain
Diffstat (limited to 'ethchain/bloom9.go')
-rw-r--r-- | ethchain/bloom9.go | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/ethchain/bloom9.go b/ethchain/bloom9.go deleted file mode 100644 index 8fa7b6339..000000000 --- a/ethchain/bloom9.go +++ /dev/null @@ -1,55 +0,0 @@ -package ethchain - -import ( - "math/big" - - "github.com/ethereum/go-ethereum/ethstate" - "github.com/ethereum/go-ethereum/ethutil" -) - -func CreateBloom(block *Block) []byte { - bin := new(big.Int) - bin.Or(bin, bloom9(block.Coinbase)) - for _, receipt := range block.Receipts() { - bin.Or(bin, LogsBloom(receipt.logs)) - } - - return bin.Bytes() -} - -func LogsBloom(logs ethstate.Logs) *big.Int { - bin := new(big.Int) - for _, log := range logs { - data := [][]byte{log.Address} - for _, topic := range log.Topics { - data = append(data, topic) - } - - if log.Data != nil { - data = append(data, log.Data) - } - - for _, b := range data { - bin.Or(bin, bloom9(b)) - } - } - - return bin -} - -func bloom9(b []byte) *big.Int { - r := new(big.Int) - for _, i := range []int{0, 2, 4} { - t := big.NewInt(1) - r.Or(r, t.Lsh(t, uint(b[i+1])+256*(uint(b[i])&1))) - } - - return r -} - -func BloomLookup(bin, topic []byte) bool { - bloom := ethutil.BigD(bin) - cmp := bloom9(topic) - - return bloom.And(bloom, cmp).Cmp(cmp) == 0 -} |