Added support to `lens-command` for outputting a pill. We want this so that we can create (solid and brass) pills from `urb.py`.
This also adds an optimized base64 encoding routine. The previous version of base64 stack overflowed on large inputs, and a tail-recursive version took hours to encode 5mb of data. This one uses the `ripn` jet and only takes a second or two.
Poke with [%watch %sometag config:eth-watcher] to initialize,
then subscribe at /sometag to receive updates in the shape of
[%snap snapshot:eth-watcher] for initial and on-reorg logs,
[%logs loglist] for logs as they happen.
Rather than a flat list of topics to watch for, it is an indexed list
of topics to watch for in those specific positions. As such, items in
that list may also be zero (null, matches any topic), or a list of
topics (matches any one of those topics).
Additionally, topics are always specified using 32 bytes, so there is
no need to specify length explicitly.
Removes the usage of ++need, and therefore any possibility of
accidentally crashing, by performing the check of unsupported numbers
before anything else.
Idea originally suggested by @philipcmonk
https://github.com/urbit/arvo/pull/1053#issuecomment-460814835
If the remainder is less than 100, use " and ", otherwise use ", ". This
is not only simpler, but corrects numbers like "one million, one" to be
"one million and one".
* hotfix:
ensures $~ defaults nest in the actual structure
behn: ignore duplicate %wait requests (#1043)
restores +able:dill comment margin
renames kernel upgrade initialization event from %vega to %lyra
refactors arvo's +spam:is, which sends a move to every vane
refactors effect iteration in arvo +poke
updates arvo/vanes to send/receive %vega kernel upgrade notification
build tank outside of |.