< Chris_Stewart_5>
However, if I provided that same program w/ no witness, it would be treated as any old scriptPubKey, correct?
< luke-jr>
Chris_Stewart_5: I mean it's a valid opcode and even performs a well-defined task. Just don't include any witness data in the input spending it, and it is valid in a block.
< Chris_Stewart_5>
luke-jr: But in the context that we are talking about it is *not* a valid witness program version. So I think my modified text is correct.
< luke-jr>
Chris_Stewart_5: I can't view the text right now, but the way it was worded was in the context of a valid *opcode*
< Chris_Stewart_5>
... that consists of a select subset of opcodes (<code>OP_0,OP_1,OP_2,...,OP_16</code>) followed by a data push between 2 and 40 bytes gets a new special meaning.
< luke-jr>
"valid" isn't in that?
< Chris_Stewart_5>
no
< * luke-jr>
is now confused as to the topic of discussion
< Chris_Stewart_5>
are you talking about about valid op codes or valid witness program version's? I'm talking about the latter.
< luke-jr>
my objection was the misuse of the term "valid" in the description. But your paste doesn't use "valid" at all, so I don't see the problem
< Chris_Stewart_5>
Yeah, my text modification doesn't contain the word 'valid' at all.
< Chris_Stewart_5>
even though I think 'select subset of opcodes' and 'valid opcodes' are semantically the same.. anyway i digress
< Chris_Stewart_5>
ehhh actually the more I think about it I can see your point.
< bitcoin-git>
[bitcoin] laanwj closed pull request #9640: Bumpfee: bugfixes for error handling and feerate calculation (master...2017-01-bumpfee-error-cleanup) https://github.com/bitcoin/bitcoin/pull/9640
< jonasschnelli>
Fundrawtransaction has the option "includeWatching". Does it make sense to "include" watch-onlys? IMO it should be "onlyUseWatching" (or similar) or at least we should offer this function.
< jonasschnelli>
Otherwise, if you run a cold-storage wallet via importing addresses/pubkeys, you run into the risk of mixing the cold-storage with hot-keys from the wallet
< jonasschnelli>
Well, if you don't receive coins over the hot wallet, then you won't mix inputs.. but that's a bad sanity check (via users-behavior)
< sipa>
well don't mix them into the same wallet then
< sipa>
that's asking for trouble regardless i think
< jonasschnelli>
sipa: Yes. But assume you want to use a hardware wallet with a core wallet... you import plenty of addresses, ... but there is no sanity that you "could" mix inputs.
< jonasschnelli>
IMO it would be sane if fundraw had an option to say "only use watchonly".
< jonasschnelli>
Just in case you where dump enought to receive coins into your hot wallet
< jonasschnelli>
dumb
< sipa>
that's equally dumb to otherwise mixing two other wallets
< Chris_Stewart_5>
Is there any reason why we couldn't push certain op codes (i.e. predicates) onto the stack and use them for other op codes?
< Chris_Stewart_5>
Similar to a higher order function.. this might be a more wizardy question, thought i'd ask here first though
< sipa>
simplicity
< Chris_Stewart_5>
and this can't be done with the current op codes we have rigtht? I can't think of one off of the top of my head that we can hack to achieve that..
< sipa>
what good would it be?
< sipa>
what could you do with it that you can't do now?
< Chris_Stewart_5>
support for doubles in script? That isn't supported right now is it?
< sipa>
die.
< gmaxwell>
Chris_Stewart_5: you're asking about defining functions then?
< gmaxwell>
it's very difficult to prove that anything which can do that doesn't immediately result in unbounded memory or computational usage.
< Chris_Stewart_5>
sipa: Can you elaborate further than 'die'? Why is this such a bad idea? Not trying to 'stir the pot' so to speak, just want to understand the concerns
< sipa>
Chris_Stewart_5: floating point numbers in consensus code?
< sipa>
you'd cause a fork between different hardware that even just implements rounding slightly differently
< Chris_Stewart_5>
I think that did deserve a 'die' response. Thanks sipa.
< Chris_Stewart_5>
gmaxwell: I think it would be interesting to allow for predicates between two numbers in script, that was my hack to get around script not having floats until it was pointed out it is a bad idea
< Chris_Stewart_5>
but i see your point about computational usage, and I don't know if it would be easy to limit their use similar to how we limit sigops :/
< bitcoin-git>
[bitcoin] TheBlueMatt opened pull request #9665: Use cached [compact] blocks to respond to getdata messages (master...2017-02-processgetdata-cache) https://github.com/bitcoin/bitcoin/pull/9665
< BlueMatt>
#9650 (and, by extension, #9634) are probably 0.14
< bitcoin-git>
[bitcoin] luke-jr closed pull request #9621: Define, check, and use MIN_TRANSACTION_SIZE as a const (master...cleanup_mintxsize) https://github.com/bitcoin/bitcoin/pull/9621