03:33:25 We only ban torsion on key images, right? Everything else doesn't care? 03:33:48 I know we clear torsion on a variety of items. Those aren't actively relevant to me so I'm only asking about torsion checks. 03:33:55 *also asking about the protocol and wallet2 03:37:20 Yes 03:47:15 And then we ban unreduced points/-0 yet allow deserializing unreduced scalars, yet in the modern day, we sc_check all of them to ensure they're < l] 03:47:33 *< l 03:55:51 afaik point deserialization is not checked 04:05:11 Uhhhhh it is the second it passes through consensus. 04:05:28 So you're right in that the output key is treated as a byte array despite being rct::key 04:05:45 Yet any rct::key we do operate with as a point... 04:06:14 So basically, if it's in Bulletproofs, I can treat it as a point with those 2 checks, yet if it's an output key, uint_8[32]. 04:06:26 ... right? 04:07:01 Like not trying to ask for confirmation just to shoot you down lol. Just realized yeah, I was not specific enough, and yes, you're right, it's not checked ;) 04:08:40 I *believe* everything under Rct* (base and prunable) can be point deserialized with those validity rules AND anything paired with Bulletproofs (so post-Borromean) is sc_check'd, yet I'm checking that now. 04:56:13 onetime addresses and ephemeral pubkeys are not deserialized during verification 04:56:22 for new outputs 04:56:36 unless I'm mistaken 04:57:38 Seems like it from my double checks (as ephemeral keys aren't even acked by consensus).. Thanks for confirming :) 18:01:54 hello, i was thinking of making a freelance website with monero as payment. does anyone know what the best way to implement an escrow service for such a site would be? 18:09:05 Instead of giving your address for payment, give Carol's address instead. Ask Carol, who should be trusted by both you and your counterparties. 18:09:20 I don't think you need to code anything for that really. 18:09:49 Well, not monero code anyway. 18:15:30 Not sure if I understand. Is Carol on the Seller side? 18:22:03 Carol is a trusted 3rd party who's wallet, the buyer will deposit funds too. Once everything goes as agreed by you (the seller) and the buyer, Carol releases the funds to you. All Carol needs to set up is her Monero wallet. There is no coding involved. 18:30:00 Carol is the escrow. 18:30:57 I see now. Does that mean that for every new buyer/seller interaction I would need to create a new Carol wallet or just once for everyone? And how would I go about getting such a trusted 3rd party wallet. Sorry for the many dumb questions I'm new to thisĀ '=D 18:31:51 I... see... If you'd create a Carol wallet, you'd most likely be a scammer. An escrow is not you, I'm sure you realize... 18:32:13 The whole *point* of an escrow is that it's independent. 18:32:42 It's a social thing, not a code thing. 18:34:09 Yeah that's what I thought. But how does localmonero for example do it. Why is it their Carol Wallet trusted? And where would I get such a wallet to store the Buyers funds in 19:05:31 The extra_padding parser stops after 254 bytes of actual data, right? It's <= 255, yet starts from 1 for the tag. There's also a varint length here, but I don't believe it's included in that length. 19:09:15 what? It loops from 1 to 255 and reads 1 byte per iteration 19:09:24 so 255 bytes 19:10:22 hmm, actually it can only store 254 bytes 19:10:28 store and load functions are inconsistent 19:11:21 ... fun 19:11:36 So I'm not sure what's up there, I just wanted to confirm that if I didn't want to cause Monero 19:12:00 *Monero's pareser to error, I should limit my lib's data field to 254 bytes 19:12:36 Oh. 1 .. <= 255 is 255 bytes, right. 19:13:45 Except on writing 255, yeah, it becomes 256 and serialize errors. 19:13:49 looking at comments there, it's 255 bytes including variant tag 19:13:56 so variant tag + up to 254 zeros 19:14:07 But not the varint len, and the data itself is 254 19:14:16 ... this does have a varint len after the tag, right? 19:14:29 I was pretty sure so, and have always used that assumption, but there's a comment to the contrary 19:14:42 there's no varint len for this tag 19:14:44 But I'm not sure what else it'd use here unless it used a raw byte, but I can't even find that 19:14:56 see comments on line 177 in tx_extra.h 19:14:58 ... oh. Is it just always at the end of TX extra? 19:15:11 padding should be at the end 19:15:13 Right, which was the comment to the contrary 19:15:25 And I do know the sort order. I just find it weird if PADDING is interpreted as read to end 19:15:31 But that explains the eof break check :p 19:15:44 I assumed that was operating on a subslice, not on the extra vector itself 19:16:16 So padding is read to end and doesn't have its own defined length. Monero only properly supports 254 bytes of arb data 19:16:18 Right? 19:16:21 And thank you :) 19:16:52 padding must be all 0's 19:17:00 you shouldn't put arbitrary data there 19:17:25 ... wait what? What field am I thinking of then? 19:17:38 tx_extra_nonce can be anything 19:17:55 up to 255 bytes (not including varint length) 19:18:03 Why does Monero have a field for null data? 19:18:34 I'm not even sure the theoretical value of that .-. 19:19:12 That does make much more sense though (as it's just a size_t). I thought this was just ignoring the arbitrary data because it didn't care. 19:19:17 Really not familiar with the macros here. 19:20:06 I don't think padding is even used anywhere 19:25:28 technically, you can put any unused tag in extra field and write any data there, not limited to 255 bytes 19:25:44 just keep the format (1 byte for tag, then varint length, then data of that length) 19:29:45 Thanks. Planning to just use a second Nonce field. 19:36:28 actually, if you add new tag value, parse_tx_extra will fail which can create problems for tx recipient 19:36:49 unless the code on receiving side is also updated 19:43:30 That was my concern :p I'm not planning such TXs (to wallet2 with arb data), but I believe a secondary nonce would be fine so long as its second in the ordering. Else, I'll reuse minergate lol. 19:45:15 you can use multiple tx_extra_nonce tags 19:47:46 yeah tx_extra is limited by block size iirc 19:47:49 only first tx_extra_nonce is used for something, if I read the code right 19:48:16 theres been a few massive ones in the past 19:48:23 tx_extra is not limited, but the whole tx size is limited 19:48:38 correct 19:48:53 oh separate from block size? 19:49:10 tx size limit is derived from median block size 19:49:30 max size that can be mined or added to mempool is 1/2 of mediab block size 19:49:48 wallet2 limits it even further to 1/3 but it's not consensus 19:50:06 I've removed this limitation from wallet2 and created bigger transactions that were mined 19:54:08 there's also #define CRYPTONOTE_MAX_TX_SIZE 1000000 19:54:15 but we're far from that limit yet 20:45:14 Is this a good place to ask for help about setting up a xmr exclusive btcpay server? 20:47:09 Not too likely. You can look for a btcpay channel. If there's none, maybe #monero-community might have someone who knows about this. 20:57:55 Ok, thanks 21:04:42 plowsof: This is exactly the guide I'm using but it's mentioning some non existent variables plus other things, I think it may be outdated. I'm trying to contact Seth but he didn't answered me yet.