* lighter-than-eyre:
Actually have a 400 Bad Request page instead of reusing the 500 page incorrectly.
Changed the generator interface so a generator can redirect and set headers.
can't wake up
A %coup failure from gall should return a 500 to the client.
* lighter-than-eyre:
Actually scry for the +code and inject the code deterministically into the tests
Having the client unsubscribe should actually unsubscribe on the server
* master: (38 commits)
bumped ames protocol number
landscape 3f83c798bd61b7e6cef5c4e2f7c7f3ac89d4ec09
removed hard calls on json blobs
Support eth_getBlockByNumber Ethereum RPC call
added initial image support to udon parser (#1085)
Tiebout - Apple Push Notification Server App (#1084)
Implement +from-unix for turning timestamps into @da
Add support to `lens-command` for pill output and optimized base64 encoding. (#1068)
Point to the correct topics when decoding Azimuth events
Add trailing newlines
Use unit to disambiguate poll timer state
Lightly re-order ++watcher core, add comments
Implement ++peek so the app can by scried
Remove debug pokes
Implement %eth-watcher, an app for tracking Ethereum events
add control flow to |verb
Be accurate in incoming/hoon-side structures also
More accurately represent Ethereum RPC filter topics
also pin validate-x to now
pin to local time because using local desk
...
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.
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.
Instead of continuing to struggle with all the places in arvo where we
assume that vane names are one letter and that one letter is the first
letter of the full vane name, just use %l/lient and %r/rver for now to
finish the split of %light into a separate http client and server vane.