master
0.21
issue_866
24.x
0.18
0.17
0.16
0.15
0.14
0.13
0.10
0.8
v0.21.4
v0.21.3
v0.21.3rc3
v0.21.3rc2
v0.21.2.2
v0.21.2.1
v0.21.2
v0.21.2rc7
v0.21.2rc6
v0.21.2rc5
v0.21.2rc4
v0.21.2rc3
v0.21.2rc2
v0.21.2rc1
v0.21.1
v0.21.1rc1
v0.18.1
v0.18.1rc1
v0.17.1
v0.17.1rc1
v0.16.3
v0.16.2
v0.16.2rc1
v0.16.0
v0.16.0rc1
v0.15.1
v0.15.1rc1
v0.15.0.1rc1
v0.13.3
v0.14.2
v0.14.2rc2
v0.14.2rc1
v0.13.3rc2
v0.13.3rc1
v0.13.2.1
v0.13.2
v0.13.2rc3
v0.13.2rc2
v0.13.2rc1
v0.10.3rc1
v0.10.2.2
v0.10.2.1
v0.10.2
v0.10.2rc1
v0.10.1.3
v0.10.1
v0.10.1rc3
v0.10.1.2-osxsign3
v0.10.1.2
v0.10.1.1
v0.10.1rc2
v0.10.1rc1
v0.10.0
v0.10.0.2
v0.10.0rc4
v0.10-mark12
v0.8.7.5
v0.10.0rc3
v0.10.0rc2
v0.9.4
v0.10.0rc1
v0.9.3-preview5
v0.9.3-preview4
v0.9.3
v0.8.7.4
v0.9.3rc2
v0.8.7.3
v0.9.3rc1
v0.9.2.1
v0.9.2
v0.8.7.2
v0.9.2rc2
v0.9.2rc1
v0.8.7.1
v0.8.6.9
v0.8.6.3-mark2
v0.9.0rc2
v0.9.0rc1
v0.8.6.2
v0.8.6.1
v0.8.5.3-rc8
v0.8.5.3-rc7
v0.8.5.3-rc6
v0.8.5.3-rc5
v0.8.5.3-rc4-no-mmap
v0.8.5.3-rc4
v0.8.5.3-rc3
v0.8.5.3-rc2
v0.8.5.3-rc1
v0.8.5.2-rc6
v0.8.5.2-rc5
v0.8.5.2-rc4-detect
v0.8.5.2-rc4
v0.8.5.2-rc3
v0.8.5.2-rc1
v0.8.5.2-rc2
v0.8.5.2rc1
v0.8.5-nodebloom
v0.8.5.1-macosx
v0.8.5.1-omgscrypt
v0.8.5.1-omg2
v0.8.5.1-omg1
v0.8.5
v0.8.5.1
v0.8.4.1-sse2test
v0.8.4.1-omg1
v0.8.4.1-ccsec
v0.8.4
v0.8.4.1-cc
v0.8.4.1
v0.8.4rc2
v0.8.4rc1
v0.8.3.7-ccsec
v0.8.3.7-cc
0.8.3.7-cc
v0.8.3.7
v0.8.3.6
v0.8.3.5
v0.8.3.4
v0.8.3.3
v0.8.3.2
v0.8.3.1
v0.6.9.2
v0.8.3
v0.8.2.3
v0.6.9.1
v0.6.9
v0.8.2
v0.8.2rc3
v0.8.2rc2
v0.8.2rc1
v0.8.1
v0.8.0
v0.8.0rc1
v0.7.2
v0.7.2rc2
v0.7.1
v0.7.1rc1
v0.7.0
v0.7.0rc3
v0.7.0rc2
v0.7.0rc1
v0.6.3c
v0.6.3b
v0.6.3a
v0.6.3
v0.6.3rc1
v0.6.2.2
v0.6.2.1
v0.6.2
v0.6.1
v0.6.1rc2
v0.6.1rc1
v0.6.0
v0.6.0rc6
v0.6.0rc5
v0.6.0rc4
v0.5.3
v0.6.0rc3
v0.5.3rc4
v0.6.0rc2
v0.6.0rc1
v0.5.2
v0.5.1
v0.5.1rc2
v0.5.1rc1
v0.5.0
v0.5.0rc7
v0.5.0rc6
v0.5.0rc5
v0.5.0rc4
v0.5.0rc3
v0.5.0rc2
v0.5.0rc1
v0.4.0
v0.4.00rc2
v0.4.00rc1
v0.3.24
v0.3.24rc3
v0.3.24rc2
v0.3.24rc1
v0.3.23
v0.3.23rc1
v0.3.22
v0.3.22rc6
v0.3.22rc5
v0.3.22rc4
v0.3.22rc3
v0.3.22rc2
v0.3.22rc1
v0.3.21
v0.3.21rc
v0.3.20
v0.1.5
v0.1.6test1
v0.10.3.0rc1
v0.10.4.0
v0.10.4.0rc1
v0.2.0
v0.2.10
v0.2.11
v0.2.12
v0.2.13
v0.2.2
v0.2.4
v0.2.5
v0.2.6
v0.2.7
v0.2.8
v0.2.9
v0.21.3rc1
v0.2rc2
v0.3.0
v0.3.1
v0.3.10
v0.3.11_notexact
v0.3.12
v0.3.13
v0.3.14
v0.3.15
v0.3.17
v0.3.18
v0.3.19
v0.3.1rc1
v0.3.2
v0.3.20.01_closest
v0.3.20.2_closest
v0.3.3
v0.3.6
v0.3.7
v0.3.8
v0.3rc1
v0.3rc2
v0.3rc4
${ noResults }
1 Commits (47bac475f044da0d8cd2e1f39fd2894f90dd0bd9)
Author | SHA1 | Message | Date |
---|---|---|---|
Murch |
49090ec402
|
Add sendall RPC née sweep
_Motivation_ Currently, the wallet uses a fSubtractFeeAmount (SFFO) flag on the recipients objects for all forms of sending calls. According to the commit discussion, this flag was chiefly introduced to permit sweeping without manually calculating the fees of transactions. However, the flag leads to unintuitive behavior and makes it more complicated to test many wallet RPCs exhaustively. We proposed to introduce a dedicated `sendall` RPC with the intention to cover this functionality. Since the proposal, it was discovered in further discussion that our proposed `sendall` rpc and SFFO have subtly different scopes of operation. • sendall: Use _specific UTXOs_ to pay a destination the remainder after fees. • SFFO: Use a _specific budget_ to pay an address the remainder after fees. While `sendall` will simplify cases of spending from specific UTXOs, emptying a wallet, or burning dust, we realized that there are some cases in which SFFO is used to pay other parties from a limited budget, which can often lead to the creation of change outputs. This cannot be easily replicated using `sendall` as it would require manual computation of the appropriate change amount. As such, sendall cannot replace all uses of SFFO, but it still has a different use case and will aid in simplifying some wallet calls and numerous wallet tests. _Sendall call details_ The proposed sendall call builds a transaction from a specific subset of the wallet's UTXO pool (by default all of them) and assigns the funds to one or more receivers. Receivers can either be specified with a specific amount or receive an equal share of the remaining unassigned funds. At least one recipient must be provided without assigned amount to collect the remainder. The `sendall` call will never create change. The call has a `send_max` option that changes the default behavior of spending all UTXOs ("no UTXO left behind"), to maximizing the output amount of the transaction by skipping uneconomic UTXOs. The `send_max` option is incompatible with providing a specific set of inputs. |
3 years ago |