Uninstall Virtual App Protocol
This is the Uninstall Virtual App Protocol.
Roles
Three users run the protocol. They are designated as initiating
, responding
, and intermediary
. It is required that initiating
and responding
have run the install-virtual-app
protocol previously with the same intermediary
; however it is allowed to swap the roles of initiating
and responding
.
The UninstallVirtualAppParams
type
UninstallVirtualAppParams
typeField | type | description |
|
| xpub of |
|
| xpub of |
|
| xpub of |
|
| app identity hash of app instance to uninstall |
|
|
|
|
|
|
At the end of this protocol the commitments {left,right}ETHVirtualAppAgreement
defined in the install-virtual-app
protocol are cancelled, and the free balances are updated.
Commitments
lockCommitment
The protocol produces a commitment to call virtualAppSetState
with the final state of the app and at a high app local nonce. The existence of this commitment and the high local nonce means that the s6
signature (from intermediary
on the targetVirtualAppSetState
commitment) is no longer useful, and the changes to the app state cannot be made without the intemediary's signature.
uninstallLeft
A commitment to cancel the leftETHVirtualAppAgreement
commitment produced by install-virtual-app
and simultaneously update the free balance in the initiating
-intermediary
free balance.
uninstallRight
A commitment to cancel the rightETHVirtualAppAgreement
commitment produced by install-virtual-app
and simultaneously update the free balance in the intermediary
-responding
free balance.
Signatures
Signature | Commitment | Signed By |
s1 | lockCommitment |
|
s2 | lockCommitment |
|
s3 | lockCommitment |
|
s4 | uninstallLeft |
|
s5 | uninstallLeft |
|
s6 | uninstallright |
|
s7 | uninstallright |
|
Messages
Message | Signatures |
m1 | s1 |
m2 | s1, s2 |
m3 | s3 |
m4 | s3, s2 |
m5 | s4 |
m6 | s5 |
m7 | s6 |
m8 | s7 |
M1
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S1 signature |
M2
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S1 signature |
|
| The S2 signature |
M3
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S3 signature |
M4
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S3 signature |
|
| The S2 signature |
M5
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S4 signature |
M6
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S5 signature |
M7
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S6 signature |
M8
Field | Type | Description |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| The S7 signature |
Last updated