RPC: sendrawtransaction: Allow the user to ignore/override specific rejections #7533

Open
wants to merge 6 commits into
from

Projects

None yet

6 participants

@luke-jr
Member
luke-jr commented Feb 14, 2016

Replace boolean allowhighfees with an Array of rejections to ignore (in a backward compatible manner)

This is useful for node operators who wish to manually accept transactions that don't meet their typical policies, yet don't necessarily want to override all the policies.

It's a bit ugly internally - suggestions on improving that are welcome.

@luke-jr luke-jr added a commit to luke-jr/bitcoin that referenced this pull request Feb 14, 2016
@luke-jr luke-jr AreInputsStandard: Return specific reject reasons
Github-Pull: #7533
Rebased-From: 78bcf17
0793f9a
@luke-jr luke-jr added a commit to luke-jr/bitcoin that referenced this pull request Feb 14, 2016
@luke-jr luke-jr AcceptToMemoryPool: Refactor overrideable rejections (previously fOve…
…rrideMempoolLimit and fRejectAbsurdFee) with flexible std::set of rejections to ignore

Github-Pull: #7533
Rebased-From: 9f03c06
bfd00aa
@luke-jr luke-jr added a commit to luke-jr/bitcoin that referenced this pull request Feb 14, 2016
@luke-jr luke-jr RPC: sendrawtransaction: Replace boolean allowhighfees with an Array …
…of rejections to ignore (in a backward compatible manner)

Github-Pull: #7533
Rebased-From: 1cc1ce4
26b5f34
@laanwj laanwj added the RPC label Feb 15, 2016
@luke-jr luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Feb 25, 2016
@laanwj @luke-jr laanwj + luke-jr rpc: Input-from-stdin mode for bitcoin-cli
Implements #7442 by adding an option `-stdin` which reads
additional arguments from stdin, one per line.

For example

```bash
echo -e "mysecretcode\n120" | src/bitcoin-cli -stdin walletpassphrase
echo -e "walletpassphrase\nmysecretcode\n120" | src/bitcoin-cli -stdin
```

Github-Pull: #7533
Rebased-From: 92bcca3
1193a14
@jameshilliard

concept ACK

@promag
Contributor
promag commented Mar 9, 2016

@luke-jr why not turn the second argument an JSON object to be more scalable. For instance, I was planning to add option unlockUnspents.

@MarcoFalke MarcoFalke and 1 other commented on an outdated diff Mar 30, 2016
@@ -281,7 +281,22 @@ void PruneAndFlush();
/** (try to) add transaction to memory pool **/
bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransaction &tx, bool fLimitFree,
@MarcoFalke
MarcoFalke Mar 30, 2016 Member

Wouldn't it make sense to finally get rid of fLimitFree, which is only hardcoded to false for the wallet and sendrawtransaction?

@luke-jr
luke-jr Nov 12, 2016 Member

It does already support ignoring "rate limited free transaction" failures, but fLimitFree not only bypasses such failures, it also exempts the transaction from the rate limiting count entirely.

@luke-jr luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Jun 28, 2016
@luke-jr luke-jr Merge #7533 sendraw_force-0.12.1_on_fullrbf 9c0feba
@jameshilliard

Is this something that we might be able to get in 0.13? Without something like this the alternative for pool operators is usually to patch out the problematic is-standard check blocking the send which is usually not desired.

@laanwj
Member
laanwj commented Jul 11, 2016

Sorry, no, this missed the feature freeze for 0.13 by a long haul.

@MarcoFalke
Member

Needs rebase on top of master instead of 0.13

@luke-jr
Member
luke-jr commented Nov 12, 2016

@jameshilliard Knots has had this for a while. Miners should probably be using it anyway.

@MarcoFalke Rebased.

@paveljanik
Contributor

Concept ACK
Needs rebase.

@luke-jr
Member
luke-jr commented Dec 26, 2016

Rebased.

Could be combined with #9422 to restore policy-bypassing transactions after a restart, but I consider that beyond the scope of this PR, and something to address after both get merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment