Commit graph

28 commits

Author SHA1 Message Date
Byron Hambly
92d15f851b Merge ee8c997125 into merged_master (Bitcoin PR bitcoin/bitcoin#24402) 2023-07-02 16:24:37 +00:00
Byron Hambly
a120b7925d Merge 22feb7fee9 into merged_master (Bitcoin PR bitcoin/bitcoin#23577) 2023-06-02 08:34:54 +00:00
Byron Hambly
eee64b5289 Merge 95d19f8c1a into merged_master (Bitcoin PR bitcoin/bitcoin#16807)
I did not do a great job with this merge, and it could use some
improvement. Commented out some of the assertions in
rpc_invalid_address_message.py
2023-05-30 15:27:30 +00:00
Byron Hambly
dbf2767551 Merge 16a5997336 into merged_master (Bitcoin PR bitcoin/bitcoin#22579) 2023-04-24 11:20:00 +00:00
MarcoFalke
aaaa4dbab4
Avoid implicit-integer-sign-change in bech32.cpp 2022-02-25 09:43:54 +01:00
Samuel Dobson
a4fe70171b Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
Samuel Dobson
2fa4fd1961 Use std::iota instead of manually pushing range 2021-12-01 11:01:20 +13:00
Samuel Dobson
405c96fc9f Use bounds-checked array lookups in Bech32 error detection code 2021-12-01 11:01:20 +13:00
Samuel Dobson
28d9c2857f Simplify encoding of e in GF(1024) tables to (1,0)
This follows PR 64 of the sipa/bech32 repo.
2021-12-01 11:01:20 +13:00
Samuel Dobson
14358a029d Replace GF1024 tables and syndrome constants with compile-time generated constexprs. 2021-12-01 11:01:20 +13:00
Samuel Dobson
c8b9a224e7 Report encoding type in bech32 error message 2021-11-23 15:48:59 +13:00
Samuel Dobson
bb4d3e9b97 Address review comments for Bech32 error validation 2021-11-23 15:48:59 +13:00
Samuel Dobson
88cc481092 Modify copyright header on Bech32 code 2021-10-12 12:03:14 +13:00
Samuel Dobson
5599813b80 Add lots of comments to Bech32 2021-10-12 12:03:14 +13:00
Samuel Dobson
b62b67e06c Add Bech32 error location function 2021-10-12 12:03:14 +13:00
Pieter Wuille
b8cd2a4292 Add references for the generator/constant used in Bech32(m) 2021-08-20 15:49:50 -04:00
Andrew Poelstra
d44ce3a73f Merge 8ec881d3b6 into merged_master (Bitcoin PR #20861) 2021-06-27 19:12:42 +00:00
Fabian Jahr
03346022d6 naming nits 2021-03-17 17:59:22 -07:00
Pieter Wuille
da2bb6976d Implement Bech32m encoding/decoding 2021-03-15 17:26:35 -07:00
Andrew Poelstra
4749945d77 Merge 0ff7cd7d0c into merged_master (Bitcoin PR #16889) 2020-11-09 21:20:42 +00:00
Andrew Poelstra
f8386055b5 Merge 5667b0d758 into merged_master (Bitcoin PR #16792) 2020-11-09 21:20:21 +00:00
Pieter Wuille
e65e61c812 Add some general std::vector utility functions
Added are:

* Vector(arg1,arg2,arg3,...) constructs a vector with the specified
  arguments as elements. The vector's type is derived from the
  arguments. If some of the arguments are rvalue references, they
  will be moved into place rather than copied (which can't be achieved
  using list initialization).

* Cat(vector1,vector2) returns a concatenation of the two vectors,
  efficiently moving elements when relevant.

Vector generalizes (and replaces) the Singleton function in
src/descriptor.cpp, and Cat replaces the Cat function in bech32.cpp
2019-10-16 08:56:57 -07:00
Samuel Dobson
2457aea83c Assert that the HRP is lowercase in Bech32::Encode 2019-09-05 13:25:11 +12:00
Steven Roose
4a218cd0ef
Fix linter by exporting b(l)ech32 internals 2019-04-23 21:11:30 +01:00
practicalswift
f34c8c466a Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. 2018-08-27 18:19:33 +02:00
murrayn
60f61f9952 Tighten up bech32::Decode(); add tests. 2018-04-12 17:52:33 -07:00
MeshCollider
1a445343f6 scripted-diff: Replace #include "" with #include <> (ryanofsky)
-BEGIN VERIFY SCRIPT-
for f in \
  src/*.cpp \
  src/*.h \
  src/bench/*.cpp \
  src/bench/*.h \
  src/compat/*.cpp \
  src/compat/*.h \
  src/consensus/*.cpp \
  src/consensus/*.h \
  src/crypto/*.cpp \
  src/crypto/*.h \
  src/crypto/ctaes/*.h \
  src/policy/*.cpp \
  src/policy/*.h \
  src/primitives/*.cpp \
  src/primitives/*.h \
  src/qt/*.cpp \
  src/qt/*.h \
  src/qt/test/*.cpp \
  src/qt/test/*.h \
  src/rpc/*.cpp \
  src/rpc/*.h \
  src/script/*.cpp \
  src/script/*.h \
  src/support/*.cpp \
  src/support/*.h \
  src/support/allocators/*.h \
  src/test/*.cpp \
  src/test/*.h \
  src/wallet/*.cpp \
  src/wallet/*.h \
  src/wallet/test/*.cpp \
  src/wallet/test/*.h \
  src/zmq/*.cpp \
  src/zmq/*.h
do
  base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f
done
-END VERIFY SCRIPT-
2017-11-16 08:23:01 +13:00
Pieter Wuille
8fd2267053 Import Bech32 C++ reference code & tests
This includes a reformatted version of the Bech32 reference code
(see https://github.com/sipa/bech32/tree/master/ref/c%2B%2B), with
extra documentation.
2017-09-28 16:02:16 -07:00