Make sure filter id actually persists.
++ delta
$? diff-constitution
$% [%checking who=@p part=(unit hull)]
+ [%filter id=@ud]
== ==
::
::
|= [b=bone s=ship p=path]
^- (unit move)
?. ?=([%state *] p) ~
- ?: ?=(%checking -.det) ~
+ ?: ?=(?(%checking %filter) -.det) ~
`[b %diff %constitution-diff det]
::
++ ta
?: ?=(%error -.rep)
~& [%filter-error--retrying message.rep]
ta-new-filter
- =. filter (parse-eth-new-filter-res res.rep)
- ta-read-filter
+ =+ fit=(parse-eth-new-filter-res res.rep)
+ =. +>.$ (ta-change %filter fit)
+ ta-read-filter(filter fit)
::
++ ta-take-filter-results
|= rep=response:json-rpc
%dns (da-change-dns +.det)
%heard (da-add-heard +.det)
%checking (da-change-checking +.det)
+ %filter (da-change-filter +.det)
==
::
++ da-change-hull
=- +>.$(checking -)
?~ tmp (~(del by checking) who)
(~(put by checking) who u.tmp)
+ ::
+ ++ da-change-filter
+ |= id=@ud
+ +>(filter id)
--
::
++ hull-from-eth
