diff options
author | obscuren <geffobscura@gmail.com> | 2014-11-18 23:58:22 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-11-18 23:58:22 +0800 |
commit | a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b (patch) | |
tree | aee891c8f02591e16377a6bf047c13f12d6d5123 /chain/bloom9.go | |
parent | 62cd9946ee16758a4e368cd0b5a0ba9fa4d94705 (diff) | |
download | go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.tar go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.tar.gz go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.tar.bz2 go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.tar.lz go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.tar.xz go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.tar.zst go-tangerine-a1b6a9ac29d0aa8d29a2c0535bafdb5fe4d4830b.zip |
Begin of moving objects to types package
* Block(s)
* Transaction(s)
Diffstat (limited to 'chain/bloom9.go')
-rw-r--r-- | chain/bloom9.go | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/chain/bloom9.go b/chain/bloom9.go deleted file mode 100644 index c610bd101..000000000 --- a/chain/bloom9.go +++ /dev/null @@ -1,56 +0,0 @@ -package chain - -import ( - "math/big" - - "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/ethutil" - "github.com/ethereum/go-ethereum/state" -) - -func CreateBloom(receipts Receipts) []byte { - bin := new(big.Int) - for _, receipt := range receipts { - bin.Or(bin, logsBloom(receipt.logs)) - } - - return ethutil.LeftPadBytes(bin.Bytes(), 64) -} - -func logsBloom(logs state.Logs) *big.Int { - bin := new(big.Int) - for _, log := range logs { - data := [][]byte{log.Address} - for _, topic := range log.Topics { - data = append(data, topic) - } - - for _, b := range data { - bin.Or(bin, ethutil.BigD(bloom9(crypto.Sha3(b)).Bytes())) - } - - //if log.Data != nil { - // data = append(data, log.Data) - //} - } - - return bin -} - -func bloom9(b []byte) *big.Int { - r := new(big.Int) - for _, i := range []int{0, 2, 4} { - t := big.NewInt(1) - b := uint(b[i+1]) + 256*(uint(b[i])&1) - r.Or(r, t.Lsh(t, b)) - } - - return r -} - -func BloomLookup(bin, topic []byte) bool { - bloom := ethutil.BigD(bin) - cmp := bloom9(crypto.Sha3(topic)) - - return bloom.And(bloom, cmp).Cmp(cmp) == 0 -} |