Commit Graph

286 Commits

Author SHA1 Message Date
Isaac Visintainer
2ad8264c52 Merge branch 'philip/gall-clear' 2020-04-02 15:32:43 -07:00
Fang
d1894cdbe6
zuse: allow empty segments in de-purl url parsing
RFC 2396 specifies that segments must be zero or more pchars.[1] We were
deviating from this by requiring at least one pchar per segment.

With this change, we support /some//path, and no longer lose the
trailing slash in /some/path/.

[1]: https://tools.ietf.org/html/rfc2396#section-3.3
2020-04-02 14:44:45 +02:00
Philip Monk
3f2a7b08a5
clay: add -merge except meet/mate/meld
-merge will replace |merge so that.  Once they reach feature parity and
%info is rewritten to forward to -commit, we can rip out about half of
clay.hoon
2020-03-25 20:54:19 -07:00
ixv
375cb9ba1b
Merge pull request #2591 from urbit/m/eth-abi-etyp
zuse: better ethereum abi data type
2020-03-24 15:02:17 -07:00
Fang
303b4b2756
zuse: better ethereum abi data type
Considering some of the options here were atoms, not cells, $% wasn't
appropriate, and led to *etyp:abi:ethereum resulting in ford %ride execution
failure. Simply using $? instead would result in a fish-loop, so here we split
the atom cases from the tagged union ones with a $@.
2020-03-23 12:43:40 +01:00
Fang
87dd953136
zuse: allow com in de-purl query parsing 2020-03-22 01:21:03 +01:00
Philip Monk
531630e93a
clay: add %park task and -commit
%park is a plumbing commit task.  It guarantees completion in a single
event, so you have to do much of the work before calling it.  -commit
is an example of how to do this.
2020-03-20 21:30:56 -07:00
Philip Monk
cf9ef764f1
gall: remove pending messages from breached ship
When a ship breaches, we remove all messages that have yet to be
delivered to an app (eg if it's not yet started).  We also add
|gall-sear to do this manually, but this shouldn't be needed in normal
operation.

Finally, to unblock ~zod and ~bus on mainnet, we sear one particular
ship automatically on loading hood.  It cannot be done manually because
no userpace changes can be made until it's unblocked.
2020-03-18 21:05:06 -07:00
lukechampine
225fee0258 zuse: split sivb keys at correct offset 2020-02-04 00:17:43 -05:00
Jared Tobin
47b1b0a9bd
Revert "zuse: allow non-trailing null bytes in to-wain:format"
This reverts commit db1b88b21b.

See discussion in #2195, #1755.
2020-01-29 14:53:09 +04:00
pkova
db1b88b21b zuse: allow non-trailing null bytes in to-wain:format 2020-01-25 20:54:49 +02:00
Fang
ae8a57ca25
gall: (list path) in %fact and %kick
Instead of providing a (unit path), allows for (list path), which better
supports the "update to path and subpath cases".

For example, if /things wants updates about everything, and
/things/specific wants updates about the specific thing, they'll both
need to receive a %fact when the specific thing changes.
Previously, these would have been two separate moves. Now, gall handles
the multi-targeting for you.
2019-12-23 13:37:32 +01:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Jared Tobin
eee651042c
Merge branch 'm/eth-sending' (#2094)
* origin/m/eth-sending:
  eth-sender: do proper nonce reading
  zuse: implement eth rlp decoding
  zuse: correctly encode leading zeroes in rlp data
  zuse: lightly restructure encode:rlp:ethereum
  static gall: update send-txs
  ethio: implement +request-batch-rpc-loose

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-19 11:20:06 -03:30
Philip Monk
3d30b3b73c
jael: only advance lifes
This matches the semantics of rifts and makes it more forgiving of
misordered updates.
2019-12-18 11:31:14 -03:30
Fang
1647d760d1
zuse: implement eth rlp decoding
Also updates existing tests to check both en- and decoding.
2019-12-14 21:39:54 +01:00
Fang
7755bc9718
zuse: correctly encode leading zeroes in rlp data 2019-12-14 21:25:20 +01:00
Fang
5c56cce6ea
zuse: lightly restructure encode:rlp:ethereum 2019-12-14 21:24:56 +01:00
Jared Tobin
aff97bf150
Merge branch 'm/eth-apps' (#2084)
* origin/m/eth-apps:
  claz: clean up head of app file
  static gall: update claz
  ethio: add +get-next-nonce
  zuse: update %eth-get-transaction-count
  zuse: include all relevant azimuth addresses
  ethio: implement +batch-read-contract-strict
  ethio: fail request-rpc more properly
  static gall: update gaze

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:27:04 +08:00
Ted Blackman
d77fb0f685
ames: add %sift to trace by ship 2019-12-12 15:55:32 +08:00
Fang
a16fbd20ae
zuse: update %eth-get-transaction-count
It apparently now requires a second argument indicating the block to get
the result at.
2019-12-11 17:32:33 +01:00
Fang
f5ea5a4401
zuse: include all relevant azimuth addresses 2019-12-11 17:11:47 +01:00
Jared Tobin
f23bbd1cec
Merge branch 'pkova/master' (#1991)
* pkova/master:
  zuse: implement json number to @rd parsing

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:38:57 +08:00
Jared Tobin
d310cb68bd
release: v0.10.0.rc-1
* Remove testnet configuration from %zuse
* Bump URBIT_VERSION
* Update Landscape builds
* Update all pills
2019-12-04 19:41:43 +08:00
Philip Monk
db083f82c7
jael: allowed skipped rifts 2019-12-03 14:16:05 -08:00
Philip Monk
34ece6fe5a
vere: cleanup 2019-12-02 23:19:36 -08:00
Philip Monk
c90107659b
Merge remote-tracking branch 'origin/rc-ames-verb' into rc 2019-12-02 20:22:04 -08:00
Ted Blackman
0cb6464e9d ames: %spew to set verbosity 2019-12-02 18:46:40 -05:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
pkova
133cbbb6ae zuse: implement json number to @rd parsing 2019-11-28 13:11:44 +02:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Philip Monk
2e8b468364
Merge commit 'ec855491' into philip/mall-real 2019-11-23 22:31:20 -08:00
Joe Bryan
3741e734cb dill: adds |pack and and friends 2019-11-22 17:24:42 -08:00
Fang
39a31f0846
zuse: add +name:title for (moon) identity 2019-11-22 13:01:23 +01:00
Philip Monk
9d47222139
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-21 19:07:28 -08:00
Jared Tobin
7fb918df53
zuse: fix outdated docs on vanes [ci skip]
The documentation on vanes in the header of zuse.hoon hadn't been
updated since before the introduction of %iris.
2019-11-21 16:52:59 +08:00
Philip Monk
b8903e9a6f
gall: fix ap-kill-down
This broke when %kick was handled by resubscribing on your own ship
because it processed the %kick before the %leave.  For example, `@t`404
at the dojo would put the dojo in an unworkable state.

You want the %leave to be processed first because you can't do a
"resubscribe" in response to that.
2019-11-20 13:24:19 -08:00
Ted Blackman
5770c6fe1c switch to ropsten and update pills 2019-11-19 23:52:28 -05:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
Philip Monk
6a406e6b29
gall: mall -> gall 2019-11-18 20:36:21 -08:00
Jared Tobin
c9c2e33f63 zuse, build: remove default testnet config
Returns the target %zuse contract configuration to mainnet, and also
tweaks the 'arvo-ropsten' build to use %alef instead of %ames.

Also fixes a merge conflict artifact in nix/ops/default.nix.
2019-11-15 19:26:43 +09:00
Philip Monk
607a2c0ac6
eyre: fix tests 2019-11-13 19:41:56 -08:00
Philip Monk
4a6e98a558
mall, eyre: refactor server apps to be stateless 2019-11-13 00:38:35 -08:00
Philip Monk
47e3b260d5
eyre: subscribe to apps for responses
This removes the %http-response special case from gall.  In its place,
we implement a subscription regime with the following steps:

- Agent sends %connect to Eyre
- Eyre pokes agent with %handle-http-response, including unique eyre-id
- Agent passes %start-watching to Eyre with eyre-id and unique app-id
- Eyre subscribes to agent on /http-response/app-id
- Agent produces a %http-response-header fact followed by 0 or more
  %http-response-data facts and possibly a %http-response-cancel fact
- Agent produces a %kick to close the subscription, which Eyre
  interprets as completion of the message.

This works when there is data.  There is currently a bug where if the
response has no data in total (as in the case of a naked 404), no
response will be sent.

This also includes lib/http-handler, which implements a convenient
interface for agents that want to respond immediately with all the data.
This lets them avoid carrying extra state to keep track of pending
requests.

This should really have access to your state and the ability to change
it.  Perhaps a more minimalist design would be better: just keep track
of the requests, then hand it off to +on-watch when eyre is ready to
receive responses.  It's not clear how to pass in the request data in
+on-watch.
2019-11-12 23:37:38 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
Philip Monk
47f24faaf8
mall: convert chat-cli 2019-11-08 19:32:21 -08:00
Philip Monk
7c4316fce4
mall: refactor gift/sign/task types
+on-agent now takes a +sign:agent:mall, which doesn't include spurious
options.  Similarly, +task:agent:mall is smaller.
2019-11-08 17:35:24 -08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Joe Bryan
1b187657cb gall: adds %goad task force agent rebuilds 2019-11-05 13:04:27 -08:00
Jared Tobin
3fac197ec1
Merge branch 'eth-watcher-2' (#1895)
* eth-watcher-2: (21 commits)
  eth: move existing chain requests into ethio
  eth-watcher: refactor refresh rate to top of file
  hook: add pool-group-hook for making invite groups
  ethio: add +read-contract for chain state reading
  zuse: add delegated-sending address
  eth: move eth-watcher's request-rpc into ethio lib
  gaze: make compile for latest eth-watcher
  drum: start eth-watcher on boot
  azimuth-tracker: remove deprecated generator
  eth: implement azimuth-tracker using eth-watcher
  eth-watcher: ensure logs always sent oldest-first
  eth-watcher: allow peers to unconfigured watchdogs
  eth-watcher: saner %watch behavior
  eth-watcher: implement %clear poke
  eth-watcher: store logs in state to implement peer
  eth-watcher: move types into /sur file
  eth-watcher: properly tag out-peer-data
  eth-watcher: single update timer loop
  eth-watcher: implement /block peek
  eth: turn azimuth-tracker into eth-watcher
  ...

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-05 17:11:19 +08:00
Philip Monk
274d518cbc
mall: forward-port gall changes 2019-11-04 20:19:08 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Ted Blackman
19c4bf7110 alef,gall: %clog notice and handling 2019-11-03 20:35:45 -05:00
Ted Blackman
9a02c64b45 Merge branch 'master' into alef-testnet-merge
Untested, has not been run.
Uses master pills for now.  Will need refreshing.
2019-11-02 23:37:01 -04:00
Fang
82e25e3940
zuse: add delegated-sending address 2019-11-01 18:09:45 +08:00
Ted Blackman
925489eba6 /sys: various merge fixes 2019-10-30 16:23:37 -04:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Philip Monk
9ddc04143a
jael: provide edge-triggered breach notification
Until now, clients of Jael have had to store the first-seen rift if they
want to reliably detect breaches.  Otherwise, they would get a false
positive if they heard an old message about a breach (eg if you kick
azimuth-tracker).  Clay and Gall did this correctly, but Ames did not.

Jael already maintains this state, so I added a notification to the
existing subscription that happens whenever it notices a breach (a diff
or full where the new rift is greater than the old one).

Because this is an issue on the live network, I wrote state adapters
for Gall and Clay.  The Gall one just removes the rift from our state,
but the Clay one is much more involved because we have to upgrade
instances of the clad monad that are possibly in progress.
Specifically, since more input is possible than before, we must wrap any
in-progress instances of the monad in a function that handles the
potential new input from Jael.  This temporarily preservers a copy of
the old kernel, but only until the current commit/merge/update has
completed.

The real solution for Clay is to factor out those IO-heavy instances to
userspace tapp/async/imp/threads, and if an upgrade happens in the
middle, you should simply restart them.

Fixes #1852
2019-10-23 21:40:34 -07:00
Philip Monk
9fc28a9538
mall: populate wex.bowl with outgoing subscriptions
fixes #1466
2019-09-30 20:53:12 -07:00
Logan Allen
166465af59
zuse: added path, tank, string utils to en/dejs 2019-09-30 01:31:46 +04:00
Jared Tobin
2add146302
Merge branch 'reclamation' (#1773)
* reclamation:
  solid pill
  arvo: wires up %trim memory-pressure event stubs
  u3: wires up the %trim event in the daemon
  u3: adds %trim memory-pressure notification "effect"
  u3: tweaks |mass output (and fixes inadvertent truncation)
  u3: refactors periodic memory reclamation
  u3: factors out u3a_idle() to measure free-lists in a road
  u3: adds and uses u3a_full/heap/temp road macros
  u3: cleans up whitespace, removes dead code in allocator
2019-09-29 21:30:56 +04:00
Joe Bryan
3dd9bd7111 arvo: wires up %trim memory-pressure event stubs 2019-09-27 13:02:11 -07:00
Ted Blackman
f2073dbc34 dill: set verbosity by error tag 2019-09-27 13:55:14 -04:00
Philip Monk
b79dead5f8
spider: convert example-fetch to imp 2019-09-27 10:40:22 -07:00
Philip Monk
34ab4c4e77
mall: convert aqua vane handlers to mall 2019-09-24 19:04:27 -07:00
Philip Monk
30f74368fb
mall: convert hall to mall 2019-09-23 20:46:59 -07:00
Philip Monk
fc9f17ae23
mall: convert talk to mall
also change !< to crash on failure
2019-09-23 15:44:48 -07:00
Philip Monk
839a822f71
mall: convert hood/dojo to refactored form 2019-09-12 15:01:55 -07:00
Philip Monk
fbf56e3033
mall: refactor and rename
remove bones, give agent arms long names, remove metavase use, general
cleanup
2019-09-11 21:02:49 -07:00
Philip Monk
abf4bc39cd
wip 2019-09-10 13:12:38 -07:00
Philip Monk
1ca4c72aa5
mall: make boot 2019-09-09 20:04:38 -07:00
Philip Monk
ca8c3e0910
mall: convert dojo to mall 2019-09-06 12:34:04 -07:00
Liam Fitzgerald
0fbedebfd0 zuse: fix comment parsing in de-xml:html 2019-09-06 13:04:11 +10:00
Philip Monk
2c5a478a84
mall: convert drum to mall 2019-09-05 20:01:31 -07:00
Philip Monk
f52e60bb09
mall: use +stay instead of explicit state 2019-09-04 14:20:47 -07:00
Philip Monk
bc1ba10a11
mall: compiles and runs app, but type hole 2019-09-04 12:49:16 -07:00
Liam Fitzgerald
4bc4d76064 zuse: added CDATA support to de-xml:html 2019-08-31 15:00:37 +10:00
Jared Tobin
0bd06fe210
Merge branch 'jt-gall-refactor' (#1668)
* jt-gall-refactor: (76 commits)
  gall: fix issue id in comment
  pills: update solid
  gall: handle foreign coup success
  gall: only print peek bad result if bad
  gall: add basic test harness
  pills: update solid, brass, ivory
  gall: fix obvious nest-failing tisdot
  gall: change '-state' to '-core' for +mo and +ap
  zuse, gall: deprecate 'club'
  zuse, gall, eyre: deprecate 'cush'
  zuse, gall, eyre, dojo: deprecate 'cuft'
  gall: remove slam-related printfs
  gall: remove deprecated 'mak' from 'agents'
  gall: use less vertical spacing throughout
  gall: add comment re: unpopulated wex
  gall: use less vertical separation when wuthepping
  gall: fix whitespace
  gall: don't define 'move' as a pair
  gall: don't give faces to tags
  gall: gut some unused stuff
  ...
2019-08-29 19:05:25 -02:30
Ted Blackman
ca00d89286 %lost ames gift and stub handlers in vanes 2019-08-27 20:12:56 -07:00
Ted Blackman
7a58bcd50e fix testnet config in zuse 2019-08-27 16:09:56 -07:00
Ted Blackman
0fc1675928 Merge branch 'master' into alef-testnet 2019-08-27 14:06:09 -07:00
Jared Tobin
2a802b5a30
Merge branch 'philip/fastboot' (#1663)
* philip/fastboot:
  dill, helm: add lite boot option with -l
2019-08-27 08:00:49 -02:30
Philip Monk
a25b082e04
dill, helm: add lite boot option with -l 2019-08-26 11:04:24 -07:00
Philip Monk
e2f18afe0a
zuse: make of-wain:format use linear space 2019-08-24 22:50:36 -07:00
Philip Monk
ec9eedd50f
ph: clean up card structures 2019-08-22 15:33:52 -07:00
Philip Monk
212b5879fd
dawn.c: produce full sponsor chain keys 2019-08-22 14:16:26 -07:00
Jared Tobin
2b04b43262
zuse, gall: deprecate 'club'
Replaces with 'agent-action'.
2019-08-22 12:33:24 -02:30
Jared Tobin
38efc5e902
zuse, gall, eyre: deprecate 'cush'
Replaces with 'internal-task'.
2019-08-22 12:33:24 -02:30
Jared Tobin
ef99074304
zuse, gall, eyre, dojo: deprecate 'cuft'
Replaces it with the more informative name 'internal-gift'.
2019-08-22 12:33:24 -02:30
Jared Tobin
b3365693e0
zuse, gall: simplify +task, fix %conf in %gall 2019-08-22 12:14:05 -02:30
Jared Tobin
1fe4ff1605
zuse: remove superfluous 'scup' and 'culm' types
%zuse includes definitions for 'scup' and 'culm', both of which are
superfluous.  'scup' is simply (pair ship desk) and is used only in the
definition of 'culm', a tagged union in which three of the four branches
are commented out (i.e. are unused).

This commit deletes 'scup' and 'culm' and refactors what little code
made use of them.
2019-08-22 12:09:44 -02:30
Ted Blackman
0686429f95 Merge remote-tracking branch 'origin/philip/jael-fix' into alef-testnet 2019-08-20 16:52:04 -07:00
Philip Monk
2c2ef195a7
add sponsorship chain keys to %dawn event 2019-08-20 16:41:50 -07:00
Ted Blackman
fc9104cb47 Merge branch 'master' into alef-testnet (might not work) 2019-08-19 14:43:39 -07:00
Ted Blackman
370213bb65 add gall %wash to clear caches 2019-08-10 14:24:31 -07:00
Philip Monk
bd36e61b22
Merge remote-tracking branch 'origin/master' into philip/kale 2019-08-08 14:51:14 -07:00
Ted Blackman
ea2a3b0f67 Merge branch 'philip/kale' into alef-testnet and fix printing 2019-08-07 21:57:04 -07:00
Philip Monk
c453450d9c
add |moon, |moon-cycle-keys, and |moon-breach 2019-08-07 17:59:01 -07:00
Philip Monk
eed4c6a236
add rekey to jael 2019-08-07 15:15:25 -07:00
Philip Monk
6eb4d9389d
remove snapshot scaffolding 2019-08-07 13:54:47 -07:00
Philip Monk
900e7fc12c
review fixes 2019-08-07 13:44:41 -07:00
Philip Monk
6212422015
kale -> jael 2019-08-06 15:42:37 -07:00
Elliot Glaysher
68d9acae55 Fix capped queues to not crash when the size is set to 0. 2019-08-06 14:59:33 -07:00
Philip Monk
4ddd08890c
switch back to mainnet 2019-08-06 11:18:45 -07:00
Philip Monk
f38d913ddb
fix +moon 2019-08-02 11:24:20 -07:00
Ted Blackman
1d62f1eecc Merge branch 'philip/kale' into alef-testnet 2019-08-01 15:56:23 -07:00
Ted Blackman
d22490facb
testnet config 2019-08-01 11:45:15 -07:00
Philip Monk
54a3031397
add keys to sponsor in preboot validation 2019-08-01 11:14:36 -07:00
Ted Blackman
c578d3282a testnet config 2019-07-31 13:55:05 -07:00
Philip Monk
578d14bfea
implement kale hierarchy 2019-07-30 16:26:47 -07:00
Philip Monk
577a01503b
change preboot stuff to include rift 2019-07-30 13:28:57 -07:00
Philip Monk
e39a2c0467
all breach tests pass 2019-07-29 15:09:08 -07:00
Ted Blackman
14dba1d4ac all tests pass 2019-07-29 04:05:52 -07:00
Ted Blackman
9670408a06 Merge branch 'master' into alef-breach 2019-07-29 00:27:58 -07:00
Ted Blackman
5b0ee61a64 Boots without error and sends and receives talk messages 2019-07-28 23:37:49 -07:00
Ted Blackman
fdb20a7528 %plea and %boon; might not compile 2019-07-28 00:50:32 -07:00
Philip Monk
efd37a1e3c
simplify kale/azimuth-tracker subscription semantics 2019-07-27 21:01:55 -07:00
Philip Monk
dd76358f6a
%breach-hi works with kale 2019-07-26 20:45:45 -07:00
Ted Blackman
6c22beea8c Merge branch 'master' into alef-breach 2019-07-22 11:46:40 -07:00
Philip Monk
93a4160a35
Merge remote-tracking branch 'origin/v0.8.0.rc' into philip/kale 2019-07-22 10:39:15 -07:00
Philip Monk
994472ece1
azimuth-tracker sends to kale 2019-07-18 17:08:01 -07:00
Philip Monk
408b72b68e
fixed up kale 2019-07-18 15:26:15 -07:00
Ted Blackman
793fc5c213 all vanes compile, at least individually 2019-07-15 14:23:34 -07:00
Ted Blackman
56598ee856 zuse, alef, and kale compile 2019-07-15 13:17:27 -07:00
Ted Blackman
1ad2712870 Merge branch 'alef' into alef2 2019-07-11 14:26:22 -07:00
Philip Monk
e08fc7ebc7
Merge commit '9d2cea79' into philip/kale 2019-07-05 13:26:40 -07:00
Philip Monk
20b357bf07
azimuth-tracker 2019-07-04 18:15:53 -07:00
Joe Bryan
32e5bd9e73 removes unused (list host) from %eyre %born 2019-07-04 00:15:23 -07:00
Joe Bryan
27da0d61d8 renames +http-client interface core to +iris 2019-07-03 23:52:22 -07:00
Joe Bryan
e0f17b0ff1 moves +http-server interface core into +eyre 2019-07-03 23:29:13 -07:00
Joe Bryan
62522f87c1 renames %lient to %iris 2019-07-03 17:08:23 -07:00
Joe Bryan
f31b12c964 renames %rver to %eyre 2019-07-03 16:02:49 -07:00
Ted Blackman
3a1a3e30cc gall compiles 2019-06-28 18:13:32 -07:00
Ted Blackman
889c300092 clay, alef, and zuse compile 2019-06-28 16:43:52 -07:00
Ted Blackman
99134ef5b9 zuse compiles 2019-06-28 15:27:59 -07:00
Jared Tobin
b3901ab42f Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8'
git-subtree-dir: pkg/arvo
git-subtree-mainline: 9c8f40bf6c
git-subtree-split: c20e2a185f
2019-06-28 12:48:05 +08:00