contact-store: upgrade existing paths on OTA
$: %1
=rolodex
==
++$ state-two
+ $: %2
+ =rolodex
+ ==
--
::
=| state-one
++ on-load
|= old-vase=vase
=/ old !<(versioned-state old-vase)
+ =| cards=(list card)
+ |-
+ ?: ?=(%2 -.old)
+ [cards this(state old)]
?: ?=(%1 -.old)
- [~ this(state old)]
+ =/ new-rolodex=^rolodex
+ %- malt
+ %+ turn
+ ~(tap by rolodex.old)
+ |= [=path =contacts]
+ [ship+path contacts]
+ %_ $
+ old [%2 new-rolodex]
+ ::
+ cards
+ :_ cards
+ =/ paths
+ %+ turn
+ ~(val by sup.bol)
+ |=([=ship =path] path)
+ [%give %kick paths ~]
+ ==
+
=/ new-rolodex=^rolodex
%- ~(run by rolodex.old)
|= cons=contacts-0
color.con
~
==
- [~ this(state [%1 new-rolodex])]
+ $(old [%1 new-rolodex])]
::
++ on-poke
|= [=mark =vase]
