10:47:59 does anyone know the reason why rapidjson is a submodule 10:54:43 Because it's a 3rd-party repository. Submodules make it easy to get new updates and track commit history between repositories. 11:07:26 shouldnt vendor it like that, use OS libs instead and have CMake's find_package enforce version requirements, maybe I am overlooking something 11:28:05 anyway its not important, just wondering 11:28:39 i took some time to rewrite all the CMake into modern style cmake 11:29:31 will create a PR this weekend as a proof-of-concept 11:31:07 i yanked out most stuff and started from scratch 11:32:13 in favor of Monero installing 11:32:18 "properly" 11:32:46 as well as easing up integrating Monero into your own project 11:33:29 (e.g anyone that uses wallet2) 11:38:32 note the PR is just a POC, not for merging. upstreaming it in case its useful for someone 17:30:33 dsc_ quite the contrary. For reproducible builds (which is a security necessity), you want to pull everything yourself. And depends less and less on environment. 20:28:49 huh so I missed an "s".. that's interesting and unexpected lol 20:34:32 I just tried this but getBlocksByHeight throws "fetch failed" in MoneroDaemonRpc.js:1639:22. Same error with getBlocksByRange. The getBlockByHeight succeeds. Any ideas what I'm doing wrong? 20:34:33 Example code: 20:34:33 (async () => { 20:34:34 const daemon = await connectToDaemonRpc("http://nodes.hashvault.pro:18081"); 20:34:34 console.log("getBlockByHeight:") 20:34:35 const block = await daemon.getBlockByHeight(3074677); // works 20:34:35 console.log(block); 20:34:36 console.log("getBlocksByHeight:") 20:34:36 const blocks = await daemon.getBlocksByHeight([3074677]); // fails with "fetch failed" 20:34:37 console.log(blocks); 20:34:37 })(); 20:35:06 I just tried this but getBlocksByHeight throws "fetch failed" in MoneroDaemonRpc.js:1639:22. Same error with getBlocksByRange. The getBlockByHeight succeeds. Any ideas what I'm doing wrong? 20:35:07 Example code: 20:35:07 ``` 20:35:08 (async () => { 20:35:08 const daemon = await connectToDaemonRpc("http://nodes.hashvault.pro:18081"); 20:35:09 console.log("getBlockByHeight:") 20:35:09 const block = await daemon.getBlockByHeight(3074677); // works 20:35:10 console.log(block); 20:35:10 console.log("getBlocksByHeight:") 20:35:11 const blocks = await daemon.getBlocksByHeight([3074677]); // fails with "fetch failed" 20:35:11 console.log(blocks); 20:35:12 ``` 20:35:20 I just tried this but getBlocksByHeight throws "fetch failed" in MoneroDaemonRpc.js:1639:22. Same error with getBlocksByRange. The getBlockByHeight succeeds. Any ideas what I'm doing wrong? 20:35:20 Example code: 20:35:20 ``` 20:35:21 (async () => { 20:35:21 const daemon = await connectToDaemonRpc("http://nodes.hashvault.pro:18081"); 20:35:22 console.log("getBlockByHeight:") 20:35:22 const block = await daemon.getBlockByHeight(3074677); // works 20:35:23 console.log(block); 20:35:23 console.log("getBlocksByHeight:") 20:35:24 const blocks = await daemon.getBlocksByHeight([3074677]); // fails with "fetch failed" 20:35:24 console.log(blocks); 20:35:25 })(); 20:35:25 ``` 20:38:31 I just tried this but getBlocksByHeight throws "fetch failed" in MoneroDaemonRpc.js:1639:22. Same error with getBlocksByRange. The getBlockByHeight succeeds. Any ideas what I'm doing wrong? 20:38:32 Example code: 20:38:32 ``` 20:38:33 (async () => { 20:38:33 const daemon = await connectToDaemonRpc("nodes.hashvault.pro:18081"); 20:38:34 console.log("getBlockByHeight:") 20:38:34 const block = await daemon.getBlockByHeight(3074677); // works 20:38:35 console.log(block); 20:38:35 console.log("getBlocksByHeight:") 20:38:36 const blocks = await daemon.getBlocksByHeight([3074677]); // fails with "fetch failed" 20:38:36 console.log(blocks); 20:38:37 })(); 20:38:37 ``` 20:45:09 vkg1tyfj: use a paste bin for code and dont edit large comments as they cause spam IRC side 20:45:35 best suited for #monero-community-dev:monero.social (if this is monero-js/ts) 20:48:19 sorry guys didn't know :/ 20:50:07 yes, monero-ts.. i joined community dev 23:00:34 xFFFC0000 23:04:43 reproducible builds have nothing to do with vendoring libs or not, or having sane CMake. For reproducible you just prepare your system such it is able to compile that, similar to static building. 23:20:14 xFFFC0000 sorry if I sound passive aggressive, I just woke up and spent too much time in CMake this week :P 23:29:33 some of the libs were vendored because anonimal maintained forks with security patches added, since he isn't around anymore it kinda became pointless 23:29:48 others are just vendored for historical reasons and no one bothered to change it 23:30:50 right 23:35:46 at least rapidjson and miniupnpc can be removed 23:36:02 vendoring libs is not a big issue, i am just being pedantic. In the case of rapidjson, its pinned to a commit from 6 years ago, and wondered if there was a specific reason 23:36:30 Monero seems to compile fine against newer versions of rapidjson 23:37:23 we should probably update the submodule 23:42:22 .merges 23:42:22 -xmr-pr- 8396 8488 9252 23:48:10 selsta: what im trying to do is make Monero headers/libs install in, for example, /usr/local/ 23:49:21 so that people who want to consume those libs (libwallet_merged.a for example) only have to do `find_package(Monero 0.18.3.2 REQUIRED)` 23:51:07 if we look at any project that uses wallet2, they currently always need to include stuff like this https://github.com/woodser/monero-cpp/blob/master/CMakeLists.txt#L32 23:52:01 while instead those include paths should be provided by a CMake config and not at all be managed by the consuming project