refactors %jael identity, moves structures to +state-relative
== ::
$= own :: vault (vein)
$: yen/(set duct) :: trackers
+ :: XX use this ::
+ our=ship ::
+ :: XX reconcile with .dns.eth ::
+ tuf=(list turf) :: domains
+ fak/_| :: fake keys
lyf/life :: version
jaw/(map life ring) :: private keys
== ::
++ state-absolute :: absolute urbit
$: pry/(map ship (map ship safe)) :: promises
eve=logs :: on-chain events
- :: XX reconcile with .dns.eth
- tuf=(list turf) :: domains
- fak/_| :: fake keys
== ::
++ state-eth-node :: node config + meta
$: source=(each ship node-src) :: learning from
::
%dawn
=* our who.seed.tac
+ :: sort-of single-homed
+ ::
+ =. our.own.sub our
:: our initial private key, as a +tree of +rite
::
=/ rit (sy [%jewel (my [lyf.seed.tac key.seed.tac] ~)] ~)
:: XX reconcile with .dns.eth
:: set initial domains
::
- =. tuf.urb turf.tac
+ =. tuf.own.sub turf.tac
::
=. moz
%+ weld moz
::
%fake
=* our our.tac
+ :: sort-of single-homed
+ ::
+ =. our.own.sub our
:: our private key, as a +tree of +rite
::
:: Private key updates are disallowed for fake ships,
=. +>.$ $(tac [%mint our our rit])
:: set the fake bit
::
- =. fak.urb &
+ =. fak.own.sub &
:: initialize other vanes per the usual procedure
::
:: Except for ourselves!
::
$mint
~| %fake-jael
- ?< fak.urb
+ ?< ?& fak.own.sub
+ (~(exists up q.tac) %jewel)
+ ==
%^ cure hen our.tac
abet:abet:(deal:(burb our.tac) p.tac [q.tac ~])
::
:: ships with real keys must have domains,
:: those with fake keys must not
::
- ?< =(fak.urb ?=(^ tuf.urb))
- +>.$(moz [[hen %give %turf tuf.urb] moz])
+ ?< =(fak.own.sub ?=(^ tuf.own.sub))
+ +>.$(moz [[hen %give %turf tuf.own.sub] moz])
::
:: watch private keys
:: {$vein $~}
::
++ pubs
|= who=ship
- ?: fak.urb
+ ?: fak.own.sub
(pubs:fake who)
%_ ..feed
moz =/ pub (~(get by kyz.puk) who)
==
:: :: ++fake:feed:su
++ fake :: fake subs and state
- ?> fak.urb
+ ?> fak.own.sub
|%
++ pubs
|= who=ship
++ vein :: kick private keys
^+ ..feel
=/ yam vein:form
- ?: =(yam +.own) ..feel
- (exec(+.own yam) yen.own [%give %vein +.own])
+ ?: &(=(lyf.own p.yam) =(jaw.own q.yam))
+ ..feel
+ =. lyf.own p.yam
+ =. jaw.own q.yam
+ (exec yen.own [%give %vein lyf.own jaw.own])
:: :: ++vest:feel:su
++ vest :: kick balance
|= hug/action
