07:29:07 https://cryptoeconomicsystems.pubpub.org/ 07:29:20 nice avenue for some research 11:50:28 Re: BTC-XMR atomic swaps w/ COMIT PoC: 11:50:38 https://github.com/comit-network/xmr-btc-swap 11:50:54 'On that front, are there any efforts in having test vectors for wallets in a standardized format? That is what we've found to be the hardest bits: Trying to validate that all the individual bits like bulletproof, ring sig, pseudo-outs, etc are correct. 11:50:54 Aside from that, a spec would also be amazing 😁' 11:51:44 Nope, but I have a pony if you want ^_^ 11:51:47 If anyone can please chime in, would be appreciated. Trying to get the work on XMR-side started by nudging COMIT, Monerujo and Cake Wallet devs. 11:51:57 lol. i'm good with ponies, moo. thanks. 11:52:36 Is this someone rewriting the BP/etc code ? 11:52:57 If so, "send those txes to an actual daemon, see if it rejects". 11:53:04 #comit-monero:matrix.org is the room where Samourai Dev is on, and all COMIT people hang out at. Threw brief questions in and passed on the recent Triptych prioritization meeting logs. 11:53:36 Don't think they are rewriting anything. They are looking into making the BTC-XMR swap possible with what is available at the moment. 11:54:13 Then there are existing tests for those things in tests/. 11:54:14 Samourai has already done a couple testnet/stagenet atomic swaps. One being BTC market maker, the other being XMR market maker. 11:54:37 Yes, there indeed are. Just gauging opinions and pointers. 11:55:02 Ideally, we should get Monerujo and Cake Wallet working on implementing this on their ends, as Samourai is already far in... 11:56:08 is all of the logic in a COMIT app layer? or did they extend monero libwallet? 11:56:33 the latter would make the most sense, and then any other monero wallet can just expose a UI for it 11:59:46 'No, so far we've tried to add as much as possible to h4sh3d's Rust monero library although we still need to upstream this.' 12:03:11 Hey, Thomas from #comit-monero:matrix.org present here now as well :) 12:03:18 hi Thomas, welcome. all, this is one of the COMIT guys. perhaps you can have a better informed back and forth. 12:03:36 ping me if you need any testing help, or anything else. happy to help however I can. Welcome. 12:04:14 We've found those, but they only cover a few individual things far as we could see. For example, couldn't find any unit tests for ring signatures or bulletproofs? 12:04:49 Thanks for the warm welcome rottenwheel :) 12:05:25 wait... Thomas do you have your username registered on freenode? 12:05:36 I believe your messages aren't getting relayed if you aren't. 12:05:41 Yes should be 12:06:21 yep, just checked from my IRC instance and they're coming across. great. :) 12:06:47 I am primarily using matrix so just hoping this bridge stuff works :D 12:06:47 There are. 12:11:34 For now, what we have is a CLI and daemon that can perform swaps. Things are changing fast so no library interface yet. Generally though, the first integration pattern I'd recommend is to do an intermediary TX into the wallet inside the software. Generic wallet interfaces are hard spec work. PSBTs on BTC are great but also require more implementation work :) 12:12:43 moneromooo Uh interesting, need to grow some eyeballs then apparently! Do you mind linking to those test vectors? 😬 12:13:29 * moneromooo grabs the git grep tool 12:14:24 tests/unit_tests/bulletproofs.cpp and tests/crypto/main.cpp 12:15:21 We are all horrible C/C++ devs unfortunately, so I don't think you want us touching libwallet! But like rottenwheel quoted, we are planning to contribute to the Rust ecosystem around Monero, so hopefully the infrastructure on that front can improve a lot! 12:19:34 moneromooo Excuse me if I am nitpicky but these are just unit-tests, not actually test vectors right? To be truly useful for cross-language implementations, I'd need something along the lines of: 12:19:34 This amount + these blinding factors = this bulletproof in hex. 12:19:59 (mod whatever else is dynamic / random for each proof) 12:20:30 Ah, so you *are* rewriting that code then ? 12:20:53 If so, there are a couple BPs as hex at the end of the file, and there are plenty of ring sigs. Just look again. 12:21:32 Or maybe I'm missing your point ? 12:23:46 Yes, it is all Rust based on the `curve25519_dalek` crate. They have a bulletproof impl for Ristretto that we modified. 12:24:28 Cool, will check it out in more detail then! Thanks for the help! 12:25:20 We don't use ristretto, so if you use that you won't be able to verify those samples. 12:25:32 Then you'd have to make your own BPs. 12:25:47 I am aware, we ported the impl to regular edwards 12:25:53 Ah. 12:27:06 The issue wasn't so much making our own BP. 12:27:22 It was verifying whether or not our BP would be accepted by a Monero node. 12:29:27 So the dream would have been to be able to be able to write a unit test along the lines of: blind this amount -> assert_eq the serialized BP with a hex blob from the monero codebase that we know will 100% verify 12:30:48 ofc the involved randomness makes this a bit tricky but that would just be a matter of redesigning the API on the C++ side to be completely pure functional. 12:31:49 Anyway, will check out the TX hex blobs at the end of that file! 12:31:53 Oh, in this direction ? It is weird indeed. Just run the monero verifier on it ? 12:32:31 What exaxt verifier? 12:32:40 The bulletproofs verifier. 12:33:13 * moneromooo goes lookup the source again 12:33:13 We ended up writing our own C++ tests yeah but inexperience in C++ meant that takes a lot of time haha 12:33:32 bool bulletproof_VERIFY(const Bulletproof &proof); 12:35:09 All possible and that is what we ended up doing :) 12:35:09 It would just be cleaner to have serialized test vectors so we have tests that we could also keep in our repo. 16:30:50 Are There Any T1me Travelers Here Or Non Humans? PM me Please 16:39:51 moooo 16:52:37 I once wrote a science fiction short story about Monero and aliens, does that already count? https://rbrunner7.github.io/paradox.html