Merge pull request #941 from urbit/single-home-vanes

single-home the vanes
This commit is contained in:
Joe Bryan 2018-12-13 18:44:26 -05:00 committed by GitHub
commit f8905a0640
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 787 additions and 1088 deletions

View File

@ -114,10 +114,10 @@
mark mark
{$hiss hiss:eyre} {$hiss hiss:eyre}
== ==
[%build wire @p ? schematic:ford] [%build wire ? schematic:ford]
[%kill wire @p] [%kill wire ~]
{$deal wire sock term club} :: {$deal wire sock term club} ::
{$info wire @p toro:clay} :: {$info wire toro:clay} ::
== :: == ::
++ move (pair bone card) :: user-level move ++ move (pair bone card) :: user-level move
++ sign :: ++ sign ::
@ -363,7 +363,7 @@
?> ?=($~ pux) ?> ?=($~ pux)
:: pin all builds to :now.hid so they don't get cached forever :: pin all builds to :now.hid so they don't get cached forever
:: ::
(he-card(poy `+>+<(pux `way)) %build way our.hid live=%.n schematic) (he-card(poy `+>+<(pux `way)) %build way live=%.n schematic)
:: ::
++ dy-eyre :: send work to eyre ++ dy-eyre :: send work to eyre
|= {way/wire usr/(unit knot) req/hiss:eyre} |= {way/wire usr/(unit knot) req/hiss:eyre}
@ -376,7 +376,7 @@
=. poy ~ =. poy ~
?~ pux +> ?~ pux +>
%. [%txt "! cancel {<u.pux>}"] %. [%txt "! cancel {<u.pux>}"]
he-diff:(he-card [%kill u.pux our.hid]) he-diff:(he-card [%kill u.pux ~])
:: ::
++ dy-slam :: call by ford ++ dy-slam :: call by ford
|= {way/wire gat/vase sam/vase} |= {way/wire gat/vase sam/vase}
@ -586,7 +586,6 @@
%- he-card(poy ~) :* %- he-card(poy ~) :*
%info %info
/file /file
our.hid
(foal:space:userlib (en-beam:format p.p.mad) cay) (foal:space:userlib (en-beam:format p.p.mad) cay)
== ==
:: ::

View File

@ -99,7 +99,7 @@
== :: == ::
++ card :: general card ++ card :: general card
$% {$diff lime} :: $% {$diff lime} ::
{$info wire ship term nori:clay} :: {$info wire term nori:clay} ::
{$peer wire dock path} :: {$peer wire dock path} ::
{$poke wire dock pear} :: {$poke wire dock pear} ::
{$pull wire dock ~} :: {$pull wire dock ~} ::
@ -3114,7 +3114,6 @@
:* ost.bol :* ost.bol
%info %info
/jamfile /jamfile
our.bol
(foal:space:userlib paf [%hall-telegrams !>(-)]) (foal:space:userlib paf [%hall-telegrams !>(-)])
== ==
:: ::
@ -3211,7 +3210,6 @@
:* ost.bol :* ost.bol
%info %info
/jamfile /jamfile
our.bol
(foal:space:userlib paf [%hall-telegrams !>(-)]) (foal:space:userlib paf [%hall-telegrams !>(-)])
== ==
:: ::

View File

@ -69,8 +69,7 @@
|= [a=spur b=(list spur)] |= [a=spur b=(list spur)]
~& >> (flop a) ~& >> (flop a)
:- %build :- %build
:^ a-core+a :+ a-core+a
our
live=| live=|
^- schematic:ford ^- schematic:ford
:- [%core now-disc %hoon a] :- [%core now-disc %hoon a]
@ -100,8 +99,7 @@
|= [a=term b=(list term)] |= [a=term b=(list term)]
~& >> [%ren a] ~& >> [%ren a]
:- %build :- %build
:^ a-rend+/[a] :+ a-rend+/[a]
our
live=| live=|
^- schematic:ford ^- schematic:ford
=/ bem=beam (need (de-beam %/example)) =/ bem=beam (need (de-beam %/example))

View File

@ -10,9 +10,9 @@
|% |%
+= move [bone card] += move [bone card]
+= card += card
$% [%info wire ship toro:clay] $% [%info wire toro:clay]
[%poke wire dock poke] [%poke wire dock poke]
[%perm wire ship desk path rite:clay] [%perm wire desk path rite:clay]
== ==
+= poke += poke
$% [%hall-action action:hall] $% [%hall-action action:hall]
@ -830,7 +830,7 @@
=/ bek byk.bol(r [%da now.bol]) =/ bek byk.bol(r [%da now.bol])
=. pax (en-beam:format bek (flop pax)) =. pax (en-beam:format bek (flop pax))
%+ ta-emit ost.bol %+ ta-emit ost.bol
[%info (weld /ta-write pax) our.bol (foal pax cay)] [%info (weld /ta-write pax) (foal pax cay)]
:: ::
++ ta-remove ++ ta-remove
=, space:userlib =, space:userlib
@ -840,7 +840,7 @@
=. pax (en-beam:format bek (flop pax)) =. pax (en-beam:format bek (flop pax))
^+ ta-this ^+ ta-this
%+ ta-emit ost.bol %+ ta-emit ost.bol
[%info (weld /ta-remove pax) our.bol (fray pax)] [%info (weld /ta-remove pax) (fray pax)]
:: ::
:: permissions :: permissions
:: ::
@ -849,14 +849,14 @@
|= [pax=path r=rule:clay w=rule:clay] |= [pax=path r=rule:clay w=rule:clay]
^+ ta-this ^+ ta-this
%+ ta-emit ost.bol %+ ta-emit ost.bol
[%perm (weld /perms pax) our.bol q.byk.bol pax [%rw `r `w]] [%perm (weld /perms pax) q.byk.bol pax [%rw `r `w]]
:: ::
++ ta-flush-permissions ++ ta-flush-permissions
~/ %coll-ta-flush-permissions ~/ %coll-ta-flush-permissions
|= pax=path |= pax=path
^+ ta-this ^+ ta-this
%+ ta-emit ost.bol %+ ta-emit ost.bol
[%perm (weld /perms pax) our.bol q.byk.bol pax [%rw ~ ~]] [%perm (weld /perms pax) q.byk.bol pax [%rw ~ ~]]
:: ::
:: hall :: hall
:: ::

View File

@ -61,19 +61,19 @@
?> =(src our) ?> =(src our)
=> |% :: arvo structures => |% :: arvo structures
++ card :: ++ card ::
$% {$build wire @p ? schematic:ford} :: $% {$build wire ? schematic:ford} ::
{$drop wire @p @tas} :: {$drop wire @tas} ::
{$info wire @p @tas nori} :: {$info wire @tas nori} ::
{$mont wire @tas beam} :: {$mont wire @tas beam} ::
{$dirk wire @tas} :: {$dirk wire @tas} ::
{$ogre wire $@(@tas beam)} :: {$ogre wire $@(@tas beam)} ::
{$merg wire @p @tas @p @tas case germ} :: {$merg wire @tas @p @tas case germ} ::
{$perm wire ship desk path rite} :: {$perm wire desk path rite} ::
{$poke wire dock pear} :: {$poke wire dock pear} ::
{$wipe wire @ud} :: {$wipe wire @ud} ::
[%keep wire compiler-cache-size=@ud build-cache-size=@ud] [%keep wire compiler-cache-size=@ud build-cache-size=@ud]
{$wait wire @da} :: {$wait wire @da} ::
{$warp wire sock riff} :: {$warp wire ship riff} ::
== :: == ::
++ pear :: poke fruit ++ pear :: poke fruit
$% {$hall-command command:hall} :: $% {$hall-command command:hall} ::
@ -154,13 +154,13 @@
:: ::
++ poke-cancel ++ poke-cancel
|= syd/desk |= syd/desk
abet:(emit %drop /cancel our syd) abet:(emit %drop /cancel syd)
:: ::
++ poke-info ++ poke-info
|= {mez/tape tor/(unit toro)} |= {mez/tape tor/(unit toro)}
?~ tor ?~ tor
abet:(spam leaf+mez ~) abet:(spam leaf+mez ~)
abet:(emit:(spam leaf+mez ~) %info /kiln our u.tor) abet:(emit:(spam leaf+mez ~) %info /kiln u.tor)
:: ::
++ poke-rm ++ poke-rm
|= a/path |= a/path
@ -185,8 +185,8 @@
++ poke-permission ++ poke-permission
|= {syd/desk pax/path pub/?} |= {syd/desk pax/path pub/?}
=< abet =< abet
%^ emit %perm /kiln/permission %- emit
[our syd pax %r ~ ?:(pub %black %white) ~] [%perm /kiln/permission syd pax %r ~ ?:(pub %black %white) ~]
:: ::
++ poke-autoload |=(lod/(unit ?) abet:(poke:autoload lod)) ++ poke-autoload |=(lod/(unit ?) abet:(poke:autoload lod))
++ poke-start-autoload |=(~ abet:start:autoload) ++ poke-start-autoload |=(~ abet:start:autoload)
@ -225,7 +225,7 @@
++ subscribe-next ++ subscribe-next
%- emit %- emit
^- card ^- card
[%warp /kiln/autoload [our our] %home `[%next %z da+now /sys]] [%warp /kiln/autoload our %home `[%next %z da+now /sys]]
:: ::
++ writ =>(check-new subscribe-next) ++ writ =>(check-new subscribe-next)
++ check-new ++ check-new
@ -364,26 +364,20 @@
++ spam |*(* %_(+> ..auto (^spam +<))) ++ spam |*(* %_(+> ..auto (^spam +<)))
++ stop ++ stop
=> (spam (render "ended autosync" sud her syd) ~) => (spam (render "ended autosync" sud her syd) ~)
%- blab :_ ~ =/ =wire /kiln/sync/[syd]/(scot %p her)/[sud]
:* ust %warp (blab [ust %warp wire her sud ~] ~)
/kiln/sync/[syd]/(scot %p her)/[sud]
[our her] sud ~
==
:: XX duplicate of start-sync? see |track :: XX duplicate of start-sync? see |track
:: ::
++ start-track ++ start-track
=> (spam (render "activated track" sud her syd) ~) => (spam (render "activated track" sud her syd) ~)
=. let 1 =. let 1
%- blab =/ =wire /kiln/sync/[syd]/(scot %p her)/[sud]
:~ :* ost %warp (blab [ost %warp wire her sud `[%sing %y ud+let /]] ~)
/kiln/sync/[syd]/(scot %p her)/[sud]
[our her] sud ~ %sing %y ud+let /
== ==
:: ::
++ start-sync ++ start-sync
=< (spam (render "activated sync" sud her syd) ~) =< (spam (render "activated sync" sud her syd) ~)
=/ =wire /kiln/sync/[syd]/(scot %p her)/[sud] =/ =wire /kiln/sync/[syd]/(scot %p her)/[sud]
(blab [ost %warp wire [our her] sud `[%sing %w [%da now] /]] ~) (blab [ost %warp wire her sud `[%sing %w [%da now] /]] ~)
:: ::
++ writ ++ writ
|= rot=riot |= rot=riot
@ -410,7 +404,7 @@
=< %- spam =< %- spam
?: =(our her) ~ ?: =(our her) ~
[(render "beginning sync" sud her syd) ~] [(render "beginning sync" sud her syd) ~]
(blab [ost %merg wire our syd her sud ud+let germ] ~) (blab [ost %merg wire syd her sud ud+let germ] ~)
:: ::
++ mere ++ mere
|= mes=(each (set path) (pair term tang)) |= mes=(each (set path) (pair term tang))
@ -434,7 +428,7 @@
== ==
== ==
=/ =wire /kiln/sync/[syd]/(scot %p her)/[sud] =/ =wire /kiln/sync/[syd]/(scot %p her)/[sud]
(blab [ost %warp wire [our her] sud `[%sing %y ud+let /]] ~) (blab [ost %warp wire her sud `[%sing %y ud+let /]] ~)
-- --
:: ::
++ work :: state machine ++ work :: state machine
@ -469,7 +463,7 @@
:: ::
++ perform :: ++ perform ::
^+ . ^+ .
(blab [ost %merg /kiln/[syd] our syd her sud cas gem] ~) (blab [ost %merg /kiln/[syd] syd her sud cas gem] ~)
:: ::
++ fancy-merge :: send to self ++ fancy-merge :: send to self
|= {syd/desk her/@p sud/desk gem/?($auto germ)} |= {syd/desk her/@p sud/desk gem/?($auto germ)}
@ -495,7 +489,7 @@
?~ saw ?~ saw
=> (spam leaf+"%melding %{(trip sud)} into scratch space" ~) => (spam leaf+"%melding %{(trip sud)} into scratch space" ~)
%- blab :_ ~ %- blab :_ ~
[ost %merg /kiln/[syd] our (cat 3 syd '-scratch') her sud cas gem] [ost %merg /kiln/[syd] (cat 3 syd '-scratch') her sud cas gem]
=+ :- "failed to set up conflict resolution scratch space" =+ :- "failed to set up conflict resolution scratch space"
"I'm out of ideas" "I'm out of ideas"
lose:(spam leaf+-< leaf+-> u.saw) lose:(spam leaf+-< leaf+-> u.saw)
@ -514,7 +508,7 @@
=+ tic=(cat 3 syd '-scratch') =+ tic=(cat 3 syd '-scratch')
%- blab :_ ~ %- blab :_ ~
=, ford =, ford
:* ost %build /kiln/[syd] our live=%.n :* ost %build /kiln/[syd] live=%.n
^- schematic ^- schematic
:- %list :- %list
^- (list schematic) ^- (list schematic)
@ -643,7 +637,7 @@
=< win =< win
%- blab:(spam tan) %- blab:(spam tan)
:_ ~ :_ ~
:* ost %info /kiln/[syd] our :* ost %info /kiln/[syd]
(cat 3 syd '-scratch') %& (cat 3 syd '-scratch') %&
%+ murn can %+ murn can
|= {p/path q/(unit miso)} |= {p/path q/(unit miso)}

View File

@ -16,8 +16,8 @@
:: ::
|% |%
++ data $%({$json json} {$mime mime}) ++ data $%({$json json} {$mime mime})
++ card $% {$build wire @p ? schematic:ford} ++ card $% {$build wire ? schematic:ford}
{$info wire @p toro:clay} {$info wire toro:clay}
== ==
-- --
:: ::
@ -34,7 +34,7 @@
=+ ext=%md =+ ext=%md
?~ (file (en-beam beak-now [ext sup])) ?~ (file (en-beam beak-now [ext sup]))
~|(not-found+[ext `path`(flop sup)] !!) ~|(not-found+[ext `path`(flop sup)] !!)
=- abet:(emit %info write+~ our -) =- abet:(emit %info write+~ -)
(fray (en-beam beak-now [ext sup])) (fray (en-beam beak-now [ext sup]))
:: ::
++ poke-tree ++ poke-tree
@ -57,7 +57,7 @@
=+ .^(path %e /(scot %p our)/serv/(scot %da now)) =+ .^(path %e /(scot %p our)/serv/(scot %da now))
?>(?=({@tas @tas *} -) -) ?>(?=({@tas @tas *} -) -)
=; sob/soba:clay =; sob/soba:clay
?~(sob abet abet:(emit %info write+~ our `toro:clay`[i.t.sev %& sob])) ?~(sob abet abet:(emit %info write+~ `toro:clay`[i.t.sev %& sob]))
=+ pax=`path`/web/plan =+ pax=`path`/web/plan
=+ paf=(en-beam beak-now (flop pax)) =+ paf=(en-beam beak-now (flop pax))
?~ [fil:.^(arch %cy paf)] ?~ [fil:.^(arch %cy paf)]
@ -134,7 +134,6 @@
%- emit :* %- emit :*
%build %build
write+pax write+pax
our
live=%.n :: XX defer %nice live=%.n :: XX defer %nice
^- schematic:ford :: SYNTAX ERROR AT START OF LINE? ^- schematic:ford :: SYNTAX ERROR AT START OF LINE?
=/ =beak beak-now =/ =beak beak-now
@ -157,7 +156,7 @@
:: ::
=/ =cage (result-to-cage:ford build-result) =/ =cage (result-to-cage:ford build-result)
:: ::
=- abet:(emit %info write+~ our -) =- abet:(emit %info write+~ -)
:: ::
(foal :(welp (en-beam beak-now ~) pax /[-.cage]) cage) (foal :(welp (en-beam beak-now ~) pax /[-.cage]) cage)
-- --

View File

@ -68,7 +68,7 @@
++ go :: go ++ go :: go
|_ ton=town :: ames state |_ ton=town :: ames state
++ as :: as:go ++ as :: as:go
|_ [our=ship saf=sufi] :: per server |_ our=ship :: per server
++ lax :: lax:as:go ++ lax :: lax:as:go
|_ [her=ship dur=dore] :: per client |_ [her=ship dur=dore] :: per client
++ cluy :: cluy:lax:as:go ++ cluy :: cluy:lax:as:go
@ -222,7 +222,7 @@
&(!?=(%czar rac) =(our seg)) &(!?=(%czar rac) =(our seg))
== ==
~ ~
`law.saf `law.ton
=/ yig sen =/ yig sen
=/ hom (jam ham) =/ hom (jam ham)
?: =(~ lew.wod.dur) ?: =(~ lew.wod.dur)
@ -257,37 +257,35 @@
|= her=ship |= her=ship
^+ lax ^+ lax
=/ fod=dore =/ fod=dore
(fall (~(get by hoc.saf) her) (gur her)) (fall (~(get by hoc.ton) her) (gur her))
~(. lax [her fod]) ~(. lax [her fod])
:: ::
++ nux :: install dore ++ nux :: install dore
|= new=_lax |= new=_lax
^+ +> ^+ +>
+>(hoc.saf (~(put by hoc.saf) her.new dur.new)) +>(hoc.ton (~(put by hoc.ton) her.new dur.new))
:: ::
++ sen :: current crypto ++ sen :: current crypto
^- [lyf=life cub=acru] ^- [lyf=life cub=acru]
?~(val.saf !! [p.i.val.saf r.i.val.saf]) ?~(val.ton !! [p.i.val.ton r.i.val.ton])
:: ::
++ sev :: crypto by life ++ sev :: crypto by life
|= mar=life |= mar=life
^- [p=? q=acru] ^- [p=? q=acru]
?~ val.saf !! ?~ val.ton !!
?: =(mar p.i.val.saf) ?: =(mar p.i.val.ton)
[& r.i.val.saf] [& r.i.val.ton]
?> (lth mar p.i.val.saf) ?> (lth mar p.i.val.ton)
:- | :- |
|- ^- acru |- ^- acru
?> ?=(^ t.val.saf) ?> ?=(^ t.val.ton)
?: =(mar p.i.t.val.saf) ?: =(mar p.i.t.val.ton)
r.i.t.val.saf r.i.t.val.ton
$(t.val.saf t.t.val.saf) $(t.val.ton t.t.val.ton)
-- :: --as:go -- :: --as:go
:: ::
++ su :: install safe ++ su :: install safe
|= new=_as |=(new=_as `town`ton.new)
^- town
ton(urb (~(put by urb.ton) our.new saf.new))
:: ::
++ ti :: expire by time ++ ti :: expire by time
|= now=@da |= now=@da
@ -295,11 +293,7 @@
!! !!
:: ::
++ us :: produce safe ++ us :: produce safe
|= our=ship |=(our=ship `_as`~(. as our))
^- (unit _as)
=+ goh=(~(get by urb.ton) our)
?~ goh ~
[~ ~(. as [our u.goh])]
-- :: --go -- :: --go
-- --
:::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ -515,23 +509,23 @@
|% |%
++ am :: am ++ am :: am
~% %ames-am ..is ~ ~% %ames-am ..is ~
|_ [now=@da fox=fort ski=sley] :: protocol engine |_ [our=ship now=@da fox=fort ski=sley] :: protocol engine
:: +deed: scry for our deed :: +deed: scry for our deed
:: ::
++ deed ++ deed
~/ %deed ~/ %deed
|= [our=ship now=@da lyf=life] |= [who=ship lyf=life]
;; ^deed ;; ^deed
%- need %- need %- need %- need
%- (sloy-light ski) %- (sloy-light ski)
=/ pur=spur =/ pur=spur
/(scot %ud lyf)/(scot %p our) /(scot %ud lyf)/(scot %p who)
[[151 %noun] %j our %deed da+now pur] [[151 %noun] %j our %deed da+now pur]
:: +sein: scry for sponsor :: +sein: scry for sponsor
:: ::
++ sein ++ sein
~/ %sein ~/ %sein
|= [our=ship now=@da who=ship] |= who=ship
;; ship ;; ship
%- need %- need %- need %- need
%- (sloy-light ski) %- (sloy-light ski)
@ -540,7 +534,7 @@
:: ::
++ saxo ++ saxo
~/ %saxo ~/ %saxo
|= [our=ship now=@da who=ship] |= who=ship
;; (list ship) ;; (list ship)
%- need %- need %- need %- need
%- (sloy-light ski) %- (sloy-light ski)
@ -548,30 +542,33 @@
:: ::
++ vein :: vein:am ++ vein :: vein:am
~/ %vein ~/ %vein
|= [our=ship =life vein=(map life ring)] :: new private keys |= [=life vein=(map life ring)] :: new private keys
^- fort ^- fort
:: ::
?. ?& (~(has by vein) life) ?. ?& (~(has by vein) life)
=(life (roll ~(tap in ~(key by vein)) max)) =(life (roll ~(tap in ~(key by vein)) max))
== ==
~| [%vein-mismatch +<] !! ~| [%vein-mismatch +<] !!
:: XX single-home %= fox
hoc.ton
:: reset connections
:: ::
?. ?| (~(has by urb.ton.fox) our) (~(run by hoc.ton.fox) |=(=dore dore(caq *clot)))
=(~ urb.ton.fox)
==
~| [%strange-vein +<] !!
=/ suf=sufi (fall (~(get by urb.ton.fox) our) *sufi)
:: reset symmetric keys
:: ::
=. hoc.suf (~(run by hoc.suf) |=(=dore dore(caq *clot))) seh.ton
=. seh.suf ~ :: reset symmetric key cache
::
~
::
:: save our secrets, ready for action
law.ton
:: save our deed (for comet/moon communication) :: save our deed (for comet/moon communication)
:: ::
=. law.suf (deed our now life) (deed our life)
::
val.ton
:: save our secrets, ready for action :: save our secrets, ready for action
:: ::
=. val.suf
^- wund ^- wund
%+ turn %+ turn
%+ sort %+ sort
@ -580,10 +577,6 @@
(gth life.a life.b) (gth life.a life.b)
|= [=^life =ring] |= [=^life =ring]
[life ring (nol:nu:crub:crypto ring)] [life ring (nol:nu:crub:crypto ring)]
=/ con=corn (fall (~(get by zac.fox) our) *corn)
%= fox
urb.ton (~(put by urb.ton.fox) our suf)
zac (~(put by zac.fox) our con)
== ==
:: ::
++ gnaw :: gnaw:am ++ gnaw :: gnaw:am
@ -592,57 +585,36 @@
^- [p=(list boon) q=fort] ^- [p=(list boon) q=fort]
?. =(protocol-version (end 0 3 pac)) [~ fox] ?. =(protocol-version (end 0 3 pac)) [~ fox]
=+ kec=(bite pac) =+ kec=(bite pac)
?: (goop p.p.kec) [~ fox] ?: (goop p.p.kec)
?. (~(has by urb.ton.fox) q.p.kec) [~ fox]
?. =(our q.p.kec)
[~ fox] [~ fox]
=; zap=[p=(list boon) q=fort] =; zap=[p=(list boon) q=fort]
[(weld p.zap next) q.zap] [(weld p.zap next) q.zap]
=< zork =< zork
=< zank =< zank
:: ~& [%hear p.p.kec ryn `@p`(mug (shaf %flap pac))] :: ~& [%hear p.p.kec ryn `@p`(mug (shaf %flap pac))]
%- ~(chew la:(ho:(um q.p.kec) p.p.kec) kay ryn %none (shaf %flap pac)) %- ~(chew la:(ho:um p.p.kec) kay ryn %none (shaf %flap pac))
[q.kec r.kec] [q.kec r.kec]
:: ::
++ goop :: blacklist ++ goop :: blacklist
|= him=ship |= him=ship
| |
:: ::
++ hall :: hall:am
^- (list sock) :: all sockets
=| sox=(list sock) :: XX hideous
|- ^+ sox
?~ zac.fox sox
=. sox $(zac.fox l.zac.fox)
=. sox $(zac.fox r.zac.fox)
|- ^+ sox
?~ wab.q.n.zac.fox sox
=. sox $(wab.q.n.zac.fox l.wab.q.n.zac.fox)
=. sox $(wab.q.n.zac.fox r.wab.q.n.zac.fox)
[[p.n.zac.fox p.n.wab.q.n.zac.fox] sox]
::
++ kick :: kick:am ++ kick :: kick:am
|= hen=duct :: refresh net |= hen=duct :: refresh net
=+ aks=(turn ~(tap by urb.ton.fox) |=([p=ship q=sufi] p)) ^- [p=(list boon) q=fort]
|- ^- [p=(list boon) q=fort] zork:(kick:um hen)
?~ aks [~ fox]
=^ buz fox zork:(kick:(um i.aks) hen)
=^ biz fox $(aks t.aks)
[(weld p.buz p.biz) fox]
:: ::
++ next ++ next
^- (list boon) ^- (list boon)
=/ doz=(unit @da) [~ (add now ~s32)] =/ doz=(unit @da) [~ (add now ~s32)]
=. doz =. doz
|- ^+ doz |- ^+ doz
?~ zac.fox doz ?~ wab.zac.fox doz
=. doz $(zac.fox l.zac.fox) =. doz $(wab.zac.fox l.wab.zac.fox)
=. doz $(zac.fox r.zac.fox) =. doz $(wab.zac.fox r.wab.zac.fox)
=+ yem=q.n.zac.fox =+ bah=q.n.wab.zac.fox
|- ^+ doz
?~ wab.yem doz
=. doz $(wab.yem l.wab.yem)
=. doz $(wab.yem r.wab.yem)
=+ bah=q.n.wab.yem
(hunt lth doz rtn.sop.bah) (hunt lth doz rtn.sop.bah)
=/ nex (hunt lth doz tim.fox) =/ nex (hunt lth doz tim.fox)
?: =(tim.fox nex) ?: =(tim.fox nex)
@ -651,8 +623,8 @@
:: ::
++ rack :: rack:am ++ rack :: rack:am
~/ %rack ~/ %rack
|= [soq=sock cha=path cop=coop] :: e2e ack |= [her=ship cha=path cop=coop] :: e2e ack
=+ oh=(ho:(um p.soq) q.soq) =/ oh (ho:um her)
=^ gud oh (cook:oh cop cha ~) =^ gud oh (cook:oh cop cha ~)
?. gud oh ?. gud oh
(cans:oh cha) (cans:oh cha)
@ -662,25 +634,24 @@
|= hen=duct :: harvest packets |= hen=duct :: harvest packets
^- [p=(list boon) q=fort] ^- [p=(list boon) q=fort]
=. tim.fox ~ =. tim.fox ~
=+ sox=hall =/ neb=(list ship) ~(tap in ~(key by wab.zac.fox))
=| bin=(list boon) =| bin=(list boon)
|- ^- [p=(list boon) q=fort] |- ^- [p=(list boon) q=fort]
?~ sox ?~ neb
=^ ban fox (kick hen) =^ ban fox (kick hen)
[:(weld bin p.ban next) fox] [:(weld bin p.ban next) fox]
=^ bun fox zork:zank:thaw:(ho:(um p.i.sox) q.i.sox) =^ bun fox zork:zank:thaw:(ho:um i.neb)
$(sox t.sox, bin (weld p.bun bin)) $(neb t.neb, bin (weld p.bun bin))
:: ::
++ wise :: wise:am ++ wise :: wise:am
|= [soq=sock hen=duct cha=path val=*] :: send a statement |= [hen=duct her=ship cha=path val=*] :: send a statement
^- [p=(list boon) q=fort] ^- [p=(list boon) q=fort]
=^ ban fox zork:zank:(wool:(ho:(um p.soq) q.soq) hen cha val) =^ ban fox zork:zank:(wool:(ho:um her) hen cha val)
[(weld p.ban next) fox] [(weld p.ban next) fox]
:: ::
++ um :: per server ++ um :: per server
|= our=ship =/ gus (~(us go ton.fox) our)
=/ gus (need (~(us go ton.fox) our)) =/ weg=corn zac.fox
=/ weg=corn (fall (~(get by zac.fox) our) *corn)
=| bin=(list boon) =| bin=(list boon)
|% |%
++ ho :: ho:um:am ++ ho :: ho:um:am
@ -745,7 +716,7 @@
bin bin
:_ bin :_ bin
:^ %milk :^ %milk
[our her] her
`soap`[[lyf:sen:gus clon:diz] cha did.rum] `soap`[[lyf:sen:gus clon:diz] cha did.rum]
u.s.u.cun u.s.u.cun
== ==
@ -768,7 +739,7 @@
?^ ram raz.bah ?^ ram raz.bah
%+ ~(put by raz.bah) cha %+ ~(put by raz.bah) cha
rum(dod &, bum ?~(cop bum.rum (~(put by bum.rum) did.rum u.cop))) rum(dod &, bum ?~(cop bum.rum (~(put by bum.rum) did.rum u.cop)))
=/ seg (sein our now her) =/ seg (sein her)
=^ roc diz (zuul:diz now seg [%back cop dam ~s0]) =^ roc diz (zuul:diz now seg [%back cop dam ~s0])
(busk(diz (wast:diz ryn)) xong roc) (busk(diz (wast:diz ryn)) xong roc)
:: XX move this logic into %zuse, namespaced under %jael? :: XX move this logic into %zuse, namespaced under %jael?
@ -814,7 +785,7 @@
:: our sponsor :: our sponsor
:: ::
?& !?=(%czar (clan:title our)) ?& !?=(%czar (clan:title our))
=(her (sein our now our)) =(her (sein our))
== ==
== ==
diz(lew.wod.dur law) diz(lew.wod.dur law)
@ -844,10 +815,10 @@
^+ +>.$ ^+ +>.$
:: bos: our sponsor :: bos: our sponsor
:: ::
=/ bos (sein our now our) =/ bos (sein our)
:: seg: her sponsor :: seg: her sponsor
:: ::
=/ seg (sein our now her) =/ seg (sein her)
:: rac: her rank :: rac: her rank
:: ::
=/ rac (clan:title her) =/ rac (clan:title her)
@ -857,7 +828,7 @@
:: XX update state so we only ask once? :: XX update state so we only ask once?
:: ::
=? +>.$ &(=(~ lew.wod.dur.diz) =(her bos)) =? +>.$ &(=(~ lew.wod.dur.diz) =(her bos))
(emit %beer our her) (emit %beer her)
:: request keys and drop packet if :her is (or is a moon of) :: request keys and drop packet if :her is (or is a moon of)
:: an unfamilar on-chain ship (and not our sponsor) :: an unfamilar on-chain ship (and not our sponsor)
:: ::
@ -865,26 +836,26 @@
!=(her bos) !=(her bos)
?| !?=(?(%earl %pawn) rac) ?| !?=(?(%earl %pawn) rac)
?& ?=(%earl rac) ?& ?=(%earl rac)
=/ fod (~(get by hoc.saf.gus) seg) =/ fod (~(get by hoc.ton.fox) seg)
?| ?=(~ fod) ?| ?=(~ fod)
?=(~ lew.wod.u.fod) ?=(~ lew.wod.u.fod)
== == == == == == == ==
(emit %beer our ?:(?=(%earl rac) seg her)) (emit %beer ?:(?=(%earl rac) seg her))
=/ oub bust:puz =/ oub bust:puz
=/ neg =(~ yed.caq.dur.diz) =/ neg =(~ yed.caq.dur.diz)
=. +>.$ east =. +>.$ east
=/ eng =(~ yed.caq.dur.diz) =/ eng =(~ yed.caq.dur.diz)
=/ bou bust:puz =/ bou bust:puz
=? +>.$ &(oub !bou) =? +>.$ &(oub !bou)
(emit [%wine [our her] " is ok"]) (emit [%wine her " is ok"])
:: the presence of a symmetric key indicates neighboring :: the presence of a symmetric key indicates neighboring
:: XX use deed instead? :: XX use deed instead?
:: ::
=? +>.$ &(neg !eng) =? +>.$ &(neg !eng)
%- emir :~ %- emir :~
[%wine [our her] " is your neighbor"] [%wine her " is your neighbor"]
?> ?=(^ lew.wod.dur.diz) ?> ?=(^ lew.wod.dur.diz)
[%raki [our her] [life pass]:u.lew.wod.dur.diz] [%raki her [life pass]:u.lew.wod.dur.diz]
== ==
+>.$ +>.$
:: ::
@ -950,7 +921,7 @@
^+ . :: send new ack ^+ . :: send new ack
:: ~& [%back kay dam] :: ~& [%back kay dam]
=* cop `coop`?:(=(%good kay) ~ ``[%dead-packet ~]) =* cop `coop`?:(=(%good kay) ~ ``[%dead-packet ~])
=/ seg (sein our now her) =/ seg (sein her)
=^ pax diz (zuul:diz now seg [%back cop dam ~s0]) =^ pax diz (zuul:diz now seg [%back cop dam ~s0])
+>(+> (busk(diz (wast:diz ryn)) xong pax)) +>(+> (busk(diz (wast:diz ryn)) xong pax))
:: ::
@ -1079,7 +1050,7 @@
=+ bou=bust:puz =+ bou=bust:puz
=. bin =. bin
?. &(bou !oub) bin ?. &(bou !oub) bin
:_(bin [%wine [our her] " not responding still trying"]) :_(bin [%wine her " not responding still trying"])
=. diz ?:((boom:puz now) (pode:diz now) diz) =. diz ?:((boom:puz now) (pode:diz now) diz)
(busk xong yem) (busk xong yem)
:: ::
@ -1095,7 +1066,7 @@
%= +>.$ %= +>.$
bin bin
:_ bin :_ bin
`boon`[%cake [our her] [[lyf:sen:gus clon:diz] u.p.yoh] cop u.hud] `boon`[%cake her [[lyf:sen:gus clon:diz] u.p.yoh] cop u.hud]
== ==
(busk xong q.yoh) (busk xong q.yoh)
:: ::
@ -1103,7 +1074,7 @@
|= [gom=soup ham=meal] |= [gom=soup ham=meal]
:: ~& [%wind her gom] :: ~& [%wind her gom]
^+ +> ^+ +>
=/ seg (sein our now her) =/ seg (sein her)
=^ wyv diz (zuul:diz now seg ham) =^ wyv diz (zuul:diz now seg ham)
=^ feh puz (whap:puz now gom wyv) =^ feh puz (whap:puz now gom wyv)
(busk xong feh) (busk xong feh)
@ -1119,7 +1090,7 @@
:: ::
:: XX update state so we only ask once? :: XX update state so we only ask once?
:: ::
=? bin =(~ lew.wod.dur.diz) :_(bin [%beer our her]) =? bin =(~ lew.wod.dur.diz) :_(bin [%beer her])
=. ryl.bah =. ryl.bah
%+ ~(put by ryl.bah) cha %+ ~(put by ryl.bah) cha
%= rol %= rol
@ -1179,8 +1150,8 @@
:: ::
++ xong :: xong:ho:um:am ++ xong :: xong:ho:um:am
^- (list ship) :: route unto ^- (list ship) :: route unto
=/ fro (saxo our now our) =/ fro (saxo our)
=/ too (saxo our now her) =/ too (saxo her)
=+ ^= oot ^- (list ship) =+ ^= oot ^- (list ship)
=| oot=(list ship) =| oot=(list ship)
|- ^+ oot |- ^+ oot
@ -1194,7 +1165,7 @@
++ kick :: kick:um:am ++ kick :: kick:um:am
|= hen=duct :: test connection |= hen=duct :: test connection
^+ +> ^+ +>
=/ hoy (tail (saxo our now our)) =/ hoy (tail (saxo our))
|- ^+ +>.^$ |- ^+ +>.^$
?~ hoy ?~ hoy
+>.^$ +>.^$
@ -1218,7 +1189,7 @@
:- (flop bin) :- (flop bin)
%_ fox %_ fox
ton (~(su go ton.fox) gus) ton (~(su go ton.fox) gus)
zac (~(put by zac.fox) our.gus weg) zac weg
== ==
-- :: --um:am -- :: --um:am
-- :: --am -- :: --am
@ -1263,7 +1234,7 @@
?. ?=([$$ %da @] lot) ?. ?=([$$ %da @] lot)
~ ~
?. =(now q.p.lot) ~ ?. =(now q.p.lot) ~
(temp p.why u.hun [syd t.tyl]) (temp u.hun [syd t.tyl])
:: ::
++ stay fox ++ stay fox
++ take :: accept response ++ take :: accept response
@ -1282,9 +1253,8 @@
^- [(list move) fort] ^- [(list move) fort]
?- -.bon ?- -.bon
%beer %beer
=/ wir=wire =/ =wire /pubs/(scot %p p.bon)
/our/(scot %p p.p.bon)/her/(scot %p q.p.bon) :_ fox [hen [%pass wire %j %pubs p.bon]]~
:_ fox [hen [%pass wir %j %pubs p.p.bon q.p.bon]]~
:: ::
%bock %bock
:_ fox [hen %give %turf tuf.fox]~ :_ fox [hen %give %turf tuf.fox]~
@ -1295,7 +1265,7 @@
%cake %cake
:: ~? ?=(^ r.bon) [%cake-woot-bad hen r.bon] :: ~? ?=(^ r.bon) [%cake-woot-bad hen r.bon]
:_ fox :_ fox
:~ [s.bon %give %woot q.p.bon r.bon] :~ [s.bon %give %woot p.bon r.bon]
== ==
:: ::
%mead %mead
@ -1306,8 +1276,8 @@
:: ~& [%milk p.bon q.bon] :: ~& [%milk p.bon q.bon]
?> ?=([@ @ *] q.q.bon) ?> ?=([@ @ *] q.q.bon)
?> ?=(?(%a %c %e %g %j) i.q.q.bon) ?> ?=(?(%a %c %e %g %j) i.q.q.bon)
=+ pax=[(scot %p p.p.bon) (scot %p q.p.bon) q.q.bon] =/ =wire [(scot %p our) (scot %p p.bon) q.q.bon]
:_ fox [hen %pass pax i.q.q.bon %west p.bon t.q.q.bon r.bon]~ :_ fox [hen %pass wire i.q.q.bon %west p.bon t.q.q.bon r.bon]~
:: ::
%ouzo %ouzo
:: ~& [%send now p.bon `@p`(mug (shaf %flap q.bon))] :: ~& [%send now p.bon `@p`(mug (shaf %flap q.bon))]
@ -1323,15 +1293,14 @@
[gad.fox %pass /ames %b %rest u.tim.fox]~ [gad.fox %pass /ames %b %rest u.tim.fox]~
:: ::
%raki %raki
=* our p.p.bon =* her p.bon
=* her q.p.bon
=/ moz=(list move) =/ moz=(list move)
[hen [%pass / %j %meet our her life=q.bon pass=r.bon]]~ [hen [%pass / %j %meet her life=q.bon pass=r.bon]]~
:: poke :dns with an indirect binding if her is a planet we're spnsoring :: poke :dns with an indirect binding if her is a planet we're spnsoring
:: ::
=? moz ?& ?=(%duke (clan:title her)) =? moz ?& ?=(%duke (clan:title her))
?=(%king (clan:title our)) ?=(%king (clan:title our))
=(our (~(sein am [now fox ski]) our now her)) =(our (~(sein am [our now fox ski]) her))
== ==
=/ cmd [%meet her] =/ cmd [%meet her]
=/ pok [%dns %poke `cage`[%dns-command !>(cmd)]] =/ pok [%dns %poke `cage`[%dns-command !>(cmd)]]
@ -1339,13 +1308,12 @@
[moz fox] [moz fox]
:: ::
%sake %sake
=/ wir=wire =/ =wire /our/(scot %p our)
/our/(scot %p p.bon) :_ fox [hen [%pass wire %j %vein ~]]~
:_ fox [hen [%pass wir %j %vein p.bon]]~
:: ::
%wine %wine
:_ fox :_ fox
=+ fom=~(rend co %$ %p q.p.bon) =+ fom=~(rend co %$ %p p.bon)
:~ :- hen :~ :- hen
:+ %slip %d :+ %slip %d
:+ %flog %text :+ %flog %text
@ -1372,12 +1340,11 @@
[~ +>.$] [~ +>.$]
:: ::
%pubs %pubs
?. ?=([%our @ %her @ ~] tea) ?. ?=([%pubs @ ~] tea)
~& [%strange-pubs tea] ~& [%strange-pubs tea]
[~ +>] [~ +>]
=/ our=ship (slav %p i.t.tea) =/ her=ship (slav %p i.t.tea)
=/ her=ship (slav %p i.t.t.t.tea) =/ gus (~(us go ton.fox) our)
=/ gus (need (~(us go ton.fox) our))
=/ diz (myx:gus her) =/ diz (myx:gus her)
?: =(0 life.sih) ?: =(0 life.sih)
:: this should clear lew.wod.dur.diz because it means :: this should clear lew.wod.dur.diz because it means
@ -1399,8 +1366,7 @@
?. ?=([%our @ ~] tea) ?. ?=([%our @ ~] tea)
~& [%strange-vein tea] ~& [%strange-vein tea]
[~ +>] [~ +>]
=/ our=ship (slav %p i.t.tea) =. fox (~(vein am [our now fox ski]) life.sih vein.sih)
=. fox (~(vein am [now fox ski]) our life.sih vein.sih)
[~ +>.$] [~ +>.$]
:: ::
%woot [~ +>] %woot [~ +>]
@ -1411,16 +1377,16 @@
?- +<.sih ?- +<.sih
:: ::
%wake %wake
(~(wake am [now fox ski]) hen) (~(wake am [our now fox ski]) hen)
:: ::
?(%mean %nice) :: XX obsolete ?(%mean %nice) :: XX obsolete
?: ?=([%ye ~] tea) ?: ?=([%ye ~] tea)
[~ fox] [~ fox]
?> ?=([@ @ @ *] tea) ?> ?=([@ @ @ *] tea)
=+ soq=[(slav %p i.tea) (slav %p i.t.tea)] =/ her (slav %p i.t.tea)
=+ pax=t.t.tea =* pax t.t.tea
=< zork =< zank =< zork =< zank
%^ ~(rack am [now fox ski]) soq pax %^ ~(rack am [our now fox ski]) her pax
:: ~& [%knap-ack ?-(+<.sih %mean `p.+.sih, %nice ~)] :: ~& [%knap-ack ?-(+<.sih %mean `p.+.sih, %nice ~)]
?-(+<.sih %mean `p.+.sih, %nice ~) ?-(+<.sih %mean `p.+.sih, %nice ~)
== ==
@ -1454,16 +1420,16 @@
[%bock ~]~ [%bock ~]~
:: ::
%hear %hear
(~(gnaw am [now fox ski]) %good p.kyz q.kyz) (~(gnaw am [our now fox ski]) %good p.kyz q.kyz)
:: ::
%halo %halo
(~(gnaw am [now fox ski]) %dead p.kyz q.kyz) (~(gnaw am [our now fox ski]) %dead p.kyz q.kyz)
:: ::
%hole %hole
(~(gnaw am [now fox ski]) %dead p.kyz q.kyz) (~(gnaw am [our now fox ski]) %dead p.kyz q.kyz)
:: ::
%init %init
:_ fox [[%sake p.kyz] [%brew ~] ~] :_ fox [[%sake ~] [%brew ~] ~]
:: ::
:: XX this is unused, but they only way to set :: XX this is unused, but they only way to set
:: entropy for symmetric keys. Review. :: entropy for symmetric keys. Review.
@ -1472,10 +1438,10 @@
[~ fox(any.ton (shax (mix any.ton.fox p.kyz)))] [~ fox(any.ton (shax (mix any.ton.fox p.kyz)))]
:: ::
%kick %kick
=^ ban fox (~(kick am [now fox(hop p.kyz) ski]) hen) =^ ban fox (~(kick am [our now fox(hop p.kyz) ski]) hen)
:: +next:am called here because +wake calls +kick in a loop :: +next:am called here because +wake calls +kick in a loop
:: ::
[(weld p.ban ~(next am [now fox ski])) fox] [(weld p.ban ~(next am [our now fox ski])) fox]
:: ::
%nuke %nuke
:- ~ :- ~
@ -1486,18 +1452,10 @@
fox(bad (~(put in bad.fox) p.kyz)) fox(bad (~(put in bad.fox) p.kyz))
:: ::
%sunk %sunk
:: XX single-home properly
::
=/ our=ship
=/ key ~(key by urb.ton.fox)
?>(?=([@ ~ ~] key) n.key)
=* who p.kyz =* who p.kyz
=* lyf q.kyz =* lyf q.kyz
=/ saf=sufi (~(got by urb.ton.fox) our)
=/ con=corn (~(got by zac.fox) our)
::
?: =(our who) ?: =(our who)
?: (lth lyf p:(head val.saf)) ?: (lth lyf p:(head val.ton.fox))
:: replaying our old sinkage, ignore :: replaying our old sinkage, ignore
:: XX review :: XX review
:: ::
@ -1505,22 +1463,18 @@
:: XX include some helpful instructions here :: XX include some helpful instructions here
:: ::
:_ fox :_ fox
[%wine [our who] ", you have sunk"]~ [%wine who ", you have sunk"]~
:: ::
=. saf saf(hoc (~(del by hoc.saf) who)) =: hoc.ton.fox (~(del by hoc.ton.fox) who)
=. con con(wab (~(del by wab.con) who)) wab.zac.fox (~(del by wab.zac.fox) who)
::
:- [%wine [our who] " has sunk"]~
%= fox
urb.ton (~(put by urb.ton.fox) our saf)
zac (~(put by zac.fox) our con)
== ==
[[%wine who " has sunk"]~ fox]
:: ::
%wake %wake
(~(wake am [now fox ski]) hen) (~(wake am [our now fox ski]) hen)
:: ::
%want %want
(~(wise am [now fox ski]) p.kyz hen q.kyz r.kyz) (~(wise am [our now fox ski]) hen p.kyz q.kyz r.kyz)
== ==
=> %_(. fox q.fuy) => %_(. fox q.fuy)
=| out=(list move) =| out=(list move)
@ -1532,18 +1486,16 @@
:: ::
++ temp ++ temp
~/ %temp ~/ %temp
|= [our=ship his=ship tyl=path] |= [his=ship tyl=path]
^- (unit (unit cage)) ^- (unit (unit cage))
?: ?=([?(%show %tell) *] tyl) ?: ?=([?(%show %tell) *] tyl)
?^ t.tyl [~ ~] ?^ t.tyl [~ ~]
=+ gys=(~(us go ton.fox) our) =+ zet=zest:(ho:~(um am [our now fox ski]) his)
?~ gys [~ ~]
=+ zet=zest:(ho:(~(um am [now fox ski]) our) his)
``[%noun ?:(=(%show i.tyl) !>(>zet<) !>(zet))] ``[%noun ?:(=(%show i.tyl) !>(>zet<) !>(zet))]
?: ?=([%pals ~] tyl) ?: ?=([%pals ~] tyl)
?. =(our his) ?. =(our his)
~ ~
``[%noun !>(pals:(~(um am [now fox ski]) our))] ``[%noun !>(pals:~(um am [our now fox ski]))]
~ ~
:: ::
++ wegh ++ wegh

View File

@ -180,7 +180,7 @@
:: ::
:: Formal vane state. :: Formal vane state.
:: ::
:: -- `fat` is a collection of our domestic ships. :: -- `rom` is our domestic state.
:: -- `hoy` is a collection of foreign ships where we know something about :: -- `hoy` is a collection of foreign ships where we know something about
:: their clay. :: their clay.
:: -- `ran` is the object store. :: -- `ran` is the object store.
@ -192,7 +192,7 @@
:: -- `tip` is the date of the last write; if now, enqueue incoming requests. :: -- `tip` is the date of the last write; if now, enqueue incoming requests.
:: ::
++ raft :: filesystem ++ raft :: filesystem
$: fat/(map ship room) :: domestic $: rom/room :: domestic
hoy/(map ship rung) :: foreign hoy/(map ship rung) :: foreign
ran/rang :: hashes ran/rang :: hashes
mon/(map term beam) :: mount points mon/(map term beam) :: mount points
@ -330,19 +330,19 @@
++ move {p/duct q/(wind note gift:able)} :: local move ++ move {p/duct q/(wind note gift:able)} :: local move
++ note :: out request $-> ++ note :: out request $->
$% $: $a :: to %ames $% $: $a :: to %ames
$% {$want p/sock q/path r/*} :: $% {$want p/ship q/path r/*} ::
== == :: == == ::
$: $c :: to %clay $: $c :: to %clay
$% {$info p/@p q/@tas r/nori} :: internal edit $% {$info q/@tas r/nori} :: internal edit
{$merg p/@p q/@tas r/@p s/@tas t/case u/germ} :: merge desks {$merg p/@tas q/@p r/@tas s/case t/germ:clay} :: merge desks
{$warp p/sock q/riff} :: {$warp p/ship q/riff} ::
{$werp p/ship q/sock r/riff} :: {$werp p/ship q/ship r/riff} ::
== == :: == == ::
$: $d :: $: $d ::
$% {$flog p/{$crud p/@tas q/(list tank)}} :: to %dill $% {$flog p/{$crud p/@tas q/(list tank)}} :: to %dill
== == :: == == ::
$: $f :: $: $f ::
$% [%build our=@p live=? schematic=schematic:ford] :: $% [%build live=? schematic=schematic:ford] ::
== == == ==
$: $b :: $: $b ::
$% {$wait p/@da} :: $% {$wait p/@da} ::
@ -388,25 +388,24 @@
:: ::
:: The state includes: :: The state includes:
:: ::
:: -- local urbit `our`
:: -- current time `now` :: -- current time `now`
:: -- current duct `hen` :: -- current duct `hen`
:: -- local urbit `our` :: -- all vane state `++raft` (rarely used, except for the object store)
:: -- target urbit `her` :: -- target urbit `her`
:: -- target desk `syd` :: -- target desk `syd`
:: -- all vane state `++raft` (rarely used, except for the object store)
:: ::
:: For local desks, `our` == `her` is one of the urbits on our pier. For :: For local desks, `our` == `her` is one of the urbits on our pier. For
:: foreign desks, `her` is the urbit the desk is on and `our` is the local :: foreign desks, `her` is the urbit the desk is on and `our` is the local
:: urbit that's managing the relationship with the foreign urbit. Don't mix :: urbit that's managing the relationship with the foreign urbit. Don't mix
:: up those two, or there will be wailing and gnashing of teeth. :: up those two, or there will be wailing and gnashing of teeth.
:: ::
:: While setting up `++de`, we check if the given `her` is a local urbit. If :: While setting up `++de`, we check if `our` == `her`. If so, we get
:: so, we pull the room from `fat` in the raft and get the desk information :: the desk information from `dos.rom`. Otherwise, we get the rung from
:: from `dos` in there. Otherwise, we get the rung from `hoy` and get the :: `hoy` and get the desk information from `rus` in there. In either case,
:: desk information from `rus` in there. In either case, we normalize the :: we normalize the desk information to a `++rede`, which is all the
:: desk information to a `++rede`, which is all the desk-specific data that :: desk-specific data that we utilize in `++de`. Because it's effectively
:: we utilize in `++de`. Because it's effectively a part of the `++de` :: a part of the `++de` state, let's look at what we've got:
:: state, let's look at what we've got:
:: ::
:: -- `lim` is the most recent date we're confident we have all the :: -- `lim` is the most recent date we're confident we have all the
:: information for. For local desks, this is always `now`. For foreign :: information for. For local desks, this is always `now`. For foreign
@ -429,47 +428,44 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|% |%
++ de :: per desk ++ de :: per desk
|= {now/@da hen/duct raft} |= [our=ship now=@da hen=duct raft]
|= {{our/@p her/@p} syd/desk} |= [her=ship syd=desk]
=* ruf +>+<+> :: XX ruf=raft crashes in the compiler
=+ ^- {hun/(unit duct) rede} ::
=+ rom=(~(get by fat.ruf) her) =* ruf |3.+6.^$
?~ rom ::
=+ ^- [hun=(unit duct) rede]
?. =(our her)
:: no duct, foreign +rede or default
::
:- ~ :- ~
%+ fall =/ rus rus:(fall (~(get by hoy.ruf) her) *rung)
(~(get by rus:(fall (~(get by hoy.ruf) her) *rung)) syd) %+ fall (~(get by rus) syd)
:* lim=~2000.1.1 [lim=~2000.1.1 ref=`*rind qyx=~ dom=*dome dok=~ mer=~ per=~ pew=~]
ref=[~ *rind] :: administrative duct, domestic +rede
qyx=~ ::
dom=*dome :- `hun.rom.ruf
dok=~ =/ jod (fall (~(get by dos.rom.ruf) syd) *dojo)
mer=~ [lim=now ref=~ [qyx dom dok mer per pew]:jod]
per=~ ::
pew=~ =* red=rede ->
==
:- `hun.u.rom
=+ jod=(fall (~(get by dos.u.rom) syd) *dojo)
:* lim=now
ref=~
qyx=qyx.jod
dom=dom.jod
dok=dok.jod
mer=mer.jod
per=per.jod
pew=pew.jod
==
=* red ->
=| mow/(list move) =| mow/(list move)
|% |%
++ abet :: resolve ++ abet :: resolve
^- {(list move) raft} ^- [(list move) raft]
:_ =+ rom=(~(get by fat.ruf) her) :- (flop mow)
?~ rom ?. =(our her)
=+ rug=(~(put by rus:(fall (~(get by hoy.ruf) her) *rung)) syd red) :: save foreign +rede
::
=/ rus rus:(fall (~(get by hoy.ruf) her) *rung)
=/ rug (~(put by rus) syd red)
ruf(hoy (~(put by hoy.ruf) her rug)) ruf(hoy (~(put by hoy.ruf) her rug))
=+ dos=(~(put by dos.u.rom) syd [qyx dom dok mer per pew]) :: save domestic +room
ruf(fat (~(put by fat.ruf) her [(need hun) dos])) ::
(flop mow) %= ruf
hun.rom (need hun)
dos.rom (~(put by dos.rom.ruf) syd [qyx dom dok mer per pew]:red)
==
:: ::
:: Handle `%sing` requests :: Handle `%sing` requests
:: ::
@ -620,7 +616,7 @@
(emit hen %give %writ ~ [p.mun q.mun syd] r.mun p.dat) (emit hen %give %writ ~ [p.mun q.mun syd] r.mun p.dat)
%- emit %- emit
:* hen %pass [%blab p.mun (scot q.mun) syd r.mun] :* hen %pass [%blab p.mun (scot q.mun) syd r.mun]
%f %build our live=%.n %pin %f %build live=%.n %pin
(case-to-date q.mun) (case-to-date q.mun)
(lobe-to-schematic:ze [her syd] r.mun p.dat) (lobe-to-schematic:ze [her syd] r.mun p.dat)
== ==
@ -700,7 +696,7 @@
:: ::
++ send-over-ames ++ send-over-ames
|= {a/duct b/path c/ship d/{p/@ud q/riff}} |= {a/duct b/path c/ship d/{p/@ud q/riff}}
(emit a %pass b %a %want [our c] [%c %question p.q.d (scot %ud p.d) ~] q.d) (emit a %pass b %a %want c [%c %question p.q.d (scot %ud p.d) ~] q.d)
:: ::
:: Create a request that cannot be filled immediately. :: Create a request that cannot be filled immediately.
:: ::
@ -836,7 +832,7 @@
%- emit %- emit
^- move ^- move
:* hen %pass [%ergoing (scot %p her) syd ~] %f :* hen %pass [%ergoing (scot %p her) syd ~] %f
%build our live=%.n %list %build live=%.n %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn `(list path)`mus %+ turn `(list path)`mus
|= a/path |= a/path
@ -1207,7 +1203,7 @@
^- (list move) ^- (list move)
:~ :* hen %pass :~ :* hen %pass
[%inserting (scot %p her) syd (scot %da wen) ~] [%inserting (scot %p her) syd (scot %da wen) ~]
%f %build our live=%.n %pin wen %list %f %build live=%.n %pin wen %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn ins.nuz %+ turn ins.nuz
|= {pax/path mis/miso} |= {pax/path mis/miso}
@ -1218,7 +1214,7 @@
== ==
:* hen %pass :* hen %pass
[%diffing (scot %p her) syd (scot %da wen) ~] [%diffing (scot %p her) syd (scot %da wen) ~]
%f %build our live=%.n %pin wen %list %f %build live=%.n %pin wen %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn dif.nuz %+ turn dif.nuz
|= {pax/path mis/miso} |= {pax/path mis/miso}
@ -1230,7 +1226,7 @@
== ==
:* hen %pass :* hen %pass
[%castifying (scot %p her) syd (scot %da wen) ~] [%castifying (scot %p her) syd (scot %da wen) ~]
%f %build our live=%.n %pin wen %list %f %build live=%.n %pin wen %list
::~ [her syd %da wen] %tabl ::~ [her syd %da wen] %tabl
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn mut.nuz %+ turn mut.nuz
@ -1401,7 +1397,7 @@
%- emit %- emit
:* hen %pass :* hen %pass
[%mutating (scot %p her) syd (scot %da wen) ~] [%mutating (scot %p her) syd (scot %da wen) ~]
%f %build our live=%.n %pin wen %list %f %build live=%.n %pin wen %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn cat %+ turn cat
|= {pax/path cay/cage} |= {pax/path cay/cage}
@ -1498,7 +1494,7 @@
^+ +> ^+ +>
%- emit %- emit
:* hen %pass [%patching (scot %p her) syd ~] %f :* hen %pass [%patching (scot %p her) syd ~] %f
%build our live=%.n %list %build live=%.n %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn (sort ~(tap by hat) sort-by-head) %+ turn (sort ~(tap by hat) sort-by-head)
|= {a/path b/lobe} |= {a/path b/lobe}
@ -1585,7 +1581,7 @@
:: =- ~& %formed-ergo - :: =- ~& %formed-ergo -
%- emit(dok ~) %- emit(dok ~)
:* hen %pass [%ergoing (scot %p her) syd ~] %f :* hen %pass [%ergoing (scot %p her) syd ~] %f
%build our live=%.n %list %build live=%.n %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn ~(tap in sum) %+ turn ~(tap in sum)
|= a/path |= a/path
@ -1759,7 +1755,7 @@
%- emit %- emit
:* hen %pass :* hen %pass
[%foreign-x (scot %p our) (scot %p her) syd car (scot cas) pax] [%foreign-x (scot %p our) (scot %p her) syd car (scot cas) pax]
%f %build our live=%.n %pin %f %build live=%.n %pin
(case-to-date cas) (case-to-date cas)
(vale-page [her syd] peg) (vale-page [her syd] peg)
== ==
@ -1868,7 +1864,7 @@
%- emit %- emit
:* hen %pass :* hen %pass
[%foreign-plops (scot %p our) (scot %p her) syd lum ~] [%foreign-plops (scot %p our) (scot %p her) syd lum ~]
%f %build our live=%.n %pin (case-to-date cas) %f %build live=%.n %pin (case-to-date cas)
%list %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn ~(tap in pop) %+ turn ~(tap in pop)
@ -2755,12 +2751,13 @@
~ ~
?- p.mun ?- p.mun
$d $d
=+ rom=(~(get by fat.ruf) her) :: XX this should only allow reads at the currebt date
?~ rom ::
~&(%null-rom-cd [~ ~]) ?: !=(our her)
[~ ~]
?^ r.mun ?^ r.mun
~&(%no-cd-path [~ ~]) ~&(%no-cd-path [~ ~])
[~ ~ %& %noun !>(~(key by dos.u.rom))] [~ ~ %& %noun !>(~(key by dos.rom.ruf))]
:: ::
$p (read-p r.mun) $p (read-p r.mun)
$t (bind (read-t yon r.mun) (lift |=(a=cage [%& a]))) $t (bind (read-t yon r.mun) (lift |=(a=cage [%& a])))
@ -2926,8 +2923,7 @@
%- emit(wat.dat %ali) %- emit(wat.dat %ali)
:* hen %pass :* hen %pass
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %ali ~] [%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %ali ~]
%c %warp [p.bob p.ali] q.ali [%c %warp p.ali q.ali `[%sing %v cas.dat /]]
`[%sing %v cas.dat /]
== ==
:: ::
:: Parse the state of ali's desk, and get the most recent commit. :: Parse the state of ali's desk, and get the most recent commit.
@ -3171,7 +3167,7 @@
:* hen %pass :* hen %pass
=+ (cat 3 %diff- nam) =+ (cat 3 %diff- nam)
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali - ~] [%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali - ~]
%f %build p.bob live=%.n %pin (case-to-date r.oth) %list %f %build live=%.n %pin (case-to-date r.oth) %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ murn ~(tap by q.bas.dat) %+ murn ~(tap by q.bas.dat)
|= {pax/path lob/lobe} |= {pax/path lob/lobe}
@ -3300,7 +3296,7 @@
%- emit(wat.dat %merge) %- emit(wat.dat %merge)
:* hen %pass :* hen %pass
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %merge ~] [%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %merge ~]
%f %build p.bob live=%.n %list %f %build live=%.n %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn ~(tap by (~(int by can.dal.dat) can.dob.dat)) %+ turn ~(tap by (~(int by can.dal.dat) can.dob.dat))
|= {pax/path *} |= {pax/path *}
@ -3340,7 +3336,7 @@
%- emit(wat.dat %build) %- emit(wat.dat %build)
:* hen %pass :* hen %pass
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %build ~] [%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %build ~]
%f %build p.bob live=%.n %list %f %build live=%.n %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ murn ~(tap by bof.dat) %+ murn ~(tap by bof.dat)
|= {pax/path cay/(unit cage)} |= {pax/path cay/(unit cage)}
@ -3486,7 +3482,7 @@
%- emit(wat.dat %checkout) %- emit(wat.dat %checkout)
:* hen %pass :* hen %pass
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %checkout ~] [%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %checkout ~]
%f %build p.bob live=%.n %pin (case-to-date r.val) %list %f %build live=%.n %pin (case-to-date r.val) %list
:: ~ val %tabl :: ~ val %tabl
^- (list schematic:ford) ^- (list schematic:ford)
%+ murn ~(tap by q.new.dat) %+ murn ~(tap by q.new.dat)
@ -3544,7 +3540,7 @@
%- emit(wat.dat %ergo) %- emit(wat.dat %ergo)
:* hen %pass :* hen %pass
[%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %ergo ~] [%merge (scot %p p.bob) q.bob (scot %p p.ali) q.ali %ergo ~]
%f %build p.bob live=%.n %pin (case-to-date r.val) %list %f %build live=%.n %pin (case-to-date r.val) %list
^- (list schematic:ford) ^- (list schematic:ford)
%+ turn ~(tap in sum) %+ turn ~(tap in sum)
|= a/path |= a/path
@ -3687,7 +3683,7 @@
:: This is the arvo interface vane. Our formal state is a `++raft`, which :: This is the arvo interface vane. Our formal state is a `++raft`, which
:: has five components: :: has five components:
:: ::
:: -- `fat` is the state for all local desks. :: -- `rom` is the state for all local desks.
:: -- `hoy` is the state for all foreign desks. :: -- `hoy` is the state for all foreign desks.
:: -- `ran` is the global, hash-addressed object store. :: -- `ran` is the global, hash-addressed object store.
:: -- `mon` is the set of mount points in unix. :: -- `mon` is the set of mount points in unix.
@ -3724,11 +3720,10 @@
(~(put by cez.ruf) nom.req cew.req) (~(put by cez.ruf) nom.req cew.req)
:: wake all desks, a request may have been affected. :: wake all desks, a request may have been affected.
=| mos/(list move) =| mos/(list move)
=+ rom=(fall (~(get by fat.ruf) our.req) *room) =/ des ~(tap in ~(key by dos.rom.ruf))
=+ des=~(tap in ~(key by dos.rom))
|- |-
?~ des [[[hen %give %mack ~] mos] ..^^$] ?~ des [[[hen %give %mack ~] mos] ..^^$]
=+ den=((de now hen ruf) [. .]:our.req i.des) =/ den ((de our now hen ruf) our i.des)
=^ mor ruf =^ mor ruf
=< abet:wake =< abet:wake
?: ?=(^ cew.req) den ?: ?=(^ cew.req) den
@ -3739,8 +3734,7 @@
[[hen %give %cruz cez.ruf]~ ..^$] [[hen %give %cruz cez.ruf]~ ..^$]
:: ::
$crow $crow
=+ rom=(fall (~(get by fat.ruf) our.req) *room) =/ des ~(tap by dos.rom.ruf)
=+ des=~(tap by dos.rom)
=| rus/(map desk {r/regs w/regs}) =| rus/(map desk {r/regs w/regs})
|^ |^
?~ des [[hen %give %croz rus]~ ..^^$] ?~ des [[hen %give %croz rus]~ ..^^$]
@ -3764,7 +3758,7 @@
:: ::
$drop $drop
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our.req des.req) =/ den ((de our now hen ruf) our des.req)
abet:drop-me:den abet:drop-me:den
[mos ..^$] [mos ..^$]
:: ::
@ -3783,17 +3777,12 @@
?: =(%$ des.req) ?: =(%$ des.req)
[~ ..^$] [~ ..^$]
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our.req des.req) =/ den ((de our now hen ruf) our des.req)
abet:(edit:den now dit.req) abet:(edit:den now dit.req)
[mos ..^$] [mos ..^$]
:: ::
$init $init
:- ~ [~ ..^$(hun.rom.ruf hen)]
%_ ..^$
fat.ruf
?< (~(has by fat.ruf) our.req)
(~(put by fat.ruf) our.req [-(hun hen)]:[*room .])
==
:: ::
$into $into
=. hez.ruf `hen =. hez.ruf `hen
@ -3804,11 +3793,8 @@
=+ ^- bem/beam =+ ^- bem/beam
?^ bem ?^ bem
u.bem u.bem
[[?>(?=(^ fat.ruf) p.n.fat.ruf) %base %ud 1] ~] [[our %base %ud 1] ~]
=+ rom=(~(get by fat.ruf) p.bem) =/ dos (~(get by dos.rom.ruf) q.bem)
?~ rom
~
=+ dos=(~(get by dos.u.rom) q.bem)
?~ dos ?~ dos
~ ~
?: =(0 let.dom.u.dos) ?: =(0 let.dom.u.dos)
@ -3820,18 +3806,18 @@
?=($mime p.p.b) ?=($mime p.p.b)
?=({$hoon ~} (slag (dec (lent a)) a)) ?=({$hoon ~} (slag (dec (lent a)) a))
== ==
:~ [hen %pass /one %c %info p.bem q.bem %& one] :~ [hen %pass /one %c %info q.bem %& one]
[hen %pass /two %c %info p.bem q.bem %& two] [hen %pass /two %c %info q.bem %& two]
== ==
=+ yak=(~(got by hut.ran.ruf) (~(got by hit.dom.u.dos) let.dom.u.dos)) =+ yak=(~(got by hut.ran.ruf) (~(got by hit.dom.u.dos) let.dom.u.dos))
=+ cos=(mode-to-soba q.yak (flop s.bem) all.req fis.req) =+ cos=(mode-to-soba q.yak (flop s.bem) all.req fis.req)
[hen %pass /both %c %info p.bem q.bem %& cos]~ [hen %pass /both %c %info q.bem %& cos]~
:: ::
$merg :: direct state up $merg :: direct state up
?: =(%$ des.req) ?: =(%$ des.req)
[~ ..^$] [~ ..^$]
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our.req des.req) =/ den ((de our now hen ruf) our des.req)
abet:abet:(start:(me:ze:den [her.req dem.req] ~ &) cas.req how.req) abet:abet:(start:(me:ze:den [her.req dem.req] ~ &) cas.req how.req)
[mos ..^$] [mos ..^$]
:: ::
@ -3844,14 +3830,11 @@
=* bem bem.req =* bem bem.req
=. mon.ruf =. mon.ruf
(~(put by mon.ruf) des.req [p.bem q.bem r.bem] s.bem) (~(put by mon.ruf) des.req [p.bem q.bem r.bem] s.bem)
=+ yar=(~(get by fat.ruf) p.bem) =/ dos (~(get by dos.rom.ruf) q.bem)
?~ yar
[~ ..^$]
=+ dos=(~(get by dos.u.yar) q.bem)
?~ dos ?~ dos
[~ ..^$] [~ ..^$]
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:p.bem q.bem) =/ den ((de our now hen ruf) p.bem q.bem)
abet:(mont:den des.req bem) abet:(mont:den des.req bem)
[mos ..^$] [mos ..^$]
:: ::
@ -3889,24 +3872,26 @@
:: ::
$perm $perm
=^ mos ruf =^ mos ruf
::TODO after new boot system, just use our from global. =/ den ((de our now hen ruf) our des.req)
=+ den=((de now hen ruf) [. .]:our.req des.req)
abet:(perm:den pax.req rit.req) abet:(perm:den pax.req rit.req)
[mos ..^$] [mos ..^$]
:: ::
$sunk [~ ..^$] $sunk [~ ..^$]
:: ::
?($warp $werp) ?($warp $werp)
:: capture whether this read is on behalf of another ship
:: for permissions enforcement
::
=^ for req =^ for req
?: ?=($warp -.req) ?: ?=($warp -.req)
[~ req] [~ req]
:_ [%warp wer.req rif.req] :- ?:(=(our who.req) ~ `who.req)
?: =(who.req p.wer.req) ~ [%warp wer.req rif.req]
`who.req ::
?> ?=($warp -.req) ?> ?=($warp -.req)
=* rif rif.req =* rif rif.req
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) wer.req p.rif) =/ den ((de our now hen ruf) wer.req p.rif)
=< abet =< abet
?~ q.rif ?~ q.rif
cancel-request:den cancel-request:den
@ -3924,16 +3909,15 @@
=+ ryf=((hard riff) res.req) =+ ryf=((hard riff) res.req)
:_ ..^$ :_ ..^$
:~ [hen %give %mack ~] :~ [hen %give %mack ~]
:- hen =/ =wire
:^ %pass [(scot %p p.wer) (scot %p q.wer) t.pax] [(scot %p our) (scot %p wer) t.pax]
%c [hen %pass wire %c %werp wer our ryf]
[%werp q.wer [p.wer p.wer] ryf]
== ==
?> ?=({$answer @ @ ~} pax) ?> ?=({$answer @ @ ~} pax)
=+ syd=(slav %tas i.t.pax) =+ syd=(slav %tas i.t.pax)
=+ inx=(slav %ud i.t.t.pax) =+ inx=(slav %ud i.t.t.pax)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) wer syd) =/ den ((de our now hen ruf) wer syd)
abet:(take-foreign-update:den inx ((hard (unit rand)) res.req)) abet:(take-foreign-update:den inx ((hard (unit rand)) res.req))
[[[hen %give %mack ~] mos] ..^$] [[[hen %give %mack ~] mos] ..^$]
:: ::
@ -3942,7 +3926,7 @@
:^ hen %give %mass :^ hen %give %mass
:- %clay :- %clay
:- %| :- %|
:~ domestic+[%& fat.ruf] :~ domestic+[%& rom.ruf]
foreign+[%& hoy.ruf] foreign+[%& hoy.ruf]
:- %object-store :- %| :- %object-store :- %|
:~ commits+[%& hut.ran.ruf] :~ commits+[%& hut.ran.ruf]
@ -3953,80 +3937,11 @@
:: ::
++ load ++ load
=> |% => |%
++ rove-0 ++ axle $%([%1 ruf=raft])
$% {$sing p/mood}
{$next p/mood q/cach}
$: $mult
p/mool
q/(unit aeon)
r/(map (pair care path) cach)
s/(map (pair care path) cach)
==
{$many p/? q/moat r/(map path lobe)}
==
++ wove-0 (cork wove |=(a/wove a(q (rove-0 q.a))))
++ cult-0 (jug wove-0 duct)
++ dojo-0 (cork dojo |=(a/dojo a(qyx *cult-0)))
++ rede-0 (cork rede |=(a/rede a(qyx *cult-0)))
++ room-0 (cork room |=(a/room a(dos (~(run by dos.a) dojo-0))))
++ rung-0 (cork rung |=(a/rung a(rus (~(run by rus.a) rede-0))))
++ raft-0
%+ cork raft
|= a/raft
%= a
fat (~(run by fat.a) room-0)
hoy (~(run by hoy.a) rung-0)
==
::
++ axle $%({$1 ruf/raft} {$0 ruf/raft-0})
-- --
|= old/axle |= old=axle
^+ ..^$ ^+ ..^$
?- -.old
$1
..^$(ruf ruf.old) ..^$(ruf ruf.old)
::
$0
|^
=- ^$(old [%1 -])
=+ ruf.old
:* (~(run by fat) rom)
(~(run by hoy) run)
ran mon hez ~ ~ *@da
==
::
++ wov
|= a/wove-0
^- wove
:- p.a
?. ?=($next -.q.a) q.a
[%next p.q.a ~ q.q.a]
::
++ cul
|= a/cult-0
^- cult
%- ~(gas by *cult)
%+ turn ~(tap by a)
|= {p/wove-0 q/(set duct)}
[(wov p) q]
::
++ rom
|= room-0
^- room
:- hun
%- ~(run by dos)
|= d/dojo-0
^- dojo
d(qyx (cul qyx.d))
::
++ run
|= a/rung-0
=- a(rus (~(run by rus.a) -))
|= r/rede-0
^- rede
r(qyx (cul qyx.r))
--
==
:: ::
++ scry :: inspect ++ scry :: inspect
|= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path} |= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path}
@ -4035,7 +3950,6 @@
=* his p.why =* his p.why
:: ~& scry+[ren `path`[(scot %p his) syd ~(rent co lot) tyl]] :: ~& scry+[ren `path`[(scot %p his) syd ~(rent co lot) tyl]]
:: =- ~& %scry-done - :: =- ~& %scry-done -
=+ got=(~(has by fat.ruf) his)
=+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot)) =+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot))
?~ luk [~ ~] ?~ luk [~ ~]
?: =(%$ ren) ?: =(%$ ren)
@ -4050,7 +3964,7 @@
?: ?=(%| -.m) ~ ?: ?=(%| -.m) ~
?: =(p.m his) ~ ?: =(p.m his) ~
`p.m `p.m
=+ den=((de now [/scryduct ~] ruf) [. .]:his syd) =/ den ((de our now [/scryduct ~] ruf) his syd)
=+ (aver:den for u.run u.luk tyl) =+ (aver:den for u.run u.luk tyl)
?~ - - ?~ - -
?~ u.- - ?~ u.- -
@ -4063,20 +3977,16 @@
^+ [*(list move) ..^$] ^+ [*(list move) ..^$]
?: ?=({$merge @ @ @ @ @ ~} tea) ?: ?=({$merge @ @ @ @ @ ~} tea)
?> ?=(?($writ $made) +<.q.hin) ?> ?=(?($writ $made) +<.q.hin)
=+ our=(slav %p i.t.tea)
=* syd i.t.t.tea =* syd i.t.t.tea
=+ her=(slav %p i.t.t.t.tea) =+ her=(slav %p i.t.t.t.tea)
=* sud i.t.t.t.t.tea =* sud i.t.t.t.t.tea
=* sat i.t.t.t.t.t.tea =* sat i.t.t.t.t.t.tea
=+ dat=?-(+<.q.hin $writ [%& p.q.hin], $made [%| result.q.hin]) =+ dat=?-(+<.q.hin $writ [%& p.q.hin], $made [%| result.q.hin])
=+ ^- kan/(unit dome) =/ kan=(unit dome)
%+ biff (~(get by fat.ruf) her) %+ bind (~(get by dos.rom.ruf) sud)
|= room |=(a=dojo dom.a)
%+ bind (~(get by dos) sud)
|= dojo
dom
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:abet:(route:(me:ze:den [her sud] kan |) sat dat) abet:abet:(route:(me:ze:den [her sud] kan |) sat dat)
[mos ..^$] [mos ..^$]
?: ?=({$blab care @ @ *} tea) ?: ?=({$blab care @ @ *} tea)
@ -4103,76 +4013,68 @@
?+ -.tea !! ?+ -.tea !!
$inserting $inserting
?> ?=({@ @ @ ~} t.tea) ?> ?=({@ @ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ syd=(slav %tas i.t.t.tea) =+ syd=(slav %tas i.t.t.tea)
=+ wen=(slav %da i.t.t.t.tea) =+ wen=(slav %da i.t.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:(take-inserting:den wen result.q.hin) abet:(take-inserting:den wen result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$diffing $diffing
?> ?=({@ @ @ ~} t.tea) ?> ?=({@ @ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ syd=(slav %tas i.t.t.tea) =+ syd=(slav %tas i.t.t.tea)
=+ wen=(slav %da i.t.t.t.tea) =+ wen=(slav %da i.t.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:(take-diffing:den wen result.q.hin) abet:(take-diffing:den wen result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$castifying $castifying
?> ?=({@ @ @ ~} t.tea) ?> ?=({@ @ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ syd=(slav %tas i.t.t.tea) =+ syd=(slav %tas i.t.t.tea)
=+ wen=(slav %da i.t.t.t.tea) =+ wen=(slav %da i.t.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:(take-castify:den wen result.q.hin) abet:(take-castify:den wen result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$mutating $mutating
?> ?=({@ @ @ ~} t.tea) ?> ?=({@ @ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ syd=(slav %tas i.t.t.tea) =+ syd=(slav %tas i.t.t.tea)
=+ wen=(slav %da i.t.t.t.tea) =+ wen=(slav %da i.t.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:(take-mutating:den wen result.q.hin) abet:(take-mutating:den wen result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$patching $patching
?> ?=({@ @ ~} t.tea) ?> ?=({@ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ syd=(slav %tas i.t.t.tea) =+ syd=(slav %tas i.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:(take-patch:den result.q.hin) abet:(take-patch:den result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$ergoing $ergoing
?> ?=({@ @ ~} t.tea) ?> ?=({@ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ syd=(slav %tas i.t.t.tea) =+ syd=(slav %tas i.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [. .]:our syd) =/ den ((de our now hen ruf) our syd)
abet:(take-ergo:den result.q.hin) abet:(take-ergo:den result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$foreign-plops $foreign-plops
?> ?=({@ @ @ @ ~} t.tea) ?> ?=({@ @ @ @ ~} t.tea)
=+ our=(slav %p i.t.tea)
=+ her=(slav %p i.t.t.tea) =+ her=(slav %p i.t.t.tea)
=* syd i.t.t.t.tea =* syd i.t.t.t.tea
=+ lem=(slav %da i.t.t.t.t.tea) =+ lem=(slav %da i.t.t.t.t.tea)
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [our her] syd) =/ den ((de our now hen ruf) her syd)
abet:(take-foreign-plops:den ?~(lem ~ `lem) result.q.hin) abet:(take-foreign-plops:den ?~(lem ~ `lem) result.q.hin)
[mos ..^$] [mos ..^$]
:: ::
$foreign-x $foreign-x
?> ?=({@ @ @ @ @ *} t.tea) ?> ?=({@ @ @ @ @ *} t.tea)
=+ our=(slav %p i.t.tea)
=+ her=(slav %p i.t.t.tea) =+ her=(slav %p i.t.t.tea)
=+ syd=(slav %tas i.t.t.t.tea) =+ syd=(slav %tas i.t.t.t.tea)
=+ car=((hard care) i.t.t.t.t.tea) =+ car=((hard care) i.t.t.t.t.tea)
@ -4182,7 +4084,7 @@
->+ ->+
=* pax t.t.t.t.t.t.tea =* pax t.t.t.t.t.t.tea
=^ mos ruf =^ mos ruf
=+ den=((de now hen ruf) [our her] syd) =/ den ((de our now hen ruf) her syd)
abet:(take-foreign-x:den car cas pax result.q.hin) abet:(take-foreign-x:den car cas pax result.q.hin)
[mos ..^$] [mos ..^$]
== ==
@ -4210,23 +4112,18 @@
?> =(hen queued-duct) ?> =(hen queued-duct)
:: ::
(call hen [-:!>(*task:able) queued-task]) (call hen [-:!>(*task:able) queued-task])
:: =+ dal=(turn ~(tap by fat.ruf) |=([a=@p b=room] a)) :: =^ mos=(list move) une
:: =| mos=(list move) :: wake:(un our now hen ruf)
:: |- ^- [p=(list move) q=_..^^$] :: [mos ..^^$]
:: ?~ dal [mos ..^^$]
:: =+ une=(un i.dal now hen ruf)
:: =^ som une wake:une
:: $(dal t.dal, ruf abet:une, mos (weld som mos))
:: ::
$writ $writ
?> ?=({@ @ *} tea) ?> ?=({@ @ *} tea)
~| i=i.tea ~| i=i.tea
~| it=i.t.tea ~| it=i.t.tea
=+ our=(slav %p i.tea)
=+ him=(slav %p i.t.tea) =+ him=(slav %p i.t.tea)
:_ ..^$ :_ ..^$
:~ :* hen %pass /writ-want %a :~ :* hen %pass /writ-want %a
%want [our him] [%c %answer t.t.tea] %want him [%c %answer t.t.tea]
(bind p.+.q.hin rant-to-rand) (bind p.+.q.hin rant-to-rand)
== ==
== ==

View File

@ -10,7 +10,6 @@
++ all-axle ?(axle) :: ++ all-axle ?(axle) ::
++ axle :: ++ axle ::
$: $0 :: $: $0 ::
ore/(unit ship) :: identity once set
hey/(unit duct) :: default duct hey/(unit duct) :: default duct
dug/(map duct axon) :: conversations dug/(map duct axon) :: conversations
$= hef :: other weights $= hef :: other weights
@ -42,10 +41,10 @@
$% {$wegh $~} :: $% {$wegh $~} ::
== :: == ::
++ note-clay :: ++ note-clay ::
$% {$merg p/@p q/@tas r/@p s/@tas t/case u/germ:clay}:: merge desks $% {$merg p/@tas q/@p r/@tas s/case t/germ:clay} :: merge desks
{$warp p/sock q/riff:clay} :: wait for clay hack {$warp p/ship q/riff:clay} :: wait for clay hack
{$wegh $~} :: {$wegh $~} ::
{$perm p/ship q/desk r/path s/rite:clay} :: change permissions {$perm p/desk q/path r/rite:clay} :: change permissions
== :: == ::
++ note-dill :: note to self, odd ++ note-dill :: note to self, odd
$% {$crud p/@tas q/(list tank)} :: $% {$crud p/@tas q/(list tank)} ::
@ -139,9 +138,7 @@
=> |% => |%
++ as :: per cause ++ as :: per cause
=| moz/(list move) =| moz/(list move)
|_ $: {hen/duct our/ship} |_ [hen=duct axon]
axon
==
++ abet :: resolve ++ abet :: resolve
^- {(list move) axle} ^- {(list move) axle}
[(flop moz) all(dug (~(put by dug.all) hen +<+))] [(flop moz) all(dug (~(put by dug.all) hen +<+))]
@ -301,7 +298,7 @@
=/ myt (flop (need tem)) =/ myt (flop (need tem))
=/ can (clan:title our) =/ can (clan:title our)
=. tem ~ =. tem ~
=. moz :_(moz [hen %pass / %c %merg our %home our %base da+now %init]) =. moz :_(moz [hen %pass / %c %merg %home our %base da+now %init])
=. moz :_(moz [hen %pass ~ %g %conf [[our ram] %load our %home]]) =. moz :_(moz [hen %pass ~ %g %conf [[our ram] %load our %home]])
=. +> (sync %home our %base) =. +> (sync %home our %base)
=. +> ?: ?=(?($czar $pawn) can) +> =. +> ?: ?=(?($czar $pawn) can) +>
@ -322,12 +319,7 @@
tem `(turn gyl |=(a/gill [%yow a])) tem `(turn gyl |=(a/gill [%yow a]))
moz moz
:_ moz :_ moz
:* hen [hen %pass / %c %warp our %base `[%sing %y [%ud 1] /]]
%pass
/
%c
[%warp [our our] %base `[%sing %y [%ud 1] /]]
==
== ==
:: ::
++ send :: send action ++ send :: send action
@ -350,9 +342,7 @@
%_ +>.$ %_ +>.$
moz moz
:_ moz :_ moz
:* hen %pass /show %c %perm our [hen %pass /show %c %perm des / r+`[%black ~]]
des / r+`[%black ~]
==
== ==
:: ::
++ sync ++ sync
@ -440,7 +430,7 @@
^- mass ^- mass
:- %dill :- %dill
:- %| :- %|
:~ all+[%& [ore hey dug]:all] :~ all+[%& [hey dug]:all]
== ==
:: ::
++ wegt ++ wegt
@ -472,10 +462,9 @@
++ ax :: make ++as ++ ax :: make ++as
|= hen/duct |= hen/duct
^- (unit _as) ^- (unit _as)
?~ ore.all ~
=/ nux (~(get by dug.all) hen) =/ nux (~(get by dug.all) hen)
?~ nux ~ ?~ nux ~
(some ~(. as [hen u.ore.all] u.nux)) (some ~(. as hen u.nux))
-- --
|% :: poke+peek pattern |% :: poke+peek pattern
++ call :: handle request ++ call :: handle request
@ -502,17 +491,14 @@
:: ::
?: ?=(%init -.task) ?: ?=(%init -.task)
?> =(~ dug.all) ?> =(~ dug.all)
?> =(~ ore.all)
=. ore.all `p.task
:: configure new terminal, setup :hood and %clay :: configure new terminal, setup :hood and %clay
:: ::
=* our p.task
=* duc (need hey.all) =* duc (need hey.all)
=/ app %hood =/ app %hood
=/ see (tuba "<awaiting {(trip app)}, this may take a minute>") =/ see (tuba "<awaiting {(trip app)}, this may take a minute>")
=/ zon=axon [app input=[~ ~] width=80 cursor=0 see] =/ zon=axon [app input=[~ ~] width=80 cursor=0 see]
:: ::
=^ moz all abet:(~(into as [duc our] zon) ~) =^ moz all abet:(~(into as duc zon) ~)
[moz ..^$] [moz ..^$]
:: %flog tasks are unwrapped and sent back to us on our default duct :: %flog tasks are unwrapped and sent back to us on our default duct
:: ::
@ -531,8 +517,8 @@
:: ::
=/ nus (ax hen) =/ nus (ax hen)
?~ nus ?~ nus
:: we got this on an unknown duct or :: :hen is an unrecognized duct
:: before %boot or %init (or one of those crashed) :: could be before %boot (or %boot failed)
:: ::
~& [%dill-call-no-flow hen -.task] ~& [%dill-call-no-flow hen -.task]
=/ tan ?:(?=(%crud -.task) q.task ~) =/ tan ?:(?=(%crud -.task) q.task ~)
@ -544,8 +530,6 @@
++ load :: trivial ++ load :: trivial
|= old/all-axle |= old/all-axle
..^$(all old) ..^$(all old)
:: |= old=* :: diable
:: ..^$(ore.all `~zod)
:: ::
++ scry ++ scry
|= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path} |= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path}
@ -561,8 +545,8 @@
^+ [*(list move) ..^$] ^+ [*(list move) ..^$]
=/ nus (ax hen) =/ nus (ax hen)
?~ nus ?~ nus
:: we got this on an unknown duct or :: :hen is an unrecognized duct
:: before %boot or %init (or one of those crashed) :: could be before %boot (or %boot failed)
:: ::
~& [%dill-take-no-flow hen -.q.hin +<.q.hin] ~& [%dill-take-no-flow hen -.q.hin +<.q.hin]
[~ ..^$] [~ ..^$]

View File

@ -13,7 +13,7 @@
++ move {p/duct q/(wind note gift:able)} :: local move ++ move {p/duct q/(wind note gift:able)} :: local move
++ note :: out request $-> ++ note :: out request $->
$% $: $a :: to %ames $% $: $a :: to %ames
$% {$want p/sock q/{path *}} :: $% {$want p/ship q/{path *}} ::
== == :: == == ::
$: $b :: to %behn $: $b :: to %behn
$% {$wait p/@da} :: $% {$wait p/@da} ::
@ -28,8 +28,8 @@
{$meta vase} :: type check {$meta vase} :: type check
== == :: == == ::
$: $f :: $: $f ::
$% [%build our=@p live=? schematic=schematic:ford] $% [%build live=? schematic=schematic:ford]
[%kill our=@p] [%kill ~]
== == == ==
$: $g :: to %gall $: $g :: to %gall
$% {$deal p/sock q/cush:gall} :: full transmission $% {$deal p/sock q/cush:gall} :: full transmission
@ -95,7 +95,6 @@
por/{clr/@ud sek/(unit @ud)} :: live ports por/{clr/@ud sek/(unit @ud)} :: live ports
wel/wank :: .well-known wel/wank :: .well-known
gub/@t :: random identity gub/@t :: random identity
hov/(unit ship) :: master for remote
top/beam :: ford serve prefix top/beam :: ford serve prefix
ged/duct :: client interface ged/duct :: client interface
ded/(set duct) :: killed requests ded/(set duct) :: killed requests
@ -639,7 +638,6 @@
++ apex :: accept request ++ apex :: accept request
|= kyz/task:able |= kyz/task:able
^+ +> ^+ +>
=. our ?~(hov our u.hov) :: XX
=. p.top our :: XX necessary? =. p.top our :: XX necessary?
?- -.kyz ?- -.kyz
:: new unix process - learn of first boot or a restart. :: new unix process - learn of first boot or a restart.
@ -725,10 +723,8 @@
+>.$(mow [[hen %slip %d %flog kyz] mow]) +>.$(mow [[hen %slip %d %flog kyz] mow])
:: ::
$init :: register ownership $init :: register ownership
=. our ?~(hov p.kyz (min u.hov p.kyz))
%= +>.$ %= +>.$
fig [~ ?=(%king (clan:title our)) & &] fig [~ ?=(%king (clan:title our)) & &]
hov [~ our]
top [[our %home ud+0] /web] top [[our %home ud+0] /web]
== ==
:: ::
@ -803,7 +799,7 @@
:: ~& did-thud+[-.lid hen] :: ~& did-thud+[-.lid hen]
?- -.lid ?- -.lid
$exec $exec
(pass-note p.lid %f [%kill our]) (pass-note p.lid %f %kill ~)
:: ::
$poll $poll
?. (~(has by wix) p.lid) ?. (~(has by wix) p.lid)
@ -840,21 +836,22 @@
:: by molding the incoming thing into a gram shape before we try to :: by molding the incoming thing into a gram shape before we try to
:: soft it. :: soft it.
:: ::
=* him p.kyz
?~ -.q.kyz ?~ -.q.kyz
~& e+[%strange-west-wire p.kyz] ~& e+[%strange-west-wire him]
~!(%strange-west-wire !!) ~!(%strange-west-wire !!)
=+ mez=((soft gram) [i.-.q.kyz +.q.kyz]) =+ mez=((soft gram) [i.-.q.kyz +.q.kyz])
?~ mez ?~ mez
~& e+[%strange-west p.kyz] ~& e+[%strange-west him]
~|(%strange-west !!) ~|(%strange-west !!)
?- -.u.mez ?- -.u.mez
$aut abet:(logon:(ses-ya p.u.mez) q.p.kyz) $aut abet:(logon:(ses-ya p.u.mez) him)
$hat (foreign-hat:(ses-ya p.u.mez) q.p.kyz q.u.mez) $hat (foreign-hat:(ses-ya p.u.mez) him q.u.mez)
$gib (pass-note ay+(dray p+uv+~ q.p.kyz p.u.mez) [%e %thud ~]) $gib (pass-note ay+(dray p+uv+~ him p.u.mez) [%e %thud ~])
$get (pass-note ay+(dray p+uv+~ q.p.kyz p.u.mez) [%e %this q.u.mez]) $get (pass-note ay+(dray p+uv+~ him p.u.mez) [%e %this q.u.mez])
$got $got
?. (~(has by pox) p.u.mez) ?. (~(has by pox) p.u.mez)
~& lost-gram-thou+p.kyz^p.u.mez ~& lost-gram-thou+him^p.u.mez
+>.$ +>.$
=: hen (~(got by pox) p.u.mez) =: hen (~(got by pox) p.u.mez)
pox (~(del by pox) p.u.mez) pox (~(del by pox) p.u.mez)
@ -864,17 +861,17 @@
$lon $lon
:: ~& ses-ask+[p.u.mez sop (~(run by wup) ~)] :: ~& ses-ask+[p.u.mez sop (~(run by wup) ~)]
?: (ses-authed p.u.mez) ?: (ses-authed p.u.mez)
(ames-gram q.p.kyz %aut p.u.mez) (ames-gram him %aut p.u.mez)
=. sop (~(put by sop) p.u.mez q.p.kyz |) =. sop (~(put by sop) p.u.mez him |)
(ames-gram q.p.kyz %hat p.u.mez our-host) (ames-gram him %hat p.u.mez our-host)
:: ::
$get-inner $get-inner
%+ exec-turbo-live ay+(dray p+uv+~ q.p.kyz p.u.mez) %+ exec-turbo-live ay+(dray p+uv+~ him p.u.mez)
[%bake q.u.mez r.u.mez [[p q] s]:s.u.mez] [%bake q.u.mez r.u.mez [[p q] s]:s.u.mez]
:: ::
$got-inner $got-inner
?. (~(has by pox) p.u.mez) ?. (~(has by pox) p.u.mez)
~& lost-gram-inner+p.kyz^p.u.mez ~& lost-gram-inner+him^p.u.mez
+>.$ +>.$
=: hen (~(got by pox) p.u.mez) =: hen (~(got by pox) p.u.mez)
pox (~(del by pox) p.u.mez) pox (~(del by pox) p.u.mez)
@ -899,7 +896,7 @@
[%vale [p q]:norm res] [%vale [p q]:norm res]
== ==
:: ::
$not +>.$(mow :_(mow [ged [%give %that q.p.kyz p.u.mez]])) $not +>.$(mow :_(mow [ged [%give %that him p.u.mez]]))
== ==
:: ::
$wegh !! :: handled elsewhere $wegh !! :: handled elsewhere
@ -917,7 +914,6 @@
++ axon :: accept response ++ axon :: accept response
|= {tee/whir sih/sign} |= {tee/whir sih/sign}
^+ +> ^+ +>
=. our ?~(hov our u.hov) :: XX
?: &(?=({?($of $ow) ^} tee) !(~(has by wix) p.tee)) ?: &(?=({?($of $ow) ^} tee) !(~(has by wix) p.tee))
~&(dead-ire+[`whir`tee] +>) ~&(dead-ire+[`whir`tee] +>)
?- &2.sih ?- &2.sih
@ -981,7 +977,6 @@
(give-json 200 ~ (frond:enjs %beat %b &)) (give-json 200 ~ (frond:enjs %beat %b &))
:: ::
$made $made
=. our (need hov) :: XX
=| ses/(unit hole) =| ses/(unit hole)
|- ^+ ..axon |- ^+ ..axon
?+ tee ~& [%tee tee] !! ?+ tee ~& [%tee tee] !!
@ -1075,6 +1070,8 @@
++ our-host ++ our-host
^- hart ^- hart
:: XX get actual -F flag value :: XX get actual -F flag value
:: XX scry into %jael?
::
?: [fake=|] [| [~ 8.443] &+/localhost] ?: [fake=|] [| [~ 8.443] &+/localhost]
`hart`[& ~ %& /org/urbit/(rsh 3 1 (scot %p our))] `hart`[& ~ %& /org/urbit/(rsh 3 1 (scot %p our))]
:: ::
@ -1087,7 +1084,7 @@
:: TODO: To make this work :: TODO: To make this work
:: ::
~! -.gam ~! -.gam
(pass-note ~ %a %want [our him] [%e -.gam ~] +.gam) (pass-note ~ %a %want him [%e -.gam ~] +.gam)
:: ::
++ back-turbo ++ back-turbo
|= [tea=whir mar=mark cay=cage] |= [tea=whir mar=mark cay=cage]
@ -1138,7 +1135,7 @@
~/ %execute-turbo ~/ %execute-turbo
|= [tea=whir live=? request=schematic:ford] |= [tea=whir live=? request=schematic:ford]
%+ pass-note tea %+ pass-note tea
:* %f %build our live :* %f %build live
[%dude |.([%leaf "eyre: execute {<tea>}"]) request] [%dude |.([%leaf "eyre: execute {<tea>}"]) request]
== ==
:: ::
@ -1274,8 +1271,6 @@
++ apex ++ apex
=< abet =< abet
^+ done ^+ done
=+ oar=(host-to-ship r.hat)
=. our ?~(oar our u.oar) :: XX
=+ pez=process =+ pez=process
?: ?=(%| -.pez) p.pez ?: ?=(%| -.pez) p.pez
(resolve ~ p.pez) (resolve ~ p.pez)
@ -2272,7 +2267,6 @@
hosts+[%& dop] hosts+[%& dop]
misc+[%& bol] misc+[%& bol]
== ==
=+ our=`@p`0x100 :: XX sentinel
=+ ska=(sloy ski) =+ ska=(sloy ski)
=+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a])))) =+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
=. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need =. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need
@ -2291,7 +2285,6 @@
^- (unit (unit cage)) ^- (unit (unit cage))
?. ?=(%& -.why) ~ ?. ?=(%& -.why) ~
=* who p.why =* who p.why
=+ our=(need hov) :: XX single home
=+ ska=(sloy ski) =+ ska=(sloy ski)
=+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a])))) =+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
?. ?=($$ ren) [~ ~] ?. ?=($$ ren) [~ ~]
@ -2326,7 +2319,6 @@
++ take :: accept response ++ take :: accept response
|= {tea/wire hen/duct hin/(hypo sign)} |= {tea/wire hen/duct hin/(hypo sign)}
^+ [*(list move) ..^$] ^+ [*(list move) ..^$]
=+ our=`@p`0x100 :: XX sentinel
=+ ska=(sloy ski) =+ ska=(sloy ski)
=+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a])))) =+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
=. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need =. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need

View File

@ -152,9 +152,9 @@
:: %warp: internal (intra-ship) file request :: %warp: internal (intra-ship) file request
:: ::
$% $: %warp $% $: %warp
:: sock: pair of requesting ship, requestee ship :: ship: target for request
:: ::
=sock =ship
:: riff: clay request contents :: riff: clay request contents
:: ::
riff=riff:clay riff=riff:clay
@ -191,17 +191,12 @@
+= axle += axle
$: :: date: date at which ford's state was updated to this data structure $: :: date: date at which ford's state was updated to this data structure
:: ::
date=%~2018.6.28 date=%~2018.12.13
:: state-by-ship: storage for all the @p's this ford has been :: state: all persistent state
:: ::
:: Once the cc-release boot sequence lands, we can remove this state=ford-state
:: mapping, since an arvo will not change @p identities. until
:: then, we need to support a ship booting as a comet before
:: becoming its adult identity.
::
state-by-ship=(map ship ford-state)
== ==
:: +ford-state: all state that ford maintains for a @p ship identity :: +ford-state: all state that ford maintains
:: ::
+= ford-state += ford-state
$: :: builds: per-build state machine for all builds $: :: builds: per-build state machine for all builds
@ -5995,7 +5990,7 @@
:: ::
=+ [their desk]=disc.subscription =+ [their desk]=disc.subscription
:: ::
:^ %c %warp sock=[our their] :^ %c %warp ship=their
^- riff:clay ^- riff:clay
[desk `[%mult `case`[%da date.subscription] request-contents]] [desk `[%mult `case`[%da date.subscription] request-contents]]
:: ::
@ -6020,7 +6015,7 @@
:: ::
=/ =note =/ =note
=+ [their desk]=disc.subscription =+ [their desk]=disc.subscription
[%c %warp sock=[our their] `riff:clay`[desk ~]] [%c %warp ship=their `riff:clay`[desk ~]]
:: ::
=. moves [`move`[u.originator [%pass wire note]] moves] =. moves [`move`[u.originator [%pass wire note]] moves]
:: ::
@ -6059,7 +6054,7 @@
=/ =note =/ =note
=, scry-request =, scry-request
=/ =disc [p q]:beam =/ =disc [p q]:beam
:* %c %warp sock=[our their=ship.disc] desk.disc :* %c %warp their=ship.disc desk.disc
`[%sing care case=r.beam (flop s.beam)] `[%sing care case=r.beam (flop s.beam)]
== ==
:: ::
@ -6083,7 +6078,7 @@
:: ::
=/ =note =/ =note
=+ [their desk]=[p q]:beam.scry-request =+ [their desk]=[p q]:beam.scry-request
[%c %warp sock=[our their] `riff:clay`[desk ~]] [%c %warp ship=their `riff:clay`[desk ~]]
:: ::
=. moves [`move`[u.originator [%pass wire note]] moves] =. moves [`move`[u.originator [%pass wire note]] moves]
:: ::
@ -6123,12 +6118,8 @@
:: %kill: cancel a build :: %kill: cancel a build
:: %wipe: clear memory :: %wipe: clear memory
:: ::
:: The general procedure is for Ford to determine the `our` identity
:: for this +task and operate on the :ship-state for that identity.
::
:: Most requests get converted into operations to be performed inside :: Most requests get converted into operations to be performed inside
:: the +per-event core, which is Ford's main build engine. The %keep :: the +per-event core, which is Ford's main build engine.
:: and %wipe requests work across all identities stored in Ford, though.
:: ::
++ call ++ call
|= [=duct type=* wrapped-task=(hobo task:able)] |= [=duct type=* wrapped-task=(hobo task:able)]
@ -6139,6 +6130,9 @@
?. ?=(%soft -.wrapped-task) ?. ?=(%soft -.wrapped-task)
wrapped-task wrapped-task
((hard task:able) p.wrapped-task) ((hard task:able) p.wrapped-task)
:: we wrap +per-event with a call that binds our event args
::
=* this-event (per-event [our duct now scry-gate] state.ax)
:: ::
?- -.task ?- -.task
:: %build: request to perform a build :: %build: request to perform a build
@ -6146,19 +6140,13 @@
%build %build
:: perform the build indicated by :task :: perform the build indicated by :task
:: ::
:: First, we find or create the :ship-state for :our.task, :: We call :start-build on :this-event, which is the |per-event core
:: modifying :state-by-ship as necessary. Then we dispatch to the |ev :: with the our event-args already bound. :start-build performs the
:: by constructing :event-args and using them to create :start-build, :: build and produces a pair of :moves and a mutant :state.
:: which performs the build. The result of :start-build is a pair of :: We update our :state and produce it along with :moves.
:: :moves and a mutant :ship-state. We update our :state-by-ship map
:: with the new :ship-state and produce it along with :moves.
:: ::
=^ ship-state state-by-ship.ax (find-or-create-ship-state our.task)
=/ =build [now schematic.task] =/ =build [now schematic.task]
=* event-args [[our.task duct now scry-gate] ship-state] =^ moves state.ax (start-build:this-event build live.task)
=* start-build start-build:(per-event event-args)
=^ moves ship-state (start-build build live.task)
=. state-by-ship.ax (~(put by state-by-ship.ax) our.task ship-state)
:: ::
[moves ford-gate] [moves ford-gate]
:: ::
@ -6166,21 +6154,7 @@
:: ::
%keep %keep
:: ::
=/ ship-states=(list [ship=@p state=ford-state]) =. state.ax (keep:this-event [compiler-cache build-cache]:task)
~(tap by state-by-ship.ax)
::
=. state-by-ship.ax
|- ^+ state-by-ship.ax
?~ ship-states state-by-ship.ax
::
=, i.ship-states
=* event-args [[ship duct now scry-gate] state]
::
=. state-by-ship.ax
%+ ~(put by state-by-ship.ax) ship
(keep:(per-event event-args) [compiler-cache build-cache]:task)
::
$(ship-states t.ship-states)
:: ::
[~ ford-gate] [~ ford-gate]
:: ::
@ -6188,10 +6162,7 @@
:: ::
%kill %kill
:: ::
=/ ship-state ~|(our+our.task (~(got by state-by-ship.ax) our.task)) =^ moves state.ax cancel:this-event
=* event-args [[our.task duct now scry-gate] ship-state]
=^ moves ship-state cancel:(per-event event-args)
=. state-by-ship.ax (~(put by state-by-ship.ax) our.task ship-state)
:: ::
[moves ford-gate] [moves ford-gate]
:: ::
@ -6205,21 +6176,7 @@
:: ::
%wipe %wipe
:: ::
=/ ship-states=(list [ship=@p state=ford-state]) =. state.ax (wipe:this-event percent-to-remove.task)
~(tap by state-by-ship.ax)
::
=. state-by-ship.ax
|- ^+ state-by-ship.ax
?~ ship-states state-by-ship.ax
::
=, i.ship-states
=* event-args [[ship duct now scry-gate] state]
::
=. state-by-ship.ax
%+ ~(put by state-by-ship.ax) ship
(wipe:(per-event event-args) percent-to-remove.task)
::
$(ship-states t.ship-states)
:: ::
[~ ford-gate] [~ ford-gate]
:: ::
@ -6230,13 +6187,12 @@
^- mass ^- mass
:- %ford :- %ford
:- %| :- %|
%+ turn ~(tap by state-by-ship.ax) :: XX single-home :~ ^- mass
|= [our=@ ford-state] ^- mass
:+ (scot %p our) %| :+ (scot %p our) %|
:: ::
:~ [%builds [%& builds]] :~ [%builds [%& builds.state.ax]]
[%compiler-cache [%& compiler-cache]] [%compiler-cache [%& compiler-cache.state.ax]]
== == ==
== ==
:: +take: receive a response from another vane :: +take: receive a response from another vane
:: ::
@ -6255,9 +6211,6 @@
:: If Ford receives this, it will continue building one or more builds :: If Ford receives this, it will continue building one or more builds
:: that were blocked on this resource. :: that were blocked on this resource.
:: ::
:: The general procedure is for Ford to determine the `our` identity
:: for this +task and operate on the :ship-state for that identity.
::
:: The +sign gets converted into operations to be performed inside :: The +sign gets converted into operations to be performed inside
:: the +per-event core, which is Ford's main build engine. :: the +per-event core, which is Ford's main build engine.
:: ::
@ -6270,27 +6223,15 @@
:: :wire must at least contain :our and a tag for dispatching :: :wire must at least contain :our and a tag for dispatching
:: ::
?> ?=([@ @ *] wire) ?> ?=([@ @ *] wire)
:: :parse our from the head of :wire
::
=/ our=@p (slav %p i.wire)
::
::
=/ ship-state
:: we know :our is already in :state-by-ship because we sent this request
::
~| [%take-our our]
(~(got by state-by-ship.ax) our)
:: ::
|^ ^- [(list move) _ford-gate] |^ ^- [(list move) _ford-gate]
:: ::
=^ moves ship-state =^ moves state.ax
?+ i.t.wire ~|([%bad-take-wire wire] !!) ?+ i.t.wire ~|([%bad-take-wire wire] !!)
%clay-sub take-rebuilds %clay-sub take-rebuilds
%scry-request take-unblocks %scry-request take-unblocks
== ==
:: ::
=. state-by-ship.ax (~(put by state-by-ship.ax) our ship-state)
::
[moves ford-gate] [moves ford-gate]
:: +take-rebuilds: rebuild all live builds affected by the Clay changes :: +take-rebuilds: rebuild all live builds affected by the Clay changes
:: ::
@ -6303,7 +6244,7 @@
:: ::
=/ =subscription =/ =subscription
~| [%ford-take-bad-clay-sub wire=wire duct=duct] ~| [%ford-take-bad-clay-sub wire=wire duct=duct]
=/ =duct-status (~(got by ducts.ship-state) duct) =/ =duct-status (~(got by ducts.state.ax) duct)
?> ?=(%live -.live.duct-status) ?> ?=(%live -.live.duct-status)
?> ?=(^ last-sent.live.duct-status) ?> ?=(^ last-sent.live.duct-status)
?> ?=(^ subscription.u.last-sent.live.duct-status) ?> ?=(^ subscription.u.last-sent.live.duct-status)
@ -6311,15 +6252,15 @@
:: ::
=/ ducts=(list ^duct) =/ ducts=(list ^duct)
~| [%ford-take-missing-subscription subscription] ~| [%ford-take-missing-subscription subscription]
(get-request-ducts pending-subscriptions.ship-state subscription) (get-request-ducts pending-subscriptions.state.ax subscription)
:: ::
=| moves=(list move) =| moves=(list move)
|- ^+ [moves ship-state] |- ^+ [moves state.ax]
?~ ducts [moves ship-state] ?~ ducts [moves state.ax]
:: ::
=* event-args [[our i.ducts now scry-gate] ship-state] =* event-args [[our i.ducts now scry-gate] state.ax]
=* rebuild rebuild:(per-event event-args) =* rebuild rebuild:(per-event event-args)
=^ duct-moves ship-state =^ duct-moves state.ax
(rebuild subscription p.case.sign disc care-paths.sign) (rebuild subscription p.case.sign disc care-paths.sign)
:: ::
$(ducts t.ducts, moves (weld moves duct-moves)) $(ducts t.ducts, moves (weld moves duct-moves))
@ -6345,17 +6286,17 @@
:: ::
=/ ducts=(list ^duct) =/ ducts=(list ^duct)
~| [%ford-take-missing-scry-request scry-request] ~| [%ford-take-missing-scry-request scry-request]
(get-request-ducts pending-scrys.ship-state scry-request) (get-request-ducts pending-scrys.state.ax scry-request)
:: ::
=| moves=(list move) =| moves=(list move)
|- ^+ [moves ship-state] |- ^+ [moves state.ax]
?~ ducts [moves ship-state] ?~ ducts [moves state.ax]
:: ::
=* event-args [[our i.ducts now scry-gate] ship-state] =* event-args [[our i.ducts now scry-gate] state.ax]
:: unblock the builds that had blocked on :resource :: unblock the builds that had blocked on :resource
:: ::
=* unblock unblock:(per-event event-args) =* unblock unblock:(per-event event-args)
=^ duct-moves ship-state (unblock scry-request scry-result) =^ duct-moves state.ax (unblock scry-request scry-result)
:: ::
$(ducts t.ducts, moves (weld moves duct-moves)) $(ducts t.ducts, moves (weld moves duct-moves))
-- --
@ -6380,18 +6321,4 @@
::+| ::+|
:: ::
++ ford-gate ..$ ++ ford-gate ..$
:: +find-or-create-ship-state: find or create a ford-state for a @p
::
:: Accesses and modifies :state-by-ship.
::
++ find-or-create-ship-state
|= our=@p
^- [ford-state _state-by-ship.ax]
::
=/ existing (~(get by state-by-ship.ax) our)
?^ existing
[u.existing state-by-ship.ax]
::
=| new-state=ford-state
[new-state (~(put by state-by-ship.ax) our new-state)]
-- --

View File

@ -36,7 +36,7 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ axle :: all state ++ axle :: all state
$: $0 :: state version $: $0 :: state version
pol/(map ship mast) :: apps by ship =mast :: apps by ship
== :: == ::
++ gest :: subscriber data ++ gest :: subscriber data
$: sup/bitt :: incoming subscribers $: sup/bitt :: incoming subscribers
@ -107,24 +107,18 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ mo ++ mo
~% %gall-mo +> ~ ~% %gall-mo +> ~
|_ $: $: our/@p =* mas mast.all
hen/duct |_ $: hen=duct
moz/(list move) moz=(list move)
==
mast
== ==
++ mo-abed :: initialize ++ mo-abed :: initialize
|= {our/@p hen/duct} |= =duct
^+ +> ^+ +>
%_ +> +>(hen duct)
our our
hen hen
+<+ (~(got by pol.all) our)
==
:: ::
++ mo-abet :: resolve to ++ mo-abet :: resolve to
^+ [*(list move) +>+] ^+ [*(list move) +>+]
:_ +>+(pol.all (~(put by pol.all) our +<+)) :_ +>+
%- flop %- flop
%+ turn moz %+ turn moz
|= a/move |= a/move
@ -167,11 +161,11 @@
:: ::
=/ result-cage=cage (result-to-cage:ford build-result) =/ result-cage=cage (result-to-cage:ford build-result)
:: ::
=/ app-data=(unit seat) (~(get by bum) dap) =/ app-data=(unit seat) (~(get by bum.mas) dap)
?^ app-data ?^ app-data
:: update the path :: update the path
:: ::
=. bum (~(put by bum) dap u.app-data(byk byk)) =. bum.mas (~(put by bum.mas) dap u.app-data(byk byk))
:: magic update string from +mo-boon, "complete old boot" :: magic update string from +mo-boon, "complete old boot"
:: ::
ap-abet:(ap-peep:(ap-abed:ap dap [%high [~ our]]) q.result-cage) ap-abet:(ap-peep:(ap-abed:ap dap [%high [~ our]]) q.result-cage)
@ -192,8 +186,8 @@
|= {dap/dude byk/beak hav/vase} |= {dap/dude byk/beak hav/vase}
=+ sat=*seat =+ sat=*seat
%_ +>.$ %_ +>.$
bum bum.mas
%+ ~(put by bum) dap %+ ~(put by bum.mas) dap
%_ sat %_ sat
mom hen mom hen
byk byk byk byk
@ -210,7 +204,7 @@
^+ +> ^+ +>
%+ mo-pass [%sys %core dap (scot %p p.byk) q.byk (scot r.byk) ~] %+ mo-pass [%sys %core dap (scot %p p.byk) q.byk (scot r.byk) ~]
^- note-arvo ^- note-arvo
[%f %build our live=%.y [%core [[p q]:byk [%hoon dap %app ~]]]] [%f %build live=%.y [%core [[p q]:byk [%hoon dap %app ~]]]]
:: ::
++ mo-away :: foreign request ++ mo-away :: foreign request
~/ %mo-away ~/ %mo-away
@ -241,7 +235,7 @@
== ==
%+ mo-pass %+ mo-pass
[%sys %way -.q.caz ~] [%sys %way -.q.caz ~]
`note-arvo`[%a %want [our him] [%g %ge p.caz ~] [num roc]] `note-arvo`[%a %want him [%g %ge p.caz ~] [num roc]]
:: ::
++ mo-baal :: error convert a ++ mo-baal :: error convert a
|= art/(unit ares) |= art/(unit ares)
@ -269,13 +263,13 @@
++ mo-bale :: assign outbone ++ mo-bale :: assign outbone
|= him/ship |= him/ship
^- {@ud _+>} ^- {@ud _+>}
=+ sad=(fall (~(get by sap) him) `scad`[1 ~ ~]) =+ sad=(fall (~(get by sap.mas) him) `scad`[1 ~ ~])
=+ nom=(~(get by q.sad) hen) =+ nom=(~(get by q.sad) hen)
?^ nom [u.nom +>.$] ?^ nom [u.nom +>.$]
:- p.sad :- p.sad
%_ +>.$ %_ +>.$
sap sap.mas
%+ ~(put by sap) him %+ ~(put by sap.mas) him
%_ sad %_ sad
p +(p.sad) p +(p.sad)
q (~(put by q.sad) hen p.sad) q (~(put by q.sad) hen p.sad)
@ -286,7 +280,7 @@
++ mo-ball :: outbone by index ++ mo-ball :: outbone by index
|= {him/ship num/@ud} |= {him/ship num/@ud}
^- duct ^- duct
(~(got by r:(~(got by sap) him)) num) (~(got by r:(~(got by sap.mas) him)) num)
:: ::
++ mo-come :: handle locally ++ mo-come :: handle locally
|= {her/ship caz/cush} |= {her/ship caz/cush}
@ -351,7 +345,7 @@
~& [%diff-bad-ack %mack] ~& [%diff-bad-ack %mack]
(slog (flop q.,.+>.q.+>.sih)) (slog (flop q.,.+>.q.+>.sih))
=. +>.$ (mo-pass [%sys pax] %g %deal [him our] dap %pull ~) =. +>.$ (mo-pass [%sys pax] %g %deal [him our] dap %pull ~)
(mo-pass [%sys pax] %a %want [our him] [%g %gh dap ~] [num %x ~]) (mo-pass [%sys pax] %a %want him [%g %gh dap ~] [num %x ~])
:: ::
%rep :: reverse request %rep :: reverse request
?> ?=({@ @ @ ~} t.pax) ?> ?=({@ @ @ ~} t.pax)
@ -400,9 +394,9 @@
?- -.cuf ?- -.cuf
$coup (mo-give %mack p.cuf) $coup (mo-give %mack p.cuf)
$diff %+ mo-pass [%sys %red t.pax] $diff %+ mo-pass [%sys %red t.pax]
[%a %want [our him] [%g %gh dap ~] [num %d p.p.cuf q.q.p.cuf]] [%a %want him [%g %gh dap ~] [num %d p.p.cuf q.q.p.cuf]]
$quit %+ mo-pass [%sys pax] $quit %+ mo-pass [%sys pax]
[%a %want [our him] [%g %gh dap ~] [num %x ~]] [%a %want him [%g %gh dap ~] [num %x ~]]
$reap (mo-give %mack p.cuf) $reap (mo-give %mack p.cuf)
== ==
:: ::
@ -461,12 +455,12 @@
++ mo-claw :: clear queue ++ mo-claw :: clear queue
|= dap/dude |= dap/dude
^+ +> ^+ +>
?. (~(has by bum) dap) +> ?. (~(has by bum.mas) dap) +>
=+ suf=(~(get by wub) dap) =+ suf=(~(get by wub.mas) dap)
?~ suf +>.$ ?~ suf +>.$
|- ^+ +>.^$ |- ^+ +>.^$
?: =(~ kys.u.suf) ?: =(~ kys.u.suf)
+>.^$(wub (~(del by wub) dap)) +>.^$(wub.mas (~(del by wub.mas) dap))
=^ lep kys.u.suf [p q]:~(get to kys.u.suf) =^ lep kys.u.suf [p q]:~(get to kys.u.suf)
$(moz :_(moz [p.lep %slip %g %deal [q.q.q.lep our] dap r.lep])) $(moz :_(moz [p.lep %slip %g %deal [q.q.q.lep our] dap r.lep]))
:: $(+>.^$ (mo-clip(hen p.lep) dap q.lep r.lep)) :: $(+>.^$ (mo-clip(hen p.lep) dap q.lep r.lep))
@ -475,7 +469,7 @@
|= dap/dude |= dap/dude
=- ?.(=(p our) - -(r [%da now])) :: soft dependencies =- ?.(=(p our) - -(r [%da now])) :: soft dependencies
^- beak ^- beak
byk:(~(got by bum) dap) byk:(~(got by bum.mas) dap)
:: ::
++ mo-peek ++ mo-peek
~/ %mo-peek ~/ %mo-peek
@ -488,11 +482,11 @@
?: ?=($puff -.cub) ?: ?=($puff -.cub)
%+ mo-pass %+ mo-pass
[%sys %val (scot %p q.q.pry) dap ~] [%sys %val (scot %p q.q.pry) dap ~]
[%f %build our live=%.n [%vale [p q]:(mo-beak dap) +.cub]] [%f %build live=%.n [%vale [p q]:(mo-beak dap) +.cub]]
?: ?=($punk -.cub) ?: ?=($punk -.cub)
%+ mo-pass %+ mo-pass
[%sys %val (scot %p q.q.pry) dap ~] [%sys %val (scot %p q.q.pry) dap ~]
:* %f %build our live=%.n :* %f %build live=%.n
^- schematic:ford ^- schematic:ford
[%cast [p q]:(mo-beak dap) p.cub [%$ q.cub]] [%cast [p q]:(mo-beak dap) p.cub [%$ q.cub]]
== ==
@ -503,11 +497,11 @@
++ mo-club :: local action ++ mo-club :: local action
|= {dap/dude pry/prey cub/club} |= {dap/dude pry/prey cub/club}
^+ +> ^+ +>
?: |(!(~(has by bum) dap) (~(has by wub) dap)) ?: |(!(~(has by bum.mas) dap) (~(has by wub.mas) dap))
~& >> [%mo-not-running dap -.cub] ~& >> [%mo-not-running dap -.cub]
:: ~& [%mo-club-qeu dap cub] :: ~& [%mo-club-qeu dap cub]
=+ syf=(fall (~(get by wub) dap) *sofa) =+ syf=(fall (~(get by wub.mas) dap) *sofa)
+>.$(wub (~(put by wub) dap syf(kys (~(put to kys.syf) [hen pry cub])))) +>.$(wub.mas (~(put by wub.mas) dap syf(kys (~(put to kys.syf) [hen pry cub]))))
(mo-clip dap pry cub) (mo-clip dap pry cub)
:: ::
++ mo-gawk :: ames forward ++ mo-gawk :: ames forward
@ -530,7 +524,7 @@
$d $d
%+ mo-pass %+ mo-pass
[%sys %rep (scot %p him) dap (scot %ud num) ~] [%sys %rep (scot %p him) dap (scot %ud num) ~]
[%f %build our live=%.n [%vale [p q]:(mo-beak dap) p.ron q.ron]] [%f %build live=%.n [%vale [p q]:(mo-beak dap) p.ron q.ron]]
:: ::
$x =. +> (mo-give %mack ~) :: XX should crash $x =. +> (mo-give %mack ~) :: XX should crash
(mo-give(hen (mo-ball him num)) %unto %quit ~) (mo-give(hen (mo-ball him num)) %unto %quit ~)
@ -553,7 +547,7 @@
^+ +> ^+ +>
=: ^dap dap =: ^dap dap
^pry pry ^pry pry
+>+<+ `seat`(~(got by bum) dap) +>+<+ `seat`(~(got by bum.mas) dap)
== ==
=+ unt=(~(get by q.zam) hen) =+ unt=(~(get by q.zam) hen)
=: act.tyc +(act.tyc) =: act.tyc +(act.tyc)
@ -573,7 +567,7 @@
^+ +> ^+ +>
=> ap-abut => ap-abut
%_ +> %_ +>
bum (~(put by bum) dap +<+) bum.mas (~(put by bum.mas) dap +<+)
moz :(weld (turn zip ap-aver) (turn dub ap-avid) moz) moz :(weld (turn zip ap-aver) (turn dub ap-avid) moz)
== ==
:: ::
@ -610,7 +604,7 @@
?: =(mar p.cay) [%give %unto p.q.cov] ?: =(mar p.cay) [%give %unto p.q.cov]
:+ %pass :+ %pass
[%sys %pel dap ~] [%sys %pel dap ~]
[%f %build our live=%.n [%cast [p q]:(mo-beak dap) mar [%$ cay]]] [%f %build live=%.n [%cast [p q]:(mo-beak dap) mar [%$ cay]]]
:: ::
$pass $pass
:+ %pass `path`[%use dap p.q.cov] :+ %pass `path`[%use dap p.q.cov]
@ -1307,52 +1301,47 @@
=> .(q.hic ?.(?=($soft -.q.hic) q.hic ((hard task:able) p.q.hic))) => .(q.hic ?.(?=($soft -.q.hic) q.hic ((hard task:able) p.q.hic)))
?- -.q.hic ?- -.q.hic
$conf $conf
?. (~(has by pol.all) p.p.q.hic) ?. =(our p.p.q.hic)
~& [%gall-not-ours p.p.q.hic] ~& [%gall-not-ours p.p.q.hic]
[~ ..^$] [~ ..^$]
mo-abet:(mo-conf:(mo-abed:mo p.p.q.hic hen) q.p.q.hic q.q.hic) mo-abet:(mo-conf:(mo-abed:mo hen) q.p.q.hic q.q.hic)
:: ::
$deal $deal
=< mo-abet =< mo-abet
?. (~(has by pol.all) q.p.q.hic) :: either to us ?. =(our q.p.q.hic) :: either to us
?> (~(has by pol.all) p.p.q.hic) :: or from us ?> =(our p.p.q.hic) :: or from us
(mo-away:(mo-abed:mo p.p.q.hic hen) q.p.q.hic q.q.hic) (mo-away:(mo-abed:mo hen) q.p.q.hic q.q.hic)
(mo-come:(mo-abed:mo q.p.q.hic hen) p.p.q.hic q.q.hic) (mo-come:(mo-abed:mo hen) p.p.q.hic q.q.hic)
:: ::
$init $init
:: ~& [%gall-init p.q.hic] [~ ..^$(sys.mast.all hen)]
[~ ..^$(pol.all (~(put by pol.all) p.q.hic %*(. *mast sys hen)))]
:: ::
$sunk [~ ..^$] $sunk [~ ..^$]
:: ::
$west $west
?. (~(has by pol.all) p.p.q.hic)
~& [%gall-not-ours p.q.hic]
[~ ..^$]
?> ?=({?($ge $gh) @ ~} q.q.hic) ?> ?=({?($ge $gh) @ ~} q.q.hic)
=+ dap=i.t.q.q.hic =* dap i.t.q.q.hic
=+ our=p.p.q.hic =* him p.q.hic
=+ him=q.p.q.hic
?: ?=($ge i.q.q.hic) ?: ?=($ge i.q.q.hic)
=+ mes=((hard {@ud rook}) r.q.hic) =+ mes=((hard {@ud rook}) r.q.hic)
=< mo-abet =< mo-abet
(mo-gawk:(mo-abed:mo our hen) him dap mes) (mo-gawk:(mo-abed:mo hen) him dap mes)
=+ mes=((hard {@ud roon}) r.q.hic) =+ mes=((hard {@ud roon}) r.q.hic)
=< mo-abet =< mo-abet
(mo-gawd:(mo-abed:mo our hen) him dap mes) (mo-gawd:(mo-abed:mo hen) him dap mes)
:: ::
$wegh $wegh
:_ ..^$ :_ ~ =/ =mass
:^ hen %give %mass =* mas mast.all
:- %gall
:- %|
%+ turn ~(tap by pol.all) :: XX single-home
|= {our/@ mast} ^- mass
:+ (scot %p our) %| :+ (scot %p our) %|
:~ [%foreign [%& sap]] :~ [%foreign [%& sap.mast.all]]
[%blocked [%| (sort ~(tap by (~(run by wub) |=(sofa [%& +<]))) aor)]] :+ %blocked %|
[%active [%| (sort ~(tap by (~(run by bum) |=(seat [%& +<]))) aor)]] (sort ~(tap by (~(run by wub.mast.all) |=(sofa [%& +<]))) aor)
:+ %active %|
(sort ~(tap by (~(run by bum.mast.all) |=(seat [%& +<]))) aor)
== ==
=/ =move [hen %give %mass %gall %| [mass ~]]
[[move ~] ..^$]
:: ::
$went !! :: XX fixme $went !! :: XX fixme
== ==
@ -1373,19 +1362,19 @@
?: ?& =(%u ren) ?: ?& =(%u ren)
=(~ tyl) =(~ tyl)
=([%$ %da now] lot) =([%$ %da now] lot)
(~(has by pol.all) his) =(our his)
(~(has by bum:(~(got by pol.all) his)) syd) (~(has by bum.mast.all) syd)
== ==
``[%null !>(~)] ``[%null !>(~)]
?. (~(has by pol.all) his) ?. =(our his)
~ ~
?. =([%$ %da now] lot) ?. =([%$ %da now] lot)
~ ~
?. (~(has by bum:(~(got by pol.all) his)) syd) ?. (~(has by bum.mast.all) syd)
[~ ~] [~ ~]
?. ?=(^ tyl) ?. ?=(^ tyl)
~ ~
(mo-peek:(mo-abed:mo his *duct) syd high+`his ren tyl) (mo-peek:mo-abed:mo syd high+`his ren tyl)
:: ::
++ stay :: save w+o cache ++ stay :: save w+o cache
`axle`all `axle`all
@ -1396,8 +1385,7 @@
^+ [*(list move) ..^$] ^+ [*(list move) ..^$]
~| [%gall-take tea] ~| [%gall-take tea]
?> ?=({@ ?($sys $use) *} tea) ?> ?=({@ ?($sys $use) *} tea)
=+ our=(need (slaw %p i.tea)) =+ mow=(mo-abed:mo hen)
=+ mow=(mo-abed:mo our hen)
?- i.t.tea ?- i.t.tea
$sys mo-abet:(mo-cyst:mow t.t.tea q.hin) $sys mo-abet:(mo-cyst:mow t.t.tea q.hin)
$use mo-abet:(mo-cook:mow t.t.tea hin) $use mo-abet:(mo-cook:mow t.t.tea hin)

View File

@ -56,8 +56,6 @@
== :: == ::
$= own :: vault (vein) $= own :: vault (vein)
$: yen/(set duct) :: trackers $: yen/(set duct) :: trackers
:: XX use this ::
our=ship ::
sig=(unit oath) :: for a moon sig=(unit oath) :: for a moon
:: XX reconcile with .dns.eth :: :: XX reconcile with .dns.eth ::
tuf=(list turf) :: domains tuf=(list turf) :: domains
@ -601,12 +599,11 @@
:: vane interface when that gets cleaned up a bit. :: vane interface when that gets cleaned up a bit.
:: ::
=| moz/(list move) =| moz/(list move)
=| $: :: sys: system context =| $: $: :: our: identity
:: :: now: current time
$= sys
$: :: now: current time
:: eny: unique entropy :: eny: unique entropy
:: ::
our=ship
now=@da now=@da
eny=@uvJ eny=@uvJ
== ==
@ -668,8 +665,8 @@
:: {$burn p/ship q/safe} :: {$burn p/ship q/safe}
:: ::
$burn $burn
%^ cure hen our.tac %+ cure hen
abet:abet:(deal:(burb our.tac) p.tac [~ q.tac]) abet:abet:(deal:(burb our) p.tac [~ q.tac])
:: ::
:: boot from keys :: boot from keys
:: $: $dawn :: $: $dawn
@ -682,10 +679,9 @@
:: == :: ==
:: ::
%dawn %dawn
=* our who.seed.tac :: single-homed
:: sort-of single-homed
:: ::
=. our.own.sub our ?> =(our who.seed.tac)
:: save our boot block :: save our boot block
:: ::
=. boq.own.sub bloq.tac =. boq.own.sub bloq.tac
@ -705,7 +701,7 @@
:: our initial private key, as a +tree of +rite :: our initial private key, as a +tree of +rite
:: ::
=/ rit (sy [%jewel (my [lyf.seed.tac key.seed.tac] ~)] ~) =/ rit (sy [%jewel (my [lyf.seed.tac key.seed.tac] ~)] ~)
=. +>.$ $(tac [%mint our our rit]) =. +>.$ $(tac [%mint our rit])
:: our initial galaxy table as a +map from +life to +public :: our initial galaxy table as a +map from +life to +public
:: ::
=/ kyz =/ kyz
@ -723,7 +719,7 @@
:: ::
=. +>.$ =. +>.$
?~ snap.tac +>.$ ?~ snap.tac +>.$
(restore-snap hen our u.snap.tac |) (restore-snap hen u.snap.tac |)
:: ::
=. moz =. moz
%+ weld moz %+ weld moz
@ -734,7 +730,7 @@
:: %jael init must be deferred (makes http requests) :: %jael init must be deferred (makes http requests)
:: ::
^- (list move) ^- (list move)
:~ [hen %pass /(scot %p our)/init %b %wait +(now.sys)] :~ [hen %pass /(scot %p our)/init %b %wait +(now)]
[hen %give %init our] [hen %give %init our]
[hen %slip %e %init our] [hen %slip %e %init our]
[hen %slip %d %init our] [hen %slip %d %init our]
@ -745,13 +741,12 @@
+>.$ +>.$
:: ::
:: boot fake :: boot fake
:: {$fake our/ship} :: [%fake =ship]
:: ::
%fake %fake
=* our our.tac :: single-homed
:: sort-of single-homed
:: ::
=. our.own.sub our ?> =(our ship.tac)
:: fake keys are deterministically derived from the ship :: fake keys are deterministically derived from the ship
:: ::
=/ cub (pit:nu:crub:crypto 512 our) =/ cub (pit:nu:crub:crypto 512 our)
@ -774,7 +769,7 @@
:: so we do this first. :: so we do this first.
:: ::
=/ rit (sy [%jewel (my [1 sec:ex:cub] ~)] ~) =/ rit (sy [%jewel (my [1 sec:ex:cub] ~)] ~)
=. +>.$ $(tac [%mint our our rit]) =. +>.$ $(tac [%mint our rit])
:: set the fake bit :: set the fake bit
:: ::
=. fak.own.sub & =. fak.own.sub &
@ -798,15 +793,15 @@
:: {$hail p/ship q/remote} :: {$hail p/ship q/remote}
:: ::
$hail $hail
%^ cure hen our.tac %+ cure hen
abet:abet:(hail:(burb our.tac) p.tac q.tac) abet:abet:(hail:(burb our) p.tac q.tac)
:: ::
:: set ethereum source :: set ethereum source
:: [%look p=(each ship purl)] :: [%look p=(each ship purl)]
:: ::
%look %look
%^ cute hen our.tac =< abet %+ cute hen =< abet
(~(look et hen our.tac now.sys urb.lex sub.lex etn.lex sap.lex) src.tac) (~(look et hen our now urb.lex sub.lex etn.lex sap.lex) src.tac)
:: ::
:: create promises :: create promises
:: {$mint p/ship q/safe} :: {$mint p/ship q/safe}
@ -816,8 +811,8 @@
?< ?& fak.own.sub ?< ?& fak.own.sub
(~(exists up q.tac) %jewel) (~(exists up q.tac) %jewel)
== ==
%^ cure hen our.tac %+ cure hen
abet:abet:(deal:(burb our.tac) p.tac [q.tac ~]) abet:abet:(deal:(burb our) p.tac [q.tac ~])
:: ::
:: ::
:: move promises :: move promises
@ -825,11 +820,11 @@
:: ::
$move $move
=. +> =. +>
%^ cure hen our.tac %+ cure hen
abet:abet:(deal:(burb our.tac) p.tac [~ r.tac]) abet:abet:(deal:(burb our) p.tac [~ r.tac])
=. +> =. +>
%^ cure hen our.tac %+ cure hen
abet:abet:(deal:(burb our.tac) q.tac [r.tac ~]) abet:abet:(deal:(burb our) q.tac [r.tac ~])
+> +>
:: ::
:: cancel all trackers from duct :: cancel all trackers from duct
@ -844,18 +839,18 @@
== ==
:: ::
:: watch public keys :: watch public keys
:: [%pubs our=ship who=ship] :: [%pubs =ship]
:: ::
%pubs %pubs
%- curd =< abet %- curd =< abet
(~(pubs ~(feed su hen our.tac urb sub etn sap) hen) who.tac) (~(pubs ~(feed su hen our urb sub etn sap) hen) ship.tac)
:: ::
:: seen after breach :: seen after breach
:: [%meet our=ship who=ship] :: [%meet our=ship who=ship]
:: ::
%meet %meet
%^ cure hen our.tac %+ cure hen
[[%meet who.tac life.tac pass.tac]~ urb] [[%meet ship.tac life.tac pass.tac]~ urb]
:: ::
:: XX should be a subscription :: XX should be a subscription
:: XX reconcile with .dns.eth :: XX reconcile with .dns.eth
@ -873,20 +868,20 @@
:: {$vein $~} :: {$vein $~}
:: ::
$vein $vein
(curd abet:~(vein ~(feed su hen our.tac urb sub etn sap) hen)) (curd abet:~(vein ~(feed su hen our urb sub etn sap) hen))
:: ::
:: watch ethereum events :: watch ethereum events
:: [%vent ~] :: [%vent ~]
:: ::
%vent %vent
=. moz [[hen %give %mack ~] moz] =. moz [[hen %give %mack ~] moz]
(curd abet:~(vent ~(feed su hen our.tac urb sub etn sap) hen)) (curd abet:~(vent ~(feed su hen our urb sub etn sap) hen))
:: ::
:: monitor assets :: monitor assets
:: {$vest $~} :: {$vest $~}
:: ::
$vest $vest
(curd abet:~(vest ~(feed su hen our.tac urb sub etn sap) hen)) (curd abet:~(vest ~(feed su hen our urb sub etn sap) hen))
:: ::
:: monitor all :: monitor all
:: {$vine $~} :: {$vine $~}
@ -898,17 +893,16 @@
:: {$west p/ship q/path r/*} :: {$west p/ship q/path r/*}
:: ::
$west $west
=+ mes=((hard message) r.tac) =* her p.tac
=* our p.p.tac =/ mes ((hard message) r.tac)
=* dem q.p.tac
?- -.mes ?- -.mes
:: ::
:: reset remote rights :: reset remote rights
:: [%hail p=remote] :: [%hail p=remote]
:: ::
%hail %hail
%^ cure hen our %+ cure hen
abet:abet:(hail:(burb our) dem p.mes) abet:abet:(hail:(burb our) her p.mes)
:: ::
:: cancel trackers :: cancel trackers
:: [%nuke ~] :: [%nuke ~]
@ -920,30 +914,29 @@
:: [%vent ~] :: [%vent ~]
:: ::
%vent %vent
$(tac [%vent our]) $(tac [%vent ~])
:: ::
:: ::
%vent-result %vent-result
:: ignore if not from currently configured source. :: ignore if not from currently configured source.
?. &(-.source.etn =(dem p.source.etn)) ?. &(-.source.etn =(her p.source.etn))
+>.$ +>.$
=. moz [[hen %give %mack ~] moz] =. moz [[hen %give %mack ~] moz]
%^ cute hen our =< abet %+ cute hen =< abet
(~(hear-vent et hen our now.sys urb.lex sub.lex etn.lex sap.lex) p.mes) (~(hear-vent et hen our now urb.lex sub.lex etn.lex sap.lex) p.mes)
== ==
:: ::
:: rewind to snapshot :: rewind to snapshot
:: {$wind p/@ud} :: {$wind p/@ud}
:: ::
%wind %wind
(wind hen our.tac p.tac) (wind hen p.tac)
== ==
:: ::
++ take ++ take
|= [tea=wire hen=duct hin=sign] |= [tea=wire hen=duct hin=sign]
^+ +> ^+ +>
?> ?=([@ *] tea) ?> ?=([@ *] tea)
=+ our=(slav %p i.tea)
=* wir t.tea =* wir t.tea
?- hin ?- hin
[%a %woot *] [%a %woot *]
@ -955,20 +948,20 @@
+>.$ +>.$
:: ::
[%e %sigh *] [%e %sigh *]
%^ cute hen our =< abet %+ cute hen =< abet
(~(sigh et hen our now.sys urb.lex sub.lex etn.lex sap.lex) wir p.hin) (~(sigh et hen our now urb.lex sub.lex etn.lex sap.lex) wir p.hin)
:: ::
[%b %wake ~] [%b %wake ~]
%^ cute hen our %+ cute hen
:: XX cleanup :: XX cleanup
:: ::
?. ?=([%init ~] wir) ?. ?=([%init ~] wir)
abet:~(wake et hen our now.sys urb.lex sub.lex etn.lex sap.lex) abet:~(wake et hen our now urb.lex sub.lex etn.lex sap.lex)
abet:(~(init et hen our now.sys [urb sub etn sap]:lex) our (sein our)) abet:(~(init et hen our now [urb sub etn sap]:lex) our (sein our))
:: ::
[%j %vent *] [%j %vent *]
%^ cute hen our =< abet %+ cute hen =< abet
(~(hear-vent et hen our now.sys urb.lex sub.lex etn.lex sap.lex) p.hin) (~(hear-vent et hen our now urb.lex sub.lex etn.lex sap.lex) p.hin)
== ==
:: :: ++curd:of :: :: ++curd:of
++ curd :: relative moves ++ curd :: relative moves
@ -980,14 +973,13 @@
+>(sub sub, etn etn, sap sap, moz (weld (flop moz) ^moz)) +>(sub sub, etn etn, sap sap, moz (weld (flop moz) ^moz))
:: :: ++cure:of :: :: ++cure:of
++ cure :: absolute edits ++ cure :: absolute edits
|= {hen/duct our/ship hab/(list change) urb/state-absolute} |= [hen=duct hab=(list change) urb=state-absolute]
^+ +> ^+ +>
=. ^urb urb =. ^urb urb
(curd abet:(~(apex su hen our urb sub etn sap) hab)) (curd abet:(~(apex su hen our urb sub etn sap) hab))
:: :: ++cute:of :: :: ++cute:of
++ cute :: ethereum changes ++ cute :: ethereum changes
|= $: hen=duct |= $: hen=duct
our=ship
mos=(list move) mos=(list move)
ven=chain ven=chain
urb=state-absolute urb=state-absolute
@ -1002,15 +994,15 @@
^sap sap ^sap sap
== ==
%- cure(moz (weld (flop mos) moz)) %- cure(moz (weld (flop mos) moz))
[hen our abet:(link:(burb our) ven)] [hen abet:(link:(burb our) ven)]
:: :: ++wind:of :: :: ++wind:of
++ wind :: rewind to snap ++ wind :: rewind to snap
|= [hen=duct our=@p block=@ud] |= [hen=duct block=@ud]
^+ +> ^+ +>
=. +>.$ (restore-block hen our block) =. +>.$ (restore-block hen block)
%= +>.$ %= +>.$
moz moz
=- [[hen %pass /wind/look %j %look our -] moz] =- [[hen %pass /wind/look %j %look -] moz]
?- -.source.etn ?- -.source.etn
%& &+p.source.etn %& &+p.source.etn
%| |+node.p.source.etn %| |+node.p.source.etn
@ -1018,14 +1010,14 @@
== ==
:: :: ++restore-block:of :: :: ++restore-block:of
++ restore-block :: rewind before block ++ restore-block :: rewind before block
|= [hen=duct our=@p block=@ud] |= [hen=duct block=@ud]
%^ cute hen our =< abet %+ cute hen =< abet
(~(restore-block et hen our now.sys urb.lex sub.lex etn.lex sap.lex) block) (~(restore-block et hen our now urb.lex sub.lex etn.lex sap.lex) block)
:: :: ++restore-snap:of :: :: ++restore-snap:of
++ restore-snap :: restore snapshot ++ restore-snap :: restore snapshot
|= [hen=duct our=@p snap=snapshot look=?] |= [hen=duct snap=snapshot look=?]
%^ cute hen our =< abet %+ cute hen =< abet
%- ~(restore-snap et hen our now.sys urb.lex sub.lex etn.lex sap.lex) %- ~(restore-snap et hen our now urb.lex sub.lex etn.lex sap.lex)
[snap look] [snap look]
-- --
:: :: ++su :: :: ++su
@ -1104,7 +1096,7 @@
:+ %pass :+ %pass
/(scot %p our)/vent-result /(scot %p our)/vent-result
^- note:able ^- note:able
[%a %want [our who] /j/(scot %p our)/vent-result %vent-result res] [%a %want who /j/(scot %p our)/vent-result %vent-result res]
:: ::
++ extract-snap :: extract rewind point ++ extract-snap :: extract rewind point
^- snapshot ^- snapshot
@ -1217,7 +1209,7 @@
:_ moz :_ moz
:^ *duct %pass /vest/(scot %p p.hug) :^ *duct %pass /vest/(scot %p p.hug)
:+ %a %want :+ %a %want
:+ [our p.hug] /j :+ p.hug /j
^- message ^- message
[%hail |+pig] [%hail |+pig]
== ==
@ -1709,7 +1701,7 @@
|= [our=ship who=ship] |= [our=ship who=ship]
%- put-move(source &+who) %- put-move(source &+who)
%+ wrap-note /vent/(scot %p who) %+ wrap-note /vent/(scot %p who)
[%a %want [our who] /j/(scot %p our)/vent `*`[%vent ~]] [%a %want who /j/(scot %p our)/vent `*`[%vent ~]]
:: ::
:: +unsubscribe-from-source: stop listening to current source ship :: +unsubscribe-from-source: stop listening to current source ship
:: ::
@ -1720,7 +1712,7 @@
%+ wrap-note /vent/(scot %p p.source) %+ wrap-note /vent/(scot %p p.source)
::TODO should we maybe have a %nuke-vent, ::TODO should we maybe have a %nuke-vent,
:: or do we have a unique duct here? :: or do we have a unique duct here?
[%a %want [our p.source] /j/(scot %p our)/vent `*`[%nuke ~]] [%a %want p.source /j/(scot %p our)/vent `*`[%nuke ~]]
:: ::
:: +listen-to-node: start syncing from a node :: +listen-to-node: start syncing from a node
:: ::
@ -2141,7 +2133,7 @@
sap sap(last-block 0) sap sap(last-block 0)
moves moves
?. look moves ?. look moves
=- [[hen %pass /wind/look %j %look our -] moves] =- [[hen %pass /wind/look %j %look -] moves]
?- -.source.etn ?- -.source.etn
%& &+p.source.etn %& &+p.source.etn
%| |+node.p.source.etn %| |+node.p.source.etn
@ -2168,7 +2160,7 @@
:+ %pass :+ %pass
/(scot %p our)/vent-result /(scot %p our)/vent-result
^- note:able ^- note:able
[%a %want [our who] /j/(scot %p our)/vent-result %vent-result res] [%a %want who /j/(scot %p our)/vent-result %vent-result res]
:: :: ++feed:su :: :: ++feed:su
-- --
-- --
@ -2200,10 +2192,12 @@
hic/(hypo (hobo task:able)) hic/(hypo (hobo task:able))
== ==
^- [(list move) _..^$] ^- [(list move) _..^$]
=^ did lex =/ =task:able
=- abet:(~(call of [now eny] lex) hen -) ?. ?=($soft -.q.hic)
?. ?=($soft -.q.hic) q.hic q.hic
((hard task:able) p.q.hic) ((hard task:able) p.q.hic)
=^ did lex
abet:(~(call of [our now eny] lex) hen task)
[did ..^$] [did ..^$]
:: :: ++load :: :: ++load
++ load :: upgrade ++ load :: upgrade
@ -2271,7 +2265,7 @@
:: ::
%deed %deed
?. ?=([@ @ ~] tyl) [~ ~] ?. ?=([@ @ ~] tyl) [~ ~]
?. &(?=(%& -.why) =(p.why our.own.sub.lex)) ?. &(?=(%& -.why) =(p.why our))
[~ ~] [~ ~]
=/ who (slaw %p i.tyl) =/ who (slaw %p i.tyl)
=/ lyf (slaw %ud i.t.tyl) =/ lyf (slaw %ud i.t.tyl)
@ -2345,7 +2339,7 @@
?~ who [~ ~] ?~ who [~ ~]
:^ ~ ~ %atom :^ ~ ~ %atom
!> ^- ship !> ^- ship
(~(sein of [now eny] lex) u.who) (~(sein of [our now eny] lex) u.who)
:: ::
%saxo %saxo
?. ?=([@ ~] tyl) [~ ~] ?. ?=([@ ~] tyl) [~ ~]
@ -2357,7 +2351,7 @@
?~ who [~ ~] ?~ who [~ ~]
:^ ~ ~ %noun :^ ~ ~ %noun
!> ^- (list ship) !> ^- (list ship)
(~(saxo of [now eny] lex) u.who) (~(saxo of [our now eny] lex) u.who)
:: ::
%snap %snap
?. ?=(~ tyl) [~ ~] ?. ?=(~ tyl) [~ ~]
@ -2385,6 +2379,6 @@
hin/(hypo sign) hin/(hypo sign)
== ==
^- [(list move) _..^$] ^- [(list move) _..^$]
=^ did lex abet:(~(take of [now eny] lex) tea hen q.hin) =^ did lex abet:(~(take of [our now eny] lex) tea hen q.hin)
[did ..^$] [did ..^$]
-- --

View File

@ -80,7 +80,6 @@
++ life @ud :: ship version ++ life @ud :: ship version
++ mime {p/mite q/octs} :: mimetyped data ++ mime {p/mite q/octs} :: mimetyped data
++ octs {p/@ud q/@t} :: octet-stream ++ octs {p/@ud q/@t} :: octet-stream
++ sack {p/ship q/ship} :: incoming [our his]
++ sock {p/ship q/ship} :: outgoing [our his] ++ sock {p/ship q/ship} :: outgoing [our his]
::+| ::+|
:: ::
@ -480,16 +479,16 @@
$% {$flog p/flog:dill} :: $% {$flog p/flog:dill} ::
== == :: == == ::
$: %j :: to %jael $: %j :: to %jael
$% [%meet our=ship who=ship =life =pass] :: neighbor $% [%meet =ship =life =pass] :: neighbor
[%pubs our=ship who=ship] :: view public keys [%pubs =ship] :: view public keys
[%turf ~] :: view domains [%turf ~] :: view domains
[%vein our=ship] :: view private keys [%vein ~] :: view private keys
== == :: == == ::
$: $g :: to %gall $: $g :: to %gall
$% {$deal p/sock q/cush:gall} :: $% {$deal p/sock q/cush:gall} ::
== == :: == == ::
$: @tas :: to any $: @tas :: to any
$% {$west p/sack q/path r/*} :: $% {$west p/ship q/path r/*} ::
== == == :: == == == ::
++ gift :: out result <-$ ++ gift :: out result <-$
$% {$mack p/(unit tang)} :: acknowledgement $% {$mack p/(unit tang)} :: acknowledgement
@ -530,8 +529,8 @@
{$sunk p=ship q=life} :: report death {$sunk p=ship q=life} :: report death
{$wake ~} :: timer activate {$wake ~} :: timer activate
{$wegh ~} :: report memory {$wegh ~} :: report memory
{$west p/sack q/path r/*} :: network request {$west p/ship q/path r/*} :: network request
{$want p/sock q/path r/*} :: forward message {$want p/ship q/path r/*} :: forward message
== :: == ::
-- ::able -- ::able
:: ::
@ -567,17 +566,17 @@
ryl/(map path rill) :: statements outbound ryl/(map path rill) :: statements outbound
== :: == ::
++ boon :: fort output ++ boon :: fort output
$% {$beer p/sock} :: request public keys $% [%beer p=ship] :: request public keys
{$bock ~} :: bind to domains [%bock ~] :: bind to domains
{$brew ~} :: request domains [%brew ~] :: request domains
{$cake p/sock q/soap r/coop s/duct} :: e2e message result [%cake p=ship q=soap r=coop s=duct] :: e2e message result
{$mead p/lane q/rock} :: accept packet [%mead p=lane q=rock] :: accept packet
{$milk p/sock q/soap r/*} :: e2e pass message [%milk p=ship q=soap r=*] :: e2e pass message
{$ouzo p/lane q/rock} :: transmit packet [%ouzo p=lane q=rock] :: transmit packet
{$pito p/@da} :: timeout [%pito p=@da] :: timeout
{$raki p/sock q/life r/pass} :: neighbor'd [%raki p=ship q=life r=pass] :: neighbor'd
{$sake p/ship} :: our private keys [%sake ~] :: our private keys
{$wine p/sock q/tape} :: notify user [%wine p=ship q=tape] :: notify user
== :: == ::
++ cake {p/sock q/skin r/@} :: top level packet ++ cake {p/sock q/skin r/@} :: top level packet
++ cape :: end-to-end result ++ cape :: end-to-end result
@ -614,7 +613,7 @@
hop/@da :: network boot date hop/@da :: network boot date
bad/(set @p) :: bad ships bad/(set @p) :: bad ships
ton/town :: security ton/town :: security
zac/(map ship corn) :: flows by server zac/corn :: flows by server
== :: == ::
++ hand @uvH :: 128-bit hash ++ hand @uvH :: 128-bit hash
++ lane :: packet route ++ lane :: packet route
@ -677,16 +676,13 @@
lys/@da :: last sent lys/@da :: last sent
pac/rock :: packet data pac/rock :: packet data
== :: == ::
++ sufi :: domestic host ++ town :: all security state
$: val/wund :: private keys $: any/@ :: entropy
val/wund :: private keys
law/deed :: server deed law/deed :: server deed
seh/(map hand {p/ship q/@da}) :: key cache seh/(map hand {p/ship q/@da}) :: key cache
hoc/(map ship dore) :: neighborhood hoc/(map ship dore) :: neighborhood
== :: == ::
++ town :: all security state
$: any/@ :: entropy
urb/(map ship sufi) :: all keys and routes
== ::
++ wund (list {p/life q/ring r/acru}) :: secrets in action ++ wund (list {p/life q/ring r/acru}) :: secrets in action
-- ::ames -- ::ames
:: :::: :: ::::
@ -746,29 +742,29 @@
== :: == ::
++ task :: in request ->$ ++ task :: in request ->$
$% {$boat ~} :: pier rebooted $% {$boat ~} :: pier rebooted
{$cred our/ship nom/@ta cew/crew} :: set permission group {$cred nom/@ta cew/crew} :: set permission group
{$crew our/ship} :: permission groups {$crew ~} :: permission groups
{$crow our/ship nom/@ta} :: group usage {$crow nom/@ta} :: group usage
{$crud p/@tas q/(list tank)} :: error with trace {$crud p/@tas q/(list tank)} :: error with trace
{$drop our/@p des/desk} :: cancel pending merge {$drop des/desk} :: cancel pending merge
{$info our/@p des/desk dit/nori} :: internal edit {$info des/desk dit/nori} :: internal edit
{$init our/@p} :: report install {$init our/@p} :: report install
{$into des/desk all/? fis/mode} :: external edit {$into des/desk all/? fis/mode} :: external edit
$: $merg :: merge desks $: $merg :: merge desks
our/@p des/desk :: target des/desk :: target
her/@p dem/desk cas/case :: source her/@p dem/desk cas/case :: source
how/germ :: method how/germ :: method
== :: == ::
{$mont des/desk bem/beam} :: mount to unix {$mont des/desk bem/beam} :: mount to unix
{$dirk des/desk} :: mark mount dirty {$dirk des/desk} :: mark mount dirty
{$ogre pot/$@(desk beam)} :: delete mount point {$ogre pot/$@(desk beam)} :: delete mount point
{$perm our/ship des/desk pax/path rit/rite} :: change permissions {$perm des/desk pax/path rit/rite} :: change permissions
{$sunk p=ship q=life} :: report death {$sunk p=ship q=life} :: report death
{$warp wer/sock rif/riff} :: internal file req {$warp wer/ship rif/riff} :: internal file req
{$werp who/ship wer/sock rif/riff} :: external file req {$werp who/ship wer/ship rif/riff} :: external file req
{$wegh ~} :: report memory {$wegh ~} :: report memory
{$went wer/sack pax/path num/@ud ack/coop} :: response confirm {$went wer/ship pax/path num/@ud ack/coop} :: response confirm
{$west wer/sack pax/path res/*} :: network request {$west wer/ship pax/path res/*} :: network request
== :: == ::
-- ::able -- ::able
:: ::
@ -1033,8 +1029,8 @@
[%thud ~] :: inbound cancel [%thud ~] :: inbound cancel
[%wegh ~] :: report memory [%wegh ~] :: report memory
[%well p=path q=(unit mime)] :: put/del .well-known [%well p=path q=(unit mime)] :: put/del .well-known
[%went p=sack q=path r=@ud s=coop] :: response confirm [%went p=ship q=path r=@ud s=coop] :: response confirm
[%west p=sack q=[path *]] :: network request [%west p=ship q=[path *]] :: network request
[%wise p=ship q=prox] :: proxy notification [%wise p=ship q=prox] :: proxy notification
== :: == ::
-- ::able -- ::able
@ -1249,9 +1245,6 @@
$% :: %build: perform a build, either live or once $% :: %build: perform a build, either live or once
:: ::
$: %build $: %build
:: our: who our ship is (remove after cc-release)
::
our=@p
:: live: whether we run this build live :: live: whether we run this build live
:: ::
:: A live build will subscribe to further updates and keep the :: A live build will subscribe to further updates and keep the
@ -1267,11 +1260,7 @@
[%keep compiler-cache=@ud build-cache=@ud] [%keep compiler-cache=@ud build-cache=@ud]
:: %kill: stop a build; send on same duct as original %build request :: %kill: stop a build; send on same duct as original %build request
:: ::
$: %kill [%kill ~]
:: our: who our ship is (remove after cc-release)s
::
our=@p
==
:: %sunk: receive a report that a foreign ship has lost continuity :: %sunk: receive a report that a foreign ship has lost continuity
:: ::
[%sunk =ship =life] [%sunk =ship =life]
@ -1966,8 +1955,8 @@
{$init p/ship} :: set owner {$init p/ship} :: set owner
{$deal p/sock q/cush} :: full transmission {$deal p/sock q/cush} :: full transmission
{$sunk p=ship q/life} :: report death {$sunk p=ship q/life} :: report death
{$went p/sack q/path r/@ud s/coop} :: response confirm {$went p/ship q/path r/@ud s/coop} :: response confirm
{$west p/sack q/path r/*} :: network request {$west p/ship q/path r/*} :: network request
{$wegh ~} :: report memory {$wegh ~} :: report memory
== :: == ::
-- ::able -- ::able
@ -2105,11 +2094,11 @@
$% [%hiss p=(unit user) q=mark r=cage] :: outbound user req $% [%hiss p=(unit user) q=mark r=cage] :: outbound user req
== == :: == == ::
$: %a :: $: %a ::
$% [%want p=sock q=path r=*] :: send message $% [%want p=ship q=path r=*] :: send message
== == :: == == ::
$: %j :: $: %j ::
$% [%vent-result p=vent-result] :: tmp workaround $% [%vent-result p=vent-result] :: tmp workaround
[%look our=ship src=(each ship purl:eyre)] :: [%look src=(each ship purl:eyre)] ::
== == :: == == ::
$: @tas :: $: @tas ::
$% [%init p=ship] :: report install $% [%init p=ship] :: report install
@ -2137,8 +2126,8 @@
action :: change action :: change
:: ::
+= task :: in request ->$ += task :: in request ->$
$% [%burn our=ship p=ship q=safe] :: destroy rights $% [%burn p=ship q=safe] :: destroy rights
[%hail our=ship p=ship q=remote] :: remote update [%hail p=ship q=remote] :: remote update
$: %dawn :: boot from keys $: %dawn :: boot from keys
=seed:able:jael :: identity params =seed:able:jael :: identity params
spon=(unit ship) :: sponsor spon=(unit ship) :: sponsor
@ -2148,21 +2137,21 @@
node=(unit purl:eyre) :: gateway url node=(unit purl:eyre) :: gateway url
snap=(unit snapshot) :: head start snap=(unit snapshot) :: head start
== :: == ::
[%fake our=ship] :: fake boot [%fake =ship] :: fake boot
[%look our=ship src=(each ship purl:eyre)] :: set ethereum source [%look src=(each ship purl:eyre)] :: set ethereum source
[%mint our=ship p=ship q=safe] :: create rights [%mint p=ship q=safe] :: create rights
[%move our=ship p=ship q=ship r=safe] :: transfer from=to [%move p=ship q=ship r=safe] :: transfer from=to
::TODO %next for generating/putting new private key ::TODO %next for generating/putting new private key
[%nuke ~] :: cancel tracker from [%nuke ~] :: cancel tracker from
[%pubs our=ship who=ship] :: view public keys [%pubs =ship] :: view public keys
[%meet our=ship who=ship =life =pass] :: met after breach [%meet =ship =life =pass] :: met after breach
[%turf ~] :: view domains [%turf ~] :: view domains
[%vein our=ship] :: view signing keys [%vein ~] :: view signing keys
[%vent our=ship] :: view ethereum events [%vent ~] :: view ethereum events
[%vest our=ship] :: view public balance [%vest ~] :: view public balance
[%vine ~] :: view secret history [%vine ~] :: view secret history
[%west p=sack q=path r=*] :: remote request [%west p=ship q=path r=*] :: remote request
[%wind our=ship p=@ud] :: rewind before block [%wind p=@ud] :: rewind before block
== :: == ::
-- :: -- ::
:: :: :: ::

View File

@ -20,7 +20,7 @@
:* ames-gate :* ames-gate
now=~1234.5.6 now=~1234.5.6
call-args=[hen type=*type %soft %init ~nul] call-args=[hen type=*type %soft %init ~nul]
[[hen %pass wir %j %vein ~nul] [hen %pass / %j %turf ~] ~] [[hen %pass wir %j %vein ~] [hen %pass / %j %turf ~] ~]
== ==
:: ::
results1 results1
@ -33,7 +33,7 @@
== ==
^- [tang _ames-gate] ^- [tang _ames-gate]
:: ::
=/ ames (ames-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley) =/ ames (ames-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley)
:: ::
=^ moves ames-gate =^ moves ames-gate
%- call:ames call-args %- call:ames call-args

View File

@ -27,7 +27,7 @@
^= call-args ^= call-args
:+ duct=~[/info] type=-:!>(*task:able:clay) :+ duct=~[/info] type=-:!>(*task:able:clay)
^- task:able:clay ^- task:able:clay
:^ %info ~nul %home :+ %info %home
^- nori:clay ^- nori:clay
:- %& :- %&
^- soba:clay ^- soba:clay
@ -50,7 +50,7 @@
:+ %pass /castifying/~nul/home/~1111.1.1 :+ %pass /castifying/~nul/home/~1111.1.1
^- note:clay-gate ^- note:clay-gate
:- %f :- %f
[%build ~nul live=%.n [%pin ~1111.1.1 [%list ~]]] [%build live=%.n [%pin ~1111.1.1 [%list ~]]]
!> i.moves !> i.moves
:: ::
%+ expect-eq %+ expect-eq
@ -60,7 +60,7 @@
:+ %pass /diffing/~nul/home/~1111.1.1 :+ %pass /diffing/~nul/home/~1111.1.1
^- note:clay-gate ^- note:clay-gate
:- %f :- %f
[%build ~nul live=%.n [%pin ~1111.1.1 [%list ~]]] [%build live=%.n [%pin ~1111.1.1 [%list ~]]]
!> i.t.moves !> i.t.moves
:: ::
^- tang ^- tang
@ -85,9 +85,6 @@
?. ?=([%f %build *] note) ?. ?=([%f %build *] note)
[%leaf "bad move, not a %build: {<move>}"]~ [%leaf "bad move, not a %build: {<move>}"]~
:: ::
%+ weld
(expect-eq !>(~nul) !>(our.note))
::
%+ weld %+ weld
(expect-eq !>(%.n) !>(live.note)) (expect-eq !>(%.n) !>(live.note))
:: ::
@ -145,9 +142,6 @@
?. ?=([%f %build *] note) ?. ?=([%f %build *] note)
[%leaf "bad move, not a %build: {<move>}"]~ [%leaf "bad move, not a %build: {<move>}"]~
:: ::
%+ weld
(expect-eq !>(~nul) !>(our.note))
::
%+ weld %+ weld
(expect-eq !>(%.n) !>(live.note)) (expect-eq !>(%.n) !>(live.note))
:: ::
@ -234,9 +228,6 @@
?. ?=([%f %build *] note) ?. ?=([%f %build *] note)
[%leaf "bad move, not a %build: {<move>}"]~ [%leaf "bad move, not a %build: {<move>}"]~
:: ::
%+ weld
(expect-eq !>(~nul) !>(our.note))
::
%+ weld %+ weld
(expect-eq !>(%.n) !>(live.note)) (expect-eq !>(%.n) !>(live.note))
:: ::
@ -315,7 +306,7 @@
^= call-args ^= call-args
:+ duct=~[/info2] type=-:!>(*task:able:clay) :+ duct=~[/info2] type=-:!>(*task:able:clay)
^- task:able:clay ^- task:able:clay
:^ %info ~nul %home :+ %info %home
^- nori:clay ^- nori:clay
:- %& :- %&
^- soba:clay ^- soba:clay
@ -380,7 +371,7 @@
:+ %pass /castifying/~nul/home/~2222.2.2 :+ %pass /castifying/~nul/home/~2222.2.2
^- note:clay-gate ^- note:clay-gate
:- %f :- %f
[%build ~nul live=%.n [%pin ~2222.2.2 [%list ~]]] [%build live=%.n [%pin ~2222.2.2 [%list ~]]]
!> i.moves !> i.moves
:: ::
%+ expect-eq %+ expect-eq
@ -390,7 +381,7 @@
:+ %pass /diffing/~nul/home/~2222.2.2 :+ %pass /diffing/~nul/home/~2222.2.2
^- note:clay-gate ^- note:clay-gate
:- %f :- %f
[%build ~nul live=%.n [%pin ~2222.2.2 [%list ~]]] [%build live=%.n [%pin ~2222.2.2 [%list ~]]]
!> i.t.moves !> i.t.moves
:: ::
^- tang ^- tang
@ -415,9 +406,6 @@
?. ?=([%f %build *] note) ?. ?=([%f %build *] note)
[%leaf "bad move, not a %build: {<move>}"]~ [%leaf "bad move, not a %build: {<move>}"]~
:: ::
%+ weld
(expect-eq !>(~nul) !>(our.note))
::
%+ weld %+ weld
(expect-eq !>(%.n) !>(live.note)) (expect-eq !>(%.n) !>(live.note))
:: ::
@ -463,7 +451,7 @@
== ==
^- [tang _clay-gate] ^- [tang _clay-gate]
:: ::
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry) =/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
:: ::
=^ moves clay-gate (call:clay-core call-args) =^ moves clay-gate (call:clay-core call-args)
:: ::
@ -484,7 +472,7 @@
== ==
^- [tang _clay-gate] ^- [tang _clay-gate]
:: ::
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry) =/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
:: ::
=^ moves clay-gate (call:clay-core call-args) =^ moves clay-gate (call:clay-core call-args)
:: ::
@ -502,7 +490,7 @@
== ==
^- [tang _clay-gate] ^- [tang _clay-gate]
:: ::
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry) =/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
:: ::
=^ moves clay-gate (take:clay-core take-args) =^ moves clay-gate (take:clay-core take-args)
:: ::
@ -523,7 +511,7 @@
== ==
^- [tang _clay-gate] ^- [tang _clay-gate]
:: ::
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry) =/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
:: ::
=^ moves clay-gate (take:clay-core take-args) =^ moves clay-gate (take:clay-core take-args)
:: ::

File diff suppressed because it is too large Load Diff

View File

@ -41,7 +41,7 @@
%- jael-call-with-comparator :* %- jael-call-with-comparator :*
jael-gate jael-gate
now=(add ~s1 ~1234.5.6) now=(add ~s1 ~1234.5.6)
call-args=[duct=[/ /term/1 wir ~] type=*type %vein ~nul] call-args=[duct=[/ /term/1 wir ~] type=*type %vein ~]
^= comparator ^= comparator
|= moves=(list move:jael-gate) |= moves=(list move:jael-gate)
;: weld ;: weld
@ -89,7 +89,7 @@
== ==
^- [tang _jael-gate] ^- [tang _jael-gate]
:: ::
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley) =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley)
:: ::
=^ moves jael-gate =^ moves jael-gate
%- call:jael call-args %- call:jael call-args
@ -109,7 +109,7 @@
== ==
^- [tang _jael-gate] ^- [tang _jael-gate]
:: ::
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley) =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley)
:: ::
=^ moves jael-gate =^ moves jael-gate
%- call:jael call-args %- call:jael call-args
@ -126,7 +126,7 @@
== ==
^- [tang _jael-gate] ^- [tang _jael-gate]
:: ::
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley) =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley)
:: ::
=^ moves jael-gate =^ moves jael-gate
%- take:jael take-args %- take:jael take-args
@ -146,7 +146,7 @@
== ==
^- [tang _jael-gate] ^- [tang _jael-gate]
:: ::
=/ jael (jael-gate our=~zod now=now eny=`@`0xdead.beef scry=*sley) =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley)
:: ::
=^ moves jael-gate =^ moves jael-gate
%- take:jael take-args %- take:jael take-args