onIncommingBuffer({name, contents, public_key}) { this.onReset() var sha1 = hash.sha1(contents).toString('hex') var size = contents.length if( ! public_key) public_key = getBackupPublicKey(contents) this.setState({name, contents, sha1, size, public_key}) }
inGenesis(pubkey_or_address) { if( ! this.bloom_buffer ) throw new Error("Call init() first") for(var hashes = 0; hashes < 3; hashes++) { var hex = hash.sha256( hashes + ':' + pubkey_or_address) var bit_address = parseInt(hex.slice(-3).toString('hex'), 16) % this.bits_in_filter // 3090564 // console.error("bit_address", bit_address.toString(16)) var byte_address = bit_address >> 3 // 386320 // console.error("byte_address", byte_address.toString(16)) var mask = 1 << (bit_address & 7) // 16 // console.error("mask", mask.toString(16)) var byte = this.bloom_buffer[byte_address] // console.error("byte", byte.toString(16)) // console.error("byte & mask", byte & mask, (byte & mask) === 0, '\n') if( (byte & mask) === 0 ) return false } return true }
onIncommingFile({name, contents, last_modified}) { var sha1 = hash.sha1(contents).toString('hex') var size = contents.length var public_key = getBackupPublicKey(contents) this.setState({ name, contents, sha1, size, last_modified, public_key }) }