--- Log opened Tue May 17 00:00:26 2022 03:40 -!- z9z0b3t1_ [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has joined #bitcoin-rust 03:42 -!- z9z0b3t__ [~z9z0b3t1c@145.224.66.171] has joined #bitcoin-rust 03:42 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has quit [Ping timeout: 250 seconds] 03:46 -!- z9z0b3t1_ [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has quit [Ping timeout: 246 seconds] 07:16 -!- z9z0b3t__ [~z9z0b3t1c@145.224.66.171] has quit [] 07:19 -!- atalw [~akshittal@49.207.196.220] has joined #bitcoin-rust 07:24 -!- atalw [~akshittal@49.207.196.220] has quit [Ping timeout: 276 seconds] 07:26 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has quit [Quit: No Ping reply in 180 seconds.] 07:52 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has joined #bitcoin-rust 08:04 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 08:34 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has quit [Remote host closed the connection] 08:41 -!- moneyball__ [sid299869@id-299869.helmsley.irccloud.com] has joined #bitcoin-rust 08:41 -!- FelixWeis_ [sid154231@id-154231.hampstead.irccloud.com] has joined #bitcoin-rust 08:45 -!- kanzure_ [~kanzure@user/kanzure] has joined #bitcoin-rust 08:49 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has joined #bitcoin-rust 08:50 -!- Netsplit *.net <-> *.split quits: kanzure, FelixWeis, sr_gi[m], moneyball_, junderw[m] 08:50 -!- FelixWeis_ is now known as FelixWeis 08:51 < M1asdfah[m]> A address is composed of a witness program and a version so when you pay to a taproot address doesn’t the address allow you to spend using the key path. Since the witness program also allows you to unlock funds 08:53 < M1asdfah[m]> Since there are always 2 ways of spending a taproot transaction keypath or script 08:54 < M1asdfah[m]> So a Segwit v0 should allow you to also spend using the keypath 08:56 -!- sr_gi[m] [~srgimatri@2001:470:69fc:105::1:c14c] has joined #bitcoin-rust 09:00 < M1asdfah[m]> "1asdfah: Outputs lock bitcoins..." <- So to sum this up can’t you just spend the keypath of the previous output script if it is a op_1 . Since there are always 2 ways of spending a taproot transaction 09:01 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 09:01 < reardencode> a "address" translates to a specific scriptPubKey. Validation code evaluates scriptPubKeys based on the specific rules that apply to them. Legacy scriptPubKeys get executed with the scriptSig as initial stack. SegWit scriptPubKeys have the validation rules _specific to their version_ applied. There is no such concept as key path spending for SegWit v0 09:01 < M1asdfah[m]> * > <@junderw:matrix.org> 1asdfah: Outputs lock bitcoins into "UTXO"s (unspent transaction outputs) which have a value and a locking script. The locking script can be represented as an "address" in various formats. Two formats you mentioned, bech32 for segwit v0 and bech32m for segwit v1. These are all different locking scripts. You can not "unlock" the locking script of a v1 using the same code as unlocking a v0, and vice versa. When 09:01 < M1asdfah[m]> you "spend" bitcoins, your transaction's inputs point to a UTXO you have yet to spend. The input then presents the "unlocking script" which consists of the scriptSig (for non-segwit), and the witness stack (for segwit). The exact type and order of data, as well as what data you actually sign completely changes between segwit v0, segwit v1, P2PKH, P2SH, P2WSH, and all other types of scripts... So to answer your question: "Does a 09:01 < M1asdfah[m]> taproot wallet have the ability to sign non-taproot UTXOs?" The answer is no, UNLESS you write code that will allow it to, using some sort of "if utxo_type == segwit_v1 { do_taproot_sign(xxx) } else if utxo_type == segwit_v0 { do_non_taproot_sign(xxx) } or something like that... otherwise, if you only write taproot signing code then your wallet can not sign for, or deal with segwit v1 UTXOs on the input side. 09:01 < M1asdfah[m]> So to sum this up can’t you just spend the keypath of the previous output script if it is a op_1 . Since there are always 2 ways of spending a taproot transaction 09:01 < M1asdfah[m]> * > <@junderw:matrix.org> 1asdfah: Outputs lock bitcoins into "UTXO"s (unspent transaction outputs) which have a value and a locking script. The locking script can be represented as an "address" in various formats. Two formats you mentioned, bech32 for segwit v0 and bech32m for segwit v1. These are all different locking scripts. You can not "unlock" the locking script of a v1 using the same code as unlocking a v0, and vice versa. When 09:01 < M1asdfah[m]> you "spend" bitcoins, your transaction's inputs point to a UTXO you have yet to spend. The input then presents the "unlocking script" which consists of the scriptSig (for non-segwit), and the witness stack (for segwit). The exact type and order of data, as well as what data you actually sign completely changes between segwit v0, segwit v1, P2PKH, P2SH, P2WSH, and all other types of scripts... So to answer your question: "Does a 09:01 < M1asdfah[m]> taproot wallet have the ability to sign non-taproot UTXOs?" The answer is no, UNLESS you write code that will allow it to, using some sort of "if utxo_type == segwit_v1 { do_taproot_sign(xxx) } else if utxo_type == segwit_v0 { do_non_taproot_sign(xxx) } or something like that... otherwise, if you only write taproot signing code then your wallet can not sign for, or deal with segwit v1 UTXOs on the input side. 09:01 < M1asdfah[m]> So to sum this up can’t you just spend the keypath of the previous output script if it is a op_1 {taproot address}. Since there are always 2 ways of spending a taproot transaction 09:02 -!- junderw[m] [~junderwma@2001:470:69fc:105::1:d922] has joined #bitcoin-rust 09:02 < reardencode> Definitely not reading all of that paste. I'm confident that whatever JUnderw says is also correct :-P 09:03 < M1asdfah[m]> Cause I noticed that when ever I send funds from a faucet on testnet it always sends with that format 09:04 < M1asdfah[m]> Also I really appreciate the help it’s just hard to wrap your head around and kinda confusing 09:05 < reardencode> What do you mean "it sends with that format"? The faucet will have some set of UTXOs backing it. It will chooose one or more of those as an input to a transaction to send you bitcoin. It will include an output that corresponds to your address, and an output that sends any excess from the inputs it selected back to an address controlled by the faucet. The format of the output corresponding to 09:05 < reardencode> _your_ address will be exactly the script chosen by your wallet to lock your bitcoin. 09:05 < M1asdfah[m]> Should I try a bitcoin faucet specific to taproot 09:06 < reardencode> You still seem to be having confusion about inputs vs. outputs. The faucet controls the signing of the inputs to send coin to your locking script. Your wallet provides (via a formatted address) the output script that you can then unlock. 09:07 < reardencode> Perhaps you can show the address you are generating, and link a testnet transaction from the faucet to that address? 09:13 < M1asdfah[m]> https://www.blockchain.com/btc-testnet/tx/57ec4755c2bef7bc8730cf5d1bb275904032cc7a6b53ddd3028365950112c537 09:13 < M1asdfah[m]> The address is tb1puma0fas8dgukcvhm8ewsganj08edgnm6ejyde3ev5lvxv4h7wqvqpjslxz 09:14 * M1asdfah[m] uploaded an image: (38KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/DocExtsBZSLYejFsamjNtHmE/image.png > 09:15 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has quit [Ping timeout: 246 seconds] 09:15 < M1asdfah[m]> The faucet was using the wallet tb1qqnaf2lx6ndme02nhqux8z444t54k8f93z4x4zp which is a segwit v0 09:17 < M1asdfah[m]> So it seems if you can't send an output generate from v0 you need a new bitcoin faucet for taproot 09:20 < reardencode> What is the problem you are experiencing that makes you think you need a different faucet? 09:22 < reardencode> This faucet has spent 1 UTXO of 1815011 satoshis in a SegWit v0 P2WPKH, and created 2 UTXOs: 1000 satoshis to your SegWit v1 P2TR address, and 1813811 satoshis back to its SegWit v0 P2WPKH change address. 09:22 < reardencode> You can now spend the 1000 satoshis from your SegWit v1 P2TR address using whatever locking conditions you encoded in the P2TR address (which could include a key path and any number of script paths) 09:25 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has quit [Remote host closed the connection] 09:25 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has joined #bitcoin-rust 09:31 < M1asdfah[m]> Okay perfect that's exactly what I was wondering thanks 09:50 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has joined #bitcoin-rust 10:15 -!- kanzure_ is now known as kanzure 10:53 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has quit [Ping timeout: 240 seconds] 12:13 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 12:55 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has quit [Ping timeout: 240 seconds] 13:06 -!- trev [~trev@user/trev] has quit [Quit: trev] 13:22 < BlueMatt[m]> ariard do you mind if i squash https://github.com/lightningdevkit/rust-lightning/pull/1401 ? 13:37 -!- z9z0b3t1_ [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has joined #bitcoin-rust 13:41 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has quit [Ping timeout: 250 seconds] 14:04 -!- filename [~kilitary@188.242.97.156] has quit [Remote host closed the connection] 16:54 -!- _filename [~kilitary@188.242.97.156] has joined #bitcoin-rust 17:12 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has joined #bitcoin-rust 17:15 -!- z9z0b3t1_ [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has quit [Ping timeout: 256 seconds] 17:29 -!- _filename is now known as filename 18:07 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 18:36 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has quit [Ping timeout: 240 seconds] 18:59 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 19:03 -!- filename [~kilitary@188.242.97.156] has quit [Remote host closed the connection] 19:52 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has quit [Ping timeout: 240 seconds] 20:05 -!- b42 [~mmilata@b42.cz] has quit [Ping timeout: 240 seconds] 20:18 -!- b42 [~mmilata@b42.cz] has joined #bitcoin-rust 20:27 -!- b42 [~mmilata@b42.cz] has quit [Ping timeout: 260 seconds] 20:27 -!- b42 [~mmilata@b42.cz] has joined #bitcoin-rust 21:19 -!- z9z0b3t1_ [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has joined #bitcoin-rust 21:22 -!- z9z0b3t1c [z9z0b3t1c@gateway/vpn/protonvpn/z9z0b3t1c] has quit [Ping timeout: 256 seconds] 21:46 -!- trev [~trev@user/trev] has joined #bitcoin-rust 21:47 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 22:18 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has quit [Ping timeout: 240 seconds] 22:34 -!- evanlinjin [~evanlinji@gateway/tor-sasl/evanlinjin] has joined #bitcoin-rust 23:00 -!- calvinalvin [~kcalvinal@ec2-3-38-183-204.ap-northeast-2.compute.amazonaws.com] has quit [Ping timeout: 246 seconds] 23:00 -!- x88x88x [~x88x88x@149.28.53.172] has quit [Ping timeout: 246 seconds] 23:01 -!- b10c [~quassel@user/b10c] has quit [Ping timeout: 246 seconds] 23:01 -!- kcalvinalvin [~kcalvinal@ec2-3-38-183-204.ap-northeast-2.compute.amazonaws.com] has joined #bitcoin-rust 23:01 -!- b10c [~quassel@static.33.106.217.95.clients.your-server.de] has joined #bitcoin-rust 23:01 -!- b10c [~quassel@static.33.106.217.95.clients.your-server.de] has quit [Changing host] 23:01 -!- b10c [~quassel@user/b10c] has joined #bitcoin-rust 23:03 -!- x88x88x [~x88x88x@149.28.53.172] has joined #bitcoin-rust --- Log closed Wed May 18 00:00:26 2022