-
Notifications
You must be signed in to change notification settings - Fork 88
Open
Labels
Coin Type: BasecoinSpecifically related to basecoin transactionsSpecifically related to basecoin transactionsCoin Type: CTSpecifically related to CT transactionsSpecifically related to CT transactionsCoin Type: RingCTSpecifically related to RingCT transactionsSpecifically related to RingCT transactionsComponent: Core AppRelated to the application itself.Related to the application itself.Component: RPCRelated to the console commands themselves.Related to the console commands themselves.Component: WalletRelating to keystore, tx creation, and balance trackingRelating to keystore, tx creation, and balance trackingDev Status: In ProgressSomeone is actively working on this issue.Someone is actively working on this issue.Issue Type: Feature RequestAdditional feature that would make Veil better.Additional feature that would make Veil better.
Description
Summary
Currently, attempts to send Veil with these commands can fail if it does not fit in a single transaction or block (and for RingCT, sometimes the user needs to run an additional command to unstick the funds). Instead, we plan to create multiple transactions for sending the requested funds. Spending zerocoin already does this. (We will not cover minting zerocoin here.)
Outline
- Create MultiTxReceipt wrapper class akin to ZerocoinSpendReceipt.
- Create new function to pick inputs up to a certain amount.
- Modify send
- assign partial values to outputs when the inputs returned aren't enough
- Like ZerocoinSpend: create multiple transactions, test accepting them to the mempool as they are created, commit them in a batch after all have passed
ct and ringct outputs are splitnot something that I have to edit
- Add RPC option to use multi-tx. Automatically determine maximum number of inputs (or define a hardcoded fixed maximum) or accept the number as the option.
- regtest ct sends
- regtest ringct sends
Optional additions
- Add config option to default to multi-tx.
Can change from one tx can be used in another?Doesn't matter in this case, because only the last tx will even have change left.- If a transaction is still rejected for being too large, it could be automatically split further?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Coin Type: BasecoinSpecifically related to basecoin transactionsSpecifically related to basecoin transactionsCoin Type: CTSpecifically related to CT transactionsSpecifically related to CT transactionsCoin Type: RingCTSpecifically related to RingCT transactionsSpecifically related to RingCT transactionsComponent: Core AppRelated to the application itself.Related to the application itself.Component: RPCRelated to the console commands themselves.Related to the console commands themselves.Component: WalletRelating to keystore, tx creation, and balance trackingRelating to keystore, tx creation, and balance trackingDev Status: In ProgressSomeone is actively working on this issue.Someone is actively working on this issue.Issue Type: Feature RequestAdditional feature that would make Veil better.Additional feature that would make Veil better.