From 40ee7701743b3bfd537d97225a91aae46823de4d Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 7 Mar 2024 21:14:37 +0100 Subject: [PATCH] ted: add moon thread for setting up a new moon General setup cribbed from the |moon generator. This achieves the same, but in a thread, and produces a [@p (unit @uw)] result instead of just printing it into the slogs. --- desk/ted/moon.hoon | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 desk/ted/moon.hoon diff --git a/desk/ted/moon.hoon b/desk/ted/moon.hoon new file mode 100644 index 0000000000..1bf5fdd323 --- /dev/null +++ b/desk/ted/moon.hoon @@ -0,0 +1,30 @@ +/- spider +/+ strandio +=, strand=strand:spider +^- thread:spider +|= arg=vase +=/ m (strand ,vase) +^- form:m +=+ !<(arg=?(~ [~ ?(mon=@p [mon=@p =pass])]) arg) +;< =bowl:spider bind:m get-bowl:strandio +=/ mon=ship + ?^ arg + ?@(+.arg mon.arg mon.arg) + (add our.bowl (lsh 5 (end 5 (shaz eny.bowl)))) +=/ seg=ship (sein:title our.bowl now.bowl mon) +?. =(our.bowl seg) + %+ strand-fail:strand %not-our-moon + :_ ~ + :- %leaf + "can't create keys for {(scow %p mon)}, which belongs to {(scow %p seg)}" +=/ [seed=(unit seed:jael) =pass] + ~! arg + ?: ?=([~ @ @] arg) + [~ pass.arg] + =/ cub (pit:nu:crub:crypto 512 (shaz (jam mon life=1 eny.bowl))) + :- `[mon 1 sec:ex:cub ~] + pub:ex:cub +;< ~ bind:m + %- send-raw-card:strandio + [%pass /ted/moon %arvo %j %moon mon *id:block:jael %keys [1 1 pass] %.n] +(pure:m !>([mon `(unit @uw)`(bind seed jam)]))