New garbage purse persisted forever during every vault transfer

Description

As spoted by :

While doing a rev transfer, we split purses (at least once) to maintain OCAP safety. The newly-created purse can't be reused by the receiver though (OCAP safety!) and instead is only used as a transfer medium. This transfer medium though lingers forever in the tuplespace (we don't have garbage collection yet).

We should provide a method in purse contract allowing for moving part of the funds into a one-time-use-only 'transfer purse', that listens *only once* for a 'deposit' call. The deposit call should most likely not take an "amount" argument. Rather, the whole transfer purse should be absorbed by the transfer target.

See RevVault.rho:152 nad RevVault.rho:171 for context.

Search for other usages of purse "split" method and audit them for similar issues

Environment

None

Confluence content

mentioned on

Activity

Show:
Rao Bhamidipati
changed the AssigneeJanuary 31, 2020 at 4:41 PM
Timm Schäuble
Mike Stay
Rao Bhamidipati
updated the SprintOctober 23, 2019 at 5:45 PM
Sprint 32, Sprint 39, Sprint 36, Sprint 37, Sprint 38
Sprint 32, Sprint 39, Sprint 36, Sprint 37, Sprint 38, Sprint 40
Rao Bhamidipati
updated the LabelsOctober 22, 2019 at 4:14 PM
mercury_requirement mercury_stability
mercury_stability
Rao Bhamidipati
updated the SprintOctober 9, 2019 at 4:52 PM
Sprint 32, Sprint 36, Sprint 37, Sprint 38
Sprint 32, Sprint 39, Sprint 36, Sprint 37, Sprint 38
Rao Bhamidipati
updated the SprintOctober 9, 2019 at 4:52 PM
Sprint 32, Sprint 36, Sprint 37, Sprint 38, Staging 3
Sprint 32, Sprint 36, Sprint 37, Sprint 38
Rao Bhamidipati
updated the SprintOctober 9, 2019 at 4:45 PM
Sprint 32, Sprint 36, Sprint 37, Sprint 38
Sprint 32, Sprint 36, Sprint 37, Sprint 38, Staging 3
Rao Bhamidipati
updated the SprintSeptember 30, 2019 at 1:31 PM
Sprint 32, Sprint 36, Sprint 37
Sprint 32, Sprint 36, Sprint 37, Sprint 38
Rao Bhamidipati
updated the SprintSeptember 7, 2019 at 2:55 AM
Sprint 32, Sprint 36
Sprint 32, Sprint 36, Sprint 37
Rao Bhamidipati
updated the LabelsAugust 15, 2019 at 11:20 PM
mercury_stability ungroomed
mercury_requirement mercury_stability
Rao Bhamidipati
updated the SprintAugust 15, 2019 at 11:20 PM
Rholang backlog, Sprint 32
Sprint 32, Sprint 36
Kelly Foster
updated the LabelsJuly 16, 2019 at 8:57 PM
ungroomed
mercury_stability ungroomed
Kelly Foster
updated the SprintJuly 12, 2019 at 4:14 PM
Sprint 32, Sprint 33
Rholang backlog, Sprint 32
Kelly Foster
updated the SprintJuly 12, 2019 at 4:11 PM
Sprint 32
Sprint 32, Sprint 33
Timm Schäuble
updated the Story PointsJune 24, 2019 at 2:28 PM
None
13
Kelly Foster
updated the SprintJune 18, 2019 at 4:32 PM
Rholang backlog
Sprint 32
Kelly Foster
updated the LabelsJune 18, 2019 at 4:31 PM
None
ungroomed
Kelly Foster
changed the AssigneeJune 18, 2019 at 4:31 PM
Unassigned
Timm Schäuble
Kelly Foster
updated the Epic LinkJune 10, 2019 at 5:40 PM
None
RCHAIN-3542
Kelly Foster
updated the SprintJune 10, 2019 at 5:36 PM
None
Rholang backlog
Dominik Zajkowski
updated the RemoteIssueLinkJune 10, 2019 at 1:56 PM
None
This issue links to "Page (RChain Wiki)"
Artur Gajowy
created the IssueJune 10, 2019 at 12:33 PM

Assignee

Mike Stay

Reporter

Priority

Components

Sprint

Story Points

Created June 10, 2019 at 12:33 PM
Updated January 31, 2020 at 4:41 PM