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)]))