diff --git a/pkg/arvo/app/aqua.hoon b/pkg/arvo/app/aqua.hoon index edbb50a3d8..25651fdc83 100644 --- a/pkg/arvo/app/aqua.hoon +++ b/pkg/arvo/app/aqua.hoon @@ -824,15 +824,10 @@ ?< (~(has by lives.azi.piers) who) =. lives.azi.piers (~(put by lives.azi.piers) who [1 0]) =. logs.azi.piers + =/ [cry=@ sgn=@] (get-public:aqua-azimuth who 1) %+ weld logs.azi.piers :_ ~ - %- changed-keys:lo:aqua-azimuth - :* who - (get-public:aqua-azimuth who 1 %crypt) - (get-public:aqua-azimuth who 1 %auth) - 1 - 1 - == + (changed-keys:lo:aqua-azimuth [who cry sgn 1 1]) (spam-logs 10) :: ++ cycle-keys @@ -844,15 +839,10 @@ =/ lyfe +(lyfe.prev) =. lives.azi.piers (~(put by lives.azi.piers) who [lyfe rut.prev]) =. logs.azi.piers + =/ [cry=@ sgn=@] (get-public:aqua-azimuth who lyfe) %+ weld logs.azi.piers :_ ~ - %- changed-keys:lo:aqua-azimuth - :* who - (get-public:aqua-azimuth who lyfe %crypt) - (get-public:aqua-azimuth who lyfe %auth) - 1 - lyfe - == + (changed-keys:lo:aqua-azimuth [who cry sgn 1 lyfe]) state :: ++ breach @@ -871,56 +861,51 @@ |= who=ship ^- dawn-event:jael =/ clan (clan:title who) - ?> ?=(?(%czar %king %duke %earl) clan) - =/ spon=(list [ship point:azimuth]) + =/ spon=(list [ship point:jael]) %- flop - |- ^- (list [ship point:azimuth]) + |- ^- (list [ship point:jael]) =/ =ship (^sein:title who) - =/ a-point=[^ship point:azimuth] - =/ spon-spon [& (^sein:title ship)] - =/ life-rift ~|([ship lives.azi.piers] (~(got by lives.azi.piers) ship)) - =/ =life lyfe.life-rift - =/ =rift rut.life-rift - =/ =pass - %^ pass-from-eth:azimuth - (as-octs:mimes:html (get-public:aqua-azimuth ship life %crypt)) - (as-octs:mimes:html (get-public:aqua-azimuth ship life %auth)) - 1 - :^ ship - *[address address address address]:azimuth - `[life=life pass rift spon-spon ~] - ~ + =/ a-point=[^ship point:jael] + =/ spon-spon (^sein:title ship) + =/ [=life =rift] + (~(gut by lives.azi.piers) ship [1 0]) + =/ =pass pub:ex:(get-keys:aqua-azimuth ship life) + =/ keys + (~(put by *(map ^life [crypto-suite=@ud =^pass])) life [1 pass]) + [ship rift life keys `spon-spon ~] ?: ?=(%czar (clan:title ship)) [a-point]~ [a-point $(who ship)] =/ =feed:jael - =/ life-rift=[lyfe=life rut=rift] - ?: =(%earl clan) [1 0] + =/ [lyfe=life rut=rift] + ?: ?=(?(%earl %pawn) clan) [1 0] (~(got by lives.azi.piers) who) - =/ =life lyfe.life-rift - [who life sec:ex:(get-keys:aqua-azimuth who life) ~] - :* feed - spon + =/ kyz=(list [life ring]) + [lyfe sec:ex:(get-keys:aqua-azimuth who lyfe)]~ + [[%2 ~] who rut kyz] + :* %1 + feed + *(list [ship point:jael]) ::spon get-czars - ~[~['arvo' 'netw' 'ork']] + ~[/arvo/netw/ork] 0 `(need (de-purl:html 'http://fake.aqua.domain/')) + *(list (pair @tas *)) == :: :: Should only do galaxies :: ++ get-czars - ^- (map ship [rift life pass]) + ^- (map ship point:jael) %- malt %+ murn ~(tap by lives.azi.piers) |= [who=ship lyfe=life rut=rift] ?. =(%czar (clan:title who)) ~ - %- some - :^ who rut lyfe - %^ pass-from-eth:azimuth - (as-octs:mimes:html (get-public:aqua-azimuth who lyfe %crypt)) - (as-octs:mimes:html (get-public:aqua-azimuth who lyfe %auth)) - 1 + =/ =pass pub:ex:(get-keys:aqua-azimuth who lyfe) + =/ keys + (~(put by *(map life [crypto-suite=@ud =^pass])) lyfe [1 pass]) + `[who rut lyfe keys ~ ~] +:: -- diff --git a/pkg/arvo/app/azimuth.hoon b/pkg/arvo/app/azimuth.hoon index 2c0305c2a4..e18a304350 100644 --- a/pkg/arvo/app/azimuth.hoon +++ b/pkg/arvo/app/azimuth.hoon @@ -275,11 +275,12 @@ =? snap.poke ?=(%0 -.snap.poke) snap.poke(- %1, nas (load:naive nas.snap.poke)) ?> ?=(%1 -.snap.poke) - =: net.state %default + =: net.state ?.(=('' url.state) net.state %default) nas.state nas.snap.poke own.state owners.snap.poke spo.state sponsors.snap.poke - url.state 'http://eth-mainnet.urbit.org:8545' + url.state ?. =('' url.state) url.state + 'http://eth-mainnet.urbit.org:8545' sap.state snap.poke logs.state ~ == diff --git a/pkg/arvo/lib/aqua-azimuth.hoon b/pkg/arvo/lib/aqua-azimuth.hoon index dbe1f83124..26d13059af 100644 --- a/pkg/arvo/lib/aqua-azimuth.hoon +++ b/pkg/arvo/lib/aqua-azimuth.hoon @@ -1,4 +1,4 @@ -/- *aquarium +/- dice, *aquarium /+ ethereum, azimuth :: |% @@ -14,6 +14,25 @@ |= [our=ship her=ship uf=unix-effect azi=az-state] ^- (unit card:agent:gall) =, enjs:format + =/ ask-load + %+ extract-request uf + 'https://bootstrap.urbit.org/mainnet.azimuth-snapshot' + ?^ ask-load + =/ events=(list aqua-event) + :_ ~ + :* %event + her + /i/http-client/0v1n.2m9vh + %receive + num.u.ask-load + [%start [200 ~] `(as-octs:mimes:html (jam *versioned-snap:dice)) &] + == + %- some + :* %pass /aqua-events + %agent [our %aqua] + %poke %aqua-events + !>(events) + == =/ ask (extract-request uf 'http://fake.aqua.domain/') ?~ ask ~ @@ -200,16 +219,91 @@ :: ++ get-keys |= [who=@p lyfe=life] - %+ pit:nu:cric:crypto 32 - (can 5 [1 (scot %p who)] [1 (scot %ud lyfe)] ~) + ?~ cum=(~(get by comets) who) + %^ pit:nu:cric:crypto 32 + (can 5 [1 (scot %p who)] [1 (scot %ud lyfe)] ~) + [%b ~] + ?. =(lyfe 1) + %^ pit:nu:cric:crypto 32 + (can 5 [1 (scot %p who)] [1 (scot %ud lyfe)] ~) + [%c 0xdead.beef.cafe] + ?: ?=(%b suite.u.cum) + (pit:nu:cric:crypto 512 seed.u.cum %b ~) + (pit:nu:cric:crypto 512 seed.u.cum %c 0xdead.beef.cafe) :: ++ get-public - |= [who=@p lyfe=life typ=?(%auth %crypt)] - =/ bod (rsh 3 pub:ex:(get-keys who lyfe)) - =+ [enc=(rsh 8 bod) aut=(end 8 bod)] - ?: =(%auth typ) - aut - enc + |= [who=@p lyfe=life] + ^- public-keys:ames + ded:ex:(get-keys who lyfe) +:: +comets: allowed comets, their +cric suite and seeds +:: the tweak for %c comets is 0xdead.beef.cafe +:: +++ comets + ^~ ^- (map ship [suite=?(%b %c) seed=@uw]) + %- ~(gas by *(map ship [suite=?(%b %c) seed=@uw])) + ^- (list [=ship suite=?(%b %c) seed=@uw]) + %+ zip + :: comet names + ^- (list @p) + :~ :: marbud, %c suite + ~fasteg-dinhet-malrum-ransub--hocduc-digtev-radsut-marbud + ~daldyl-nildem-dispec-tilryx--dondus-dirmet-tintyl-marbud + ~dansyr-ponbec-tocfel-laddux--socnut-nisnyx-dinsut-marbud + :: marbud, %b suite + ~harrep-podpec-torsut-docnyx--mopsyx-fosdus-ladpen-marbud + ~liblyn-togrut-tabwel-hodbet--dovbex-parryt-mirbyt-marbud + ~hidreb-naptev-banben-bicrup--massup-dantus-fodwet-marbud + :: mardev, %c suite + ~molpyx-novtyc-wortyc-noswyd--taltyv-loplev-dabwen-mardev + ~fosnys-noctyd-talfyl-borryl--davhus-disbyn-fotnec-mardev + ~tonmep-tabrux-rinbep-firmur--silmex-saldef-pasfer-mardev + :: mardev, %b suite + ~holwyx-ramped-tognet-barsyn--navler-ronmeg-topbex-mardev + ~hacmet-doslyr-narhut-tiptec--micbyl-motnev-worsyn-mardev + ~ribmut-nopdul-minmet-pardeg--wisfex-rosfus-fogsyn-mardev + == + %+ zip + :: comet suites + ^- (list ?(%b %c)) + ~[%c %c %c %b %b %b %c %c %c %b %b %b] + :: comet seeds + ^- (list @uw) + :~ 0w2.5sfF0.~inVv.dQ7zb.ykQSG.aX5nF.uGQsm.keVzY.6Pu1S. + quvGI.b0Ht2.Ctbbr.-ADfG.7yIL4.NXJ5a.lGmJZ.5wkdb.9Z775 + 0w5Disb.xWJtw.cszH3.YBTFu.9k6Nc.JjeyV.origh.VkYmT. + 9-Obr.T3TOs.IPdWd.MmsUQ.ZZGZa.OLHMe.5azFd.l7hXr.~vuI~ + 0w1.7wOws.lF20Y.WRmex.htiLX.WrZ43.yxBCD.Ow3oE.kumTc. + dRou7.xGeQm.Lbbx-.6hTii.hzYgP.Z2iQ9.7YYLB.2qb1b.PDItX + 0w3.7aZCR.XIcSt.sKqRG.AS4KD.A-FAT.bbZwc.2N4z5.pez5t. + aZGIz.d0Hy9.C~RPd.87GcR.LM0Jt.6oVFF.LL4v7.rzlwk.~Fm5Z + 0w1.fuip3.x~XMr.eE02V.K4RC5.OvDaK.jug28.75z30.UY476. + ZlB3Q.bD78k.M8E~g.I4LRY.OytPc.XD2Bm.XDM9t.iQEhl.LNCMM + 0w1.BHOHC.VyVuo.4kS0o.VKJNU.-zMyL.T2zJo.j1EF5.symnK. + yQB8T.TvCPN.Z8~P~.KS6j4.~055y.E-jBn.UhIxJ.mItiE.PmML1 + 0w3.mAqpe.eRL-v.65LTo.aHWFA.5kTRF.qQ1o-.xK2W-.tae8A. + FLBV~.wL3iP.A~53S.izniF.SiLrJ.DDxNO.A9Yps.QLFta.LmorX + 0w3.L29ce.OZsch.LKI2F.f86PX.JuhkV.8gnMT.FSqcd.~MqL3. + v4wEj.yFnGN.DHr-Z.TiCRY.tG-7r.E1oza.pW2FM.i097b.yA~Ql + 0w2.iUm0y.wCmrI.GrVKW.r5yu9.Stccm.3diy3.vS4r7.tV~jd. + -mxoM.S1nFG.soxnp.dDr6X.DUI99.4uhQO.ntSQJ.UYiQi.pMRi2 + 0w2.i8vIr.hWTd1.aC9jk.F6Y3e.r5OEr.nzm8U.KHzQN.RsEzF. + trAnj.MqRRu.397ik.L8o9k.RSIip.0vZ4Q.qhnSI.eXfhu.brJPS + 0ws1~UQ.v~fJv.C5MPg.LFX3N.ZmJmu.0LeVG.lyyT7.shhvL. + 2~det.i-jOI.OVI8v.9ldMk.16MGj.AZxso.qsTpQ.inrUz.aE1sa + 0w~w9s8.YLtr3.bSQ8H.SIK5g.Dnh9M.aIcT2.mqIqG.geVWH. + lJUzq.OTuUl.oM9ww.7MwQh.pQ7Q9.NB38f.FzzKE.S7is8.~0Gg- + == +:: +zip: combine two lists into a list of cells of their elements +:: +++ zip + |* [a=(list) b=(list)] + ^- (list [_?>(?=(^ a) i.a) _?>(?=(^ b) i.b)]) + =| out=(list [_?>(?=(^ a) i.a) _?>(?=(^ b) i.b)]) + ?> =((lent a) (lent b)) + |- + ?~ a (flop out) + ?~ b (flop out) + $(out [[i.a i.b] out], a t.a, b t.b) :: :: Generate logs :: diff --git a/pkg/arvo/sys/vane/jael.hoon b/pkg/arvo/sys/vane/jael.hoon index 6eacce335d..3da82c34d2 100644 --- a/pkg/arvo/sys/vane/jael.hoon +++ b/pkg/arvo/sys/vane/jael.hoon @@ -324,7 +324,9 @@ =. +>.$ ?: =(~ srcs.tac) %^ poke-watch hen %azimuth - !>([%watch 'http://eth-mainnet.urbit.org:8545/' %default]) + ?~ node.tac + [%watch 'http://eth-mainnet.urbit.org:8545/' %default] + [%watch (crip (en-purl:html u.node.tac)) %default] |- ^+ +>.^$ ?~ srcs.tac +>.^$ =. +>.^$ (poke-watch hen i.srcs.tac) diff --git a/pkg/arvo/ted/aqua/ames.hoon b/pkg/arvo/ted/aqua/ames.hoon index 8315eba2ee..ab6258cee0 100644 --- a/pkg/arvo/ted/aqua/ames.hoon +++ b/pkg/arvo/ted/aqua/ames.hoon @@ -9,22 +9,39 @@ /+ aqua-vane-thread =, aquarium |% ++$ fiefs (map ship fiefs-result:jael) +-- +:: +=| fez=fiefs +:: +|% ++ emit-aqua-events |= [our=ship aes=(list aqua-event)] ^- (list card:agent:gall) [%pass /aqua-events %agent [our %aqua] %poke %aqua-events !>(aes)]~ :: +++ handle-fief + |= [our=ship who=ship way=wire %fief =fiefs-result:jael] + ^- (quip card:agent:gall fiefs) + :- ~ + %+ ~(put by fez) who + (~(uni by (~(gut by fez) who ~)) fiefs-result) +:: ++ handle-restore |= [our=ship who=@p] - ^- (list card:agent:gall) + ^- (quip card:agent:gall fiefs) + :_ fez %+ emit-aqua-events our [%event who [/a/newt/0v1n.2m9vh %born ~]]~ :: ++ handle-send =, ames |= [our=ship now=@da sndr=@p way=wire %send lan=lane pac=@] - ^- (list card:agent:gall) - =/ rcvr=ship (lane-to-ship lan) + ^- (quip card:agent:gall fiefs) + :_ fez + =/ rcvr=(unit @p) (lane-to-ship sndr lan) + ?~ rcvr + ~&([%aqua %ames %error "can't resolve lane"] ~) =/ hear-lane (ship-to-lane sndr) =/ =shot (sift-shot pac) ?: &(!sam.shot req.shot) :: is fine request @@ -32,47 +49,116 @@ %+ emit-aqua-events our :_ ~ :- %read - [[[rcvr rcvr-tick.shot] path.peep] [hear-lane sndr-tick.shot] num.peep] + [[[u.rcvr rcvr-tick.shot] path.peep] [hear-lane sndr-tick.shot] num.peep] %+ emit-aqua-events our - [%event rcvr /a/newt/0v1n.2m9vh %hear hear-lane pac]~ + [%event u.rcvr /a/newt/0v1n.2m9vh %hear hear-lane pac]~ :: +lane-to-ship: decode a ship from an aqua lane :: -:: Special-case one comet, since its address doesn't fit into a lane. +:: Special-case some comets, since their addresses doesn't fit into a lane. :: ++ lane-to-ship - |= =lane:ames - ^- ship + |= [sndr=@p =lane:ames] + ^- (unit ship) + ?- -.lane + %& + ?. =(%pawn (clan:title p.lane)) + (some p.lane) + =/ =fiefs-result:jael (~(gut by fez) sndr ~) + ?~ got=(~(gut by fiefs-result) p.lane *(unit fief)) + ~ + ?- -.u.got + %is ~ + %turf + |- ^- (unit ship) + ?~ p.u.got ~ + ?^ tuf=(~(get by turfs) i.p.u.got) + tuf + $(p.u.got t.p.u.got) + :: + %if + ?. =(0xdead.beef p.u.got) ~ + ?. (lth q.u.got 12) ~ + $(lane [%| (cat 5 p.u.got q.u.got)]) + == :: - ?- -.lane - %& p.lane - %| =/ s `ship``@`p.lane - ?. =(s 0xdead.beef.cafe) - s - ~bosrym-podwyl-magnes-dacrys--pander-hablep-masrym-marbud + %| + ?: ?& =(0xdead.beef (end 5 p.lane)) + (lth (rsh 5 p.lane) 12) + == + (some (snag (rsh 5 p.lane) comets)) + (some `@p``@`p.lane) == :: +ship-to-lane: encode a lane to look like it came from .ship :: :: Never shows up as a galaxy, because Vere wouldn't know that either. -:: Special-case one comet, since its address doesn't fit into a lane. +:: Special-case a list of comets, since its address doesn't fit into a lane. :: ++ ship-to-lane |= =ship ^- lane:ames :- %| ^- address:ames ^- @ - ?. =(ship ~bosrym-podwyl-magnes-dacrys--pander-hablep-masrym-marbud) + =/ index=(unit @ud) (find ~[ship] comets) + ?~ index ship - 0xdead.beef.cafe + (cat 2 0xdead.beef u.index) +:: +comets: list of hard-coded comets +:: +++ comets + ^~ ^- (list @p) + :~ :: %c suite, marbud, 0xdead.beef.cafe tweak + ~fasteg-dinhet-malrum-ransub--hocduc-digtev-radsut-marbud + ~daldyl-nildem-dispec-tilryx--dondus-dirmet-tintyl-marbud + ~dansyr-ponbec-tocfel-laddux--socnut-nisnyx-dinsut-marbud + :: %b suite, marbud + ~harrep-podpec-torsut-docnyx--mopsyx-fosdus-ladpen-marbud + ~liblyn-togrut-tabwel-hodbet--dovbex-parryt-mirbyt-marbud + ~hidreb-naptev-banben-bicrup--massup-dantus-fodwet-marbud + :: %c suite, mardev, 0xdead.beef.cafe tweak + ~molpyx-novtyc-wortyc-noswyd--taltyv-loplev-dabwen-mardev + ~fosnys-noctyd-talfyl-borryl--davhus-disbyn-fotnec-mardev + ~tonmep-tabrux-rinbep-firmur--silmex-saldef-pasfer-mardev + :: %b suite, mardev + ~holwyx-ramped-tognet-barsyn--navler-ronmeg-topbex-mardev + ~hacmet-doslyr-narhut-tiptec--micbyl-motnev-worsyn-mardev + ~ribmut-nopdul-minmet-pardeg--wisfex-rosfus-fogsyn-mardev + == +:: +turfs: map from domain to comet +:: +++ turfs + ^~ ^- (map turf @p) + %- ~(gas by *(map turf @p)) + ^- (list [turf @p]) + =- (zip - comets) + ^- (list turf) + :~ /marbud/fasteg /marbud/daldyl /marbud/dansyr + /marbud/harrep /marbud/liblyn /marbud/hidreb + /mardev/molpyx /mardev/fosnys /mardev/tonmep + /mardev/holwyx /mardev/hacmet /mardev/ribmut + == +:: +:: +zip: combine two equally long lists into one list of cells +:: +++ zip + |* [a=(list) b=(list)] + ^- (list [_?>(?=(^ a) i.a) _?>(?=(^ b) i.b)]) + =| out=(list [_?>(?=(^ a) i.a) _?>(?=(^ b) i.b)]) + ?> =((lent a) (lent b)) + |- + ?~ a (flop out) + ?~ b (flop out) + $(out [[i.a i.b] out], a t.a, b t.b) -- :: -%+ aqua-vane-thread ~[%restore %send] +%+ aqua-vane-thread ~[%fief %restore %send] |_ =bowl:spider +* this . ++ handle-unix-effect |= [who=@p ue=unix-effect] ^- (quip card:agent:gall _this) - =/ cards - ?+ -.q.ue ~ + =^ cards fez + ?+ -.q.ue [~ fez] + %fief (handle-fief our.bowl who ue) %restore (handle-restore our.bowl who) %send (handle-send our.bowl now.bowl who ue) == diff --git a/pkg/arvo/ted/aqua/eyre-azimuth.hoon b/pkg/arvo/ted/aqua/eyre-azimuth.hoon index a13e2aa3d9..beb072c44c 100644 --- a/pkg/arvo/ted/aqua/eyre-azimuth.hoon +++ b/pkg/arvo/ted/aqua/eyre-azimuth.hoon @@ -1,7 +1,7 @@ :: Pass-through Eyre driver :: -/- spider, *aquarium -/+ ethereum, azimuth, ph-io, util=ph-util, strandio +/- spider, dice, *aquarium +/+ ethereum, azimuth, ph-io, util=ph-util, strandio, aqua-azimuth =, strand=strand:spider |% +$ state @@ -71,6 +71,24 @@ |= [our=ship her=ship uf=unix-effect] ^- (unit card:agent:gall) =, enjs:format + =/ ask-load + %+ extract-request:util uf + 'https://bootstrap.urbit.org/mainnet.azimuth-snapshot' + ?^ ask-load + =/ events=(list aqua-event) + :_ ~ + :* %event + her + /i/http-client/0v1n.2m9vh + %receive + num.u.ask-load + [%start [200 ~] `(as-octs:mimes:html (jam *versioned-state:dice)) &] + == + :* %pass /aqua-events + %agent [our %aqua] + %poke %aqua-events + !>(events) + == =/ ask (extract-request:util uf 'http://localhost:8545/') ?~ ask ~ @@ -279,13 +297,13 @@ ?(%earl %pawn) =/ spon=ship (^sein:title who) =/ cic - :: hard-code a valid comet key for convenience so we don't have to mine + :: use hard-coded comet keys so we don't have to mine :: - ?: =(who ~bosrym-podwyl-magnes-dacrys--pander-hablep-masrym-marbud) - %- nol:nu:cric:crypto - 0w9N.5uIvA.Jg0cx.NCD2R.o~MtZ.uEQOB.9uTbp.6LHvg.0yYTP. - 3q3td.T4UF0.d5sDL.JGpZq.S3A92.QUuWg.IHdw7.izyny.j9W92 - (pit:nu:cric:crypto 512 (shaz (jam who life=1 %entropy))) + ?~ cum=(~(get by comets:aqua-azimuth) who) + (pit:nu:cric:crypto 512 (shaz (jam who life=1 %entropy)) %b ~) + ?: ?=(%b suite.u.cum) + (pit:nu:cric:crypto 512 seed.u.cum %b ~) + (pit:nu:cric:crypto 512 seed.u.cum %c 0xdead.beef.cafe) =/ =feed:jael [[%2 ~] who 0 [1 sec:ex:cic] ~] =/ =pass pub:ex:cic @@ -309,11 +327,7 @@ =/ life-rift ~|([ship lives.state] (~(got by lives.state) ship)) =/ =life lyfe.life-rift =/ =rift rut.life-rift - =/ =pass - %^ pass-from-eth:azimuth - (as-octs:mimes:html (get-public ship life %crypt)) - (as-octs:mimes:html (get-public ship life %auth)) - 1 + =/ =pass pub:ex:(get-keys:aqua-azimuth ship life) :^ ship *[address address address address]:azimuth `[life=life pass rift spon-spon ~] @@ -327,7 +341,7 @@ =/ life-rift (~(got by lives.state) who) =/ =life lyfe.life-rift =/ =rift rut.life-rift - [[%2 ~] who rift [life sec:ex:(get-keys who life)]~] + [[%2 ~] who rift [life sec:ex:(get-keys:aqua-azimuth who life)]~] :* feed spon get-czars @@ -348,10 +362,7 @@ ~ %- some :^ who rut lyfe - %^ pass-from-eth:azimuth - (as-octs:mimes:html (get-public who lyfe %crypt)) - (as-octs:mimes:html (get-public who lyfe %auth)) - 1 + pub:ex:(get-keys:aqua-azimuth who lyfe) :: ++ spawn |= who=@p @@ -360,14 +371,9 @@ ?< (~(has by lives.state) who) =. lives.state (~(put by lives.state) who [1 0]) =. logs.state + =/ [cry=@ sgn=@] (get-public:aqua-azimuth who 1) %+ weld logs.state - :~ %- changed-keys:lo - :* who - (get-public who 1 %crypt) - (get-public who 1 %auth) - 1 - 1 - == + :~ (changed-keys:lo who cry sgn 1 1) == (spam-logs 10) :: @@ -379,14 +385,9 @@ =/ lyfe +(lyfe.prev) =. lives.state (~(put by lives.state) who [lyfe rut.prev]) =. logs.state + =/ [cry=@ sgn=@] (get-public:aqua-azimuth who lyfe) %+ weld logs.state - :_ ~ - %- changed-keys:lo - :* who - (get-public who lyfe %crypt) - (get-public who lyfe %auth) - 1 - lyfe + :~ (changed-keys:lo who cry sgn 1 lyfe) == (pure:m state) :: @@ -418,19 +419,6 @@ =. state new-state loop(n (dec n)) :: -++ get-keys - |= [who=@p lyfe=life] - %+ pit:nu:cric:crypto 32 - (can 5 [1 (scot %p who)] [1 (scot %ud lyfe)] ~) -:: -++ get-public - |= [who=@p lyfe=life typ=?(%auth %crypt)] - =/ bod (rsh 3 pub:ex:(get-keys who lyfe)) - =+ [enc=(rsh 8 bod) aut=(end 8 bod)] - ?: =(%auth typ) - aut - enc -:: :: Generate logs :: ++ lo diff --git a/pkg/arvo/ted/ph/hi-comet-az.hoon b/pkg/arvo/ted/ph/hi-comet-az.hoon index 9e4eb737b9..0d01079239 100644 --- a/pkg/arvo/ted/ph/hi-comet-az.hoon +++ b/pkg/arvo/ted/ph/hi-comet-az.hoon @@ -4,7 +4,7 @@ ^- thread:spider |= vase =/ m (strand ,vase) -=/ comet ~bosrym-podwyl-magnes-dacrys--pander-hablep-masrym-marbud +=/ comet ~harrep-podpec-torsut-docnyx--mopsyx-fosdus-ladpen-marbud ;< ~ bind:m start-azimuth ;< ~ bind:m (spawn ~bud) ;< ~ bind:m (init-ship ~bud |) diff --git a/pkg/base-dev/sur/aquarium.hoon b/pkg/base-dev/sur/aquarium.hoon index 27b022b456..03b6265ac4 100644 --- a/pkg/base-dev/sur/aquarium.hoon +++ b/pkg/base-dev/sur/aquarium.hoon @@ -73,6 +73,7 @@ +$ unix-effect %+ pair wire $% [%blit p=(list blit:dill)] + [%fief =fiefs-result:jael] [%send p=lane:ames q=@] [%doze p=(unit @da)] [%thus p=@ud q=(unit hiss:eyre)]