[][src]Crate ethbloom

extern crate ethbloom;
#[macro_use] extern crate hex_literal;
use ethbloom::{Bloom, Input};

fn main() {
	use std::str::FromStr;
	let bloom = Bloom::from_str(
		"00000000000000000000000000000000\
         00000000100000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000002020000000000000000000000\
         00000000000000000000000800000000\
         10000000000000000000000000000000\
         00000000000000000000001000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000\
         00000000000000000000000000000000"
    ).unwrap();
	let address = hex!("ef2d6d194084c2de36e0dabfce45d046b37d1106");
	let topic = hex!("02c69be41d0b7e40352fc85be1cd65eb03d40ef8427a0ca4596b1ead9a00e9fc");

	let mut my_bloom = Bloom::default();
	assert!(!my_bloom.contains_input(Input::Raw(&address)));
	assert!(!my_bloom.contains_input(Input::Raw(&topic)));

	my_bloom.accrue(Input::Raw(&address));
	assert!(my_bloom.contains_input(Input::Raw(&address)));
	assert!(!my_bloom.contains_input(Input::Raw(&topic)));

	my_bloom.accrue(Input::Raw(&topic));
	assert!(my_bloom.contains_input(Input::Raw(&address)));
	assert!(my_bloom.contains_input(Input::Raw(&topic)));
	assert_eq!(my_bloom, bloom);
	}

Structs

Bloom

Bloom hash type with 256 bytes (2048 bits) size.

BloomRef

Enums

Input