Comments (2)
Yes, the parsing of the node path is very broken when the path uses the negative notation or when the index value is >= 2147483648. The readme states that these notations are supported but there is very sparse testing of this. In fact the one test for negative indexes goes out of its way to avoid testing and tests using m/0'/-1
instead. (m/-0/-1
will not pass).
From what I can tell, no index of 2147483648 (0x80000000) or larger will work and negative indexes of -0 will also fail; unfortunately hardened-0 is very commonly required.
This library's use of signed arithmetic for index values is troubling to me in general since the spec says that index values are unsigned 32 bit integers. Supporting the negative notation when parsing the path is fine, but actually handling internal index values less then zero is problematic since -0 is not < 0 which this code expects to be true.
To me these are very serious bugs that should prevent anyone from using this gem as it will lead to loss of funds.
from money-tree.
Yep, bugs; patches welcome.
from money-tree.
Related Issues (20)
- BIP49 (SegWit) derivation path HOT 10
- money-tree doesn't work on heroku HOT 1
- Ethereum Support HOT 8
- p2sh support HOT 1
- Update gemspec / publish gem HOT 6
- how can we adopt this to litecoin? HOT 3
- [proposal] activate testnet mode via configuration HOT 1
- can't import to electrum or the other way HOT 2
- DASH and DASH Testnet support
- Problem with openssl version on macOS for Ruby 2.6.5 HOT 6
- `money-tree` performs unsafe FFI and Monkey Patching of OpenSSL HOT 4
- Support for Bitcoin only? HOT 2
- release lib money-tree v0.11.0 to rubygems.org HOT 13
- Bip 32 test vector 5 fails 10/16
- litecoin support HOT 2
- Generate master node from private key HOT 1
- OpenSSL 3 deprecated RIPEMD160 ("legacy feature") HOT 8
- Private Key import fails with OpenSSL 3.0 HOT 2
- Bech32 dependency HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from money-tree.