Olaoluwa Osuntokun
ab6388e0c6
gcs/builder: remove the AddScript method as it's no longer used ( #121 )
...
In this commit, we remoec the AddScript method as it's no longer used,
and AddEntry should be used in place for adding pkScripts to the
filters.
2018-07-06 18:06:48 -05:00
Olaoluwa Osuntokun
7eb98d5700
gcs/builder: skip zero nil outputs scripts
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
46d39f9c2c
gcs/builder: skip OP_RETURN outputs when for regular filter
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
98e65a007d
builder: remove outpoint methods
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
d3e82fcd5d
gcs: switch basic filter to index prev output scripts of all inputs
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
e993e6ce27
gcs/builder: remove extended filter
...
In this commit, we remove the extended filter as it doesn't have a clear
use atm.
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
0ecd90b8d6
gcs: update fp and modulus values based on recent optimality analysis
...
In this commit, we decrease the default fp rate to 19, or 1/2^19. We do
this as recent analysis by sipa on the bitcoin dev mailing list has
shown that optimally, we can use a value of 2^19 for the fp rate, while
use n=1.497137*2^P rather than n directly. As a result, we can shrink
the filter size by quite a bit, while still maintaining a sane false
positive value.
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
996307736e
gcs/builder: update builder tests to use addr script directly
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
3b3422dc54
gcs/builder: update regular filter to exclude txid
...
In this commit, we update the regular filter to exclude the txid, as in
most cases we can use the output script for the same purpose.
2018-07-06 17:32:55 -05:00
Olaoluwa Osuntokun
d4cc87b860
gcs: properly only use hash of pkscript to insert into filter
...
This commit fixes a mistake during the rebase process meant to include
this commit in its entire:
dfb640c571
2018-05-23 20:27:03 -07:00
Olaoluwa Osuntokun
b9afb0b986
gcs/builder: fix linter errors
2018-05-15 19:14:18 -07:00
Jim Posen
ad0070fa44
gcs/builder: Deduplicate items before creating block filters.
2018-05-15 19:14:18 -07:00
Jim Posen
cbc2d0fee6
Allow construction of empty filters.
2018-05-15 19:14:18 -07:00
Jim Posen
884680ddbd
Serialize filter with N as a VarInt instead of fixed-size.
2018-05-15 19:14:18 -07:00
Olaoluwa Osuntokun
9da482119c
gcs/builder: revert recursion of push datas in p2sh/witness
2018-05-15 19:14:18 -07:00
Alex
5151e0586d
gcs/builder: move tx hash from extended into basic filter
2018-05-15 19:14:18 -07:00
Alex
6cffb54a22
gcs/builder: recurse into P2SH/witness scripts
2018-05-15 19:14:18 -07:00
Alex
03a7f9b01f
gcs/builder: fix tests by rebuilding filter, making failure to match fatal
2018-05-15 19:14:18 -07:00
Olaoluwa Osuntokun
5a770ec85e
gcs/builder: an empty filter has a zero-hash
2018-05-15 19:14:18 -07:00
Olaoluwa Osuntokun
65172ea539
gcs/builder: ignore scripts with no data pushes
2018-05-15 19:14:18 -07:00
Olaoluwa Osuntokun
b3d8578868
gcs: add witness stack items to filter, update tests
2018-05-15 19:14:18 -07:00
Olaoluwa Osuntokun
c01c00e8b4
gcs: check to see if sigScript exists before adding it
2018-05-15 19:14:18 -07:00
Olaoluwa Osuntokun
0f2eb80fdb
gcs: add some line spacing, wrap comments to 80 characters
2018-05-15 19:14:18 -07:00
Alex
e3c79234e6
gcs/builder: Add pre-BIP block filter and header calculations.
2018-05-15 19:14:18 -07:00
Alex
ca65f28ca1
Ignore error from txscript.PushedData
2018-05-15 19:14:18 -07:00
Alex
12e95e2790
gcs: improve test coverage for builder
2018-05-15 19:14:18 -07:00
Alex
856e3a320d
Change OutPoint index encoding to little-endian to match Bitcoin
2018-05-15 19:14:18 -07:00
Alex
119a03a3ca
Add comment to DefaultP to fix lint issue with exported constant.
2018-05-15 19:14:18 -07:00
Alex
6654eb61e4
Add filter builder and some tests
2018-05-15 19:14:18 -07:00