Commit Graph

572 Commits

Author SHA1 Message Date
Fang
b482249712
ethio: implement +request-batch-rpc-loose
Produces batch request results regardless of node-side error.

Reimplements +request-batch-rpc-strict using it.
2019-12-13 23:30:52 +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
Jared Tobin
9ba4505086
Merge branch 'ames-sift' (#2081)
* ames-sift:
  ames: refactor +load
  ames: +send-blob better ship printing
  hood: |ames-sift generator to trace by ship
  ames: add %sift  to trace by ship

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:06:32 +08:00
Ted Blackman
c500e03b81
hood: |ames-sift generator to trace by ship 2019-12-12 15:55:36 +08:00
Fang
25d390d6b1
server: properly defined request-line type 2019-12-11 20:49:49 +01:00
Fang
a95449cc64
link: social bookmarking core implementation
Stores URLs and their titles for the local ship. Can listen to
"submissions" on foreign ships.

Has a primitive perspective on groups, treating them as
always-interesting. Auto-subscribes to all ships in all groups.

Foreign communications untested.
2019-12-11 20:49:49 +01:00
Fang
fab9097110
static gall: update claz
Largely one-to-one port feature-wise.

Support for document polls was added.

Command preparation and verification got split out into
/ted/claz/prep-command, and got a dedicated +prep-result type to
facilitate future support for more complex preparation steps.
2019-12-11 17:32:33 +01:00
Fang
965529525b
ethio: add +get-next-nonce 2019-12-11 17:32:33 +01:00
Fang
9a708fb8f8
ethio: implement +batch-read-contract-strict
And re-implement +read-contract to use that under the hood.
2019-12-11 17:11:47 +01:00
Fang
abe92e289a
ethio: fail request-rpc more properly
strand-fail instead of crashing.
2019-12-11 17:11:47 +01:00
Jared Tobin
3f50a11e48
Merge branch 'philip/drum' (#2063)
* origin/philip/drum:
  drum: revert tang ordering change

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-10 16:26:49 +08:00
Philip Monk
5ff9e04204
drum: revert tang ordering change
Turns out this wasn't a regression, it was intended behavior.  I
continue to believe it's the wrong behavior, but that will require a
longer discussion.
2019-12-09 11:47:48 -08:00
Jared Tobin
74c3ad619a
Merge branch 'decommission' (#2051)
* origin/decommission:
  ames: remove last remnants of |nuke

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 17:02:55 +08:00
Jared Tobin
31f20c30c6
Merge branch 'philip/ew-printfs' (#2050)
* origin/philip/ew-printfs:
  eth-watcher: silence printfs

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 17:01:01 +08:00
Jared Tobin
27b5ded1d2
Merge branch 'm/chat-eval' (#2009)
* m/chat-eval:
  chat: include .^ paths in its eval failure case
  chat: improve eval implementation

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:48:42 +08:00
Joe Bryan
a0d2d41d0c ames: remove last remnants of |nuke 2019-12-06 11:46:55 -08:00
Philip Monk
2d9a043e6f
eth-watcher: silence printfs 2019-12-06 11:19:05 -08:00
Jared Tobin
0bad1401f0
Merge branch 'philip/drum-order' (#2035)
* philip/drum-order:
  drum: print tangs in order

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:20:53 +08:00
Jared Tobin
3fc349d995
Merge branch 'philip/eth-watcher-silence' (#2022)
* philip/eth-watcher-silence:
  eth-watcher: be quieter about parse errors

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:10:12 +08:00
Philip Monk
ddbfb53b28
drum: print tangs in order 2019-12-05 11:58:55 -08:00
Jared Tobin
2391090b56
Merge branch 'philip/boot-order' (#2023)
* philip/boot-order:
  drum: boot to dojo and start acme

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:45:25 +08:00
Philip Monk
7d2f789696
drum: boot to dojo and start acme 2019-12-04 18:32:28 -08:00
Philip Monk
b51eda4f1e
eth-watcher: be quieter about parse errors 2019-12-04 17:58:00 -08:00
Liam Fitzgerald
bcd94868cb Merge branch 'master' into tab-complete-chat 2019-12-05 08:40:41 +10:00
Philip Monk
51f9b2e269
aqua: make faster so moon-az can finish 2019-12-03 23:53:42 -08:00
Philip Monk
702dd2c07a
verb: add +verb %bowl to print bowl on every event 2019-12-03 15:05:42 -08:00
Philip Monk
9fa772a342
clay: don't make |cancel require argument 2019-12-03 14:46:39 -08:00
Philip Monk
c90107659b
Merge remote-tracking branch 'origin/rc-ames-verb' into rc 2019-12-02 20:22:04 -08:00
Fang
bf6658c9ca
chat: include .^ paths in its eval failure case
Also updates the top-level message to avoid problematic terminology.
2019-12-03 01:20:34 +01:00
Ted Blackman
41e7e16689 |ames-verb generator to set verbosity 2019-12-02 18:54:01 -05:00
Fang
febe9470e6
chat: improve eval implementation
Previous implementation was doing double virtualization, which gave issues
around scries. By reimplementing with mint and mock, we get to catch all
possible failure cases and produce an appropriate output for each.
2019-12-03 00:29:19 +01:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
Philip Monk
82c4895e32
helm: reset and reload in correct order 2019-11-30 21:54:54 -08:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
Philip Monk
c7c42225e2
Merge commit 'fbc81b59'; remote-tracking branch 'origin/mp-chat-redesign' into rc 2019-11-30 16:17:28 -08:00
Philip Monk
74b0f66850
ames: continue processing memos after %done 2019-11-27 15:13:17 -08:00
Fang
fb67eef417
ethio: support batch requests
Implements +request-batch-rpc-strict.
Only succeeds if all requests in the batch succeed.

Re-implements +request-rpc as a batch with one request.
2019-11-27 23:50:37 +01:00
Philip Monk
7ddd1225e0
hood: link chat-cli on startup 2019-11-27 01:21:16 -08:00
Philip Monk
f035955a36
ames: rename alef -> ames 2019-11-27 00:46:02 -08:00
Liam Fitzgerald
2ef42ba3de language-server: genericise searching gates
genericise searching gates, as we are not always searching against
a [term type]. e.g. chat-cli autocomplete
2019-11-27 18:10:22 +10:00
Philip Monk
2e9abe18ad
drum: restore startup apps 2019-11-26 23:08:42 -08:00
Philip Monk
4a0c5be2ba
Merge remote-tracking branch 'origin/la-convert' into philip/mall-real 2019-11-26 22:56:33 -08:00
Logan Allen
8b63aeb865 chat-store: added in chat-history changes 2019-11-26 12:50:36 -08:00
Philip Monk
b658f11c42
dns: reduce to simpler threads 2019-11-25 21:54:46 -08:00
Matilde Park
be4b479660 soto: amend tab sole-effect json and handler
The behaviour of $tab sole-effects lacked a 'tab' key, so Soto wasn't
catching or writing them to the screen. This commit amends both the
handler and the sole-effect to fix that behaviour.
2019-11-25 19:38:07 -05:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Joe Bryan
3741e734cb dill: adds |pack and and friends 2019-11-22 17:24:42 -08:00
Isaac Visintainer
51d61e4d49 static gall: convert soto 2019-11-22 12:57:58 -08:00
Isaac Visintainer
dc3aa348a0 static gall: convert publish 2019-11-22 12:57:58 -08:00
Philip Monk
f8b612d053
ph: add ph-all to run multiple tests 2019-11-22 12:46:30 -08:00
Philip Monk
9d47222139
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-21 19:07:28 -08:00
Philip Monk
9f89c8b8bc
drum: fully unlink 2019-11-20 14:26:13 -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
Philip Monk
1d1119c1f3
drum: unsubscribe on poke-ack failure 2019-11-20 12:12:33 -08:00
Ted Blackman
39144ee977 drum: fix nest-fail 2019-11-20 01:45:44 -05:00
Ted Blackman
7eeea1f25b drum: add %spider to default apps 2019-11-20 01:36:36 -05:00
Jared Tobin
5258579ee2
Merge branch 'matilde/soto' (#1952)
* origin/matilde/soto:
  soto: style changes
  interface: add soto source code
  drum: Boot with %soto
  arvo: adds soto application
  mar/sole: add %tab conversion

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-20 13:15:42 +08: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
Philip Monk
9862dccc0e
mall: age -> app 2019-11-18 19:28:59 -08:00
Jared Tobin
053c784de6
Merge branch 'chat-history' (#1948)
* chat-history:
  chat: added temporary chat-two-update mark with new %messages type
  chat: oust correctness fix and js style fix
  chat-store: factored out functions used in both message and messages
  chat: style fixes
  chat: fixes to cli parser and increased page size in hook
  chat-js: updated to support %messages events
  sur: added rw-security to replace chat-security
  chat: add history functionality. optionally request backlog.

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-19 10:47:40 +08:00
Philip Monk
7837d51aba
spider: rename thread -> strand, imp -> thread 2019-11-16 04:07:09 -08:00
Liam Fitzgerald
87da55073e language-server: fix cord reverse 2019-11-16 11:48:25 +10:00
Liam Fitzgerald
f299bf9d2c language-server: use modern tisfas syntax 2019-11-16 11:46:17 +10:00
Philip Monk
c1b0bd63e4
spider: don't pass in initial bowl 2019-11-15 17:37:20 -08:00
Logan Allen
8421e236df chat: added temporary chat-two-update mark with new %messages type 2019-11-15 15:27:50 -08:00
Philip Monk
fc28e6e378
ph: make breach-sync pass 2019-11-15 12:46:11 -08:00
Liam Fitzgerald
b0c5b7b0fe language-server: add function signature on hover
Add function signature on hover. Fixes bug around autocomplete
not working properly when the cursor was mid-word.
2019-11-15 11:17:00 +10:00
Matilde Park
8fb13e4f99 soto: style changes
This commit amends the Soto application with style changes
requested during code review, including structuring the mark
conversion as a library.
2019-11-14 20:06:11 -05:00
Philip Monk
9ace7ff590
ph: make breach-hi pass 2019-11-14 16:39:28 -08:00
Philip Monk
4cb821de11
ph: get boot-az working 2019-11-14 13:31:55 -08:00
Logan Allen
dcde20c86c sur: added rw-security to replace chat-security 2019-11-14 10:42:55 -08:00
Logan Allen
9cacb12dbc chat: add history functionality. optionally request backlog. 2019-11-14 10:42:52 -08:00
Matilde Park
86e99c998c drum: Boot with %soto
Adds %soto to default application pool, so it shows up in Landscape
for fresh ships.
2019-11-14 13:40:05 -05:00
Philip Monk
32ea09caf2
mall: remove old hood libraries 2019-11-14 10:39:50 -08:00
Philip Monk
881517c872
mall: fix tests 2019-11-13 20:45:12 -08:00
Philip Monk
adc54531fc
mall: autostart lens 2019-11-13 17:26:29 -08:00
Philip Monk
cd3308d8d9
mall: convert lens 2019-11-13 16:20:24 -08:00
Philip Monk
4a6e98a558
mall, eyre: refactor server apps to be stateless 2019-11-13 00:38:35 -08:00
Philip Monk
1d1e9c0e16
eyre: better userspace libraries 2019-11-12 23:37:38 -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
54d55b69e4
mall: fix ph 2019-11-12 21:03:21 -08:00
Philip Monk
1caa30d812
mall: convert eth-watcher to mall/imp 2019-11-11 21:36:32 -08:00
Philip Monk
5c1d68bf44
spider: add process tree 2019-11-09 23:27:07 -08:00
Philip Monk
ab8ac96702
spider: allow arguments and return values 2019-11-09 19:09:02 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
Philip Monk
1c8bddfb15
mall: ci 2019-11-08 19:52:18 -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
aba0811b1d
mall: add lib/verb 2019-11-08 15:18:29 -08:00
Philip Monk
1688fe82fd
mall: add flag to default-agent to assist with errors 2019-11-08 13:56:35 -08:00
Philip Monk
4ef1278cfa
mall: add lib/skeleton 2019-11-08 13:18:27 -08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Jared Tobin
3ec88f9bb1
Merge branch 'goad-gall' (#1915)
* goad-gall:
  updates solid pill
  dill: fixes cursor position during boot
  dill: adds %goad automation
  dill: refactors move production
  goad: adds app to unblock :hood if necessary
  hood: adds |goad-gall generator
  gall: restores "not-running" printf
  gall: adds %goad task force agent rebuilds

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 17:29:45 +08:00
Jared Tobin
0e6542afd5
Merge branch 'philip/language-server' (#1910)
* philip/language-server:
  language-server: address review comments
  language-server: fix rune typos
  language-server: multiple files and ford
  language-server: namespace libraries
  language-server: cleanup and incremental text sync
  language-server: initial commit

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 16:12:26 +08:00
Jared Tobin
144445beb1
Merge branch 'invite-app' (#1901)
* origin/invite-app:
  chat-hook: upgrade from old state and perform invitatory creation and subscription
  invite-hook: crash upon invalid invite received
  changed invite peek interface to /:path/:uid
  invite: add comments and clean up
  chat-js: added invite functionality
  chat-hook: added invite functionality
  app: added invite app and mark converters to JSON

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 15:47:05 +08:00
Philip Monk
65f5b95146
spider: convert dns 2019-11-05 23:28:20 -08:00
Philip Monk
9f0b1f9ae9
language-server: forward port changes to static gall 2019-11-05 20:33:11 -08:00
Philip Monk
545fe25cd2
language-server: address review comments 2019-11-05 20:26:33 -08:00
Philip Monk
7448432707
drum: don't print stack trace on phat reap 2019-11-05 20:05:31 -08:00
Joe Bryan
c26d547625 hood: adds |goad-gall generator 2019-11-05 13:04:27 -08:00
Philip Monk
faf3741b41
mall: convert chat-store 2019-11-05 11:30:58 -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
0e2da1e130
mall: convert lanaguage-server 2019-11-04 23:47:27 -08:00
Philip Monk
189f6cc955
language-server: fix rune typos 2019-11-04 23:46:46 -08:00
Philip Monk
aea2a76363
Merge branch 'philip/language-server' into philip/mall-real 2019-11-04 21:44:17 -08:00
Philip Monk
0638d23840
mall: forward port userspace changes 2019-11-04 21:35:42 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Philip Monk
0713d3d38c
language-server: multiple files and ford
Handle multiple files by keeping a map of text buffers.  Also use the
Ford parser so we can parse ford runes.  At some point we should load in
libraries when that happens so we have the appropriate types.

This corresponds to hoon-language-server 0.1.1
2019-11-04 18:18:36 -08:00
Fang
8c452ef61f
Merge branch 'eth-watcher-2' into pool-group-hook 2019-11-04 20:52:29 +01:00
Fang
5c6c75c7ea
eth: move existing chain requests into ethio
To avoid reimplementing these (on top of ethio) every time. This seems
like a good place to centralize chain request logic going forward.
2019-11-04 18:59:30 +01:00
Philip Monk
8fe859ad49
language-server: namespace libraries 2019-11-03 21:54:04 -08:00
Philip Monk
647c0ddf8b
language-server: cleanup and incremental text sync 2019-11-03 21:46:15 -08:00
Philip Monk
da71dac4ab
language-server: initial commit
A simple language server engine, for use with hoonls.py, which presents
the RPC interface expected by editors.  Features:

- Syntax error detection
- Rune snippets
- Autocomplete
2019-11-03 21:42:35 -08:00
Jared Tobin
988b3a4785
Merge branch 'philip/tab-complete' (#1899)
* philip/tab-complete:
  auto: gain and lose types on ?:
  auto: handle tab in middle of symbol
  auto: support forks
  auto: support autocomplete inside wings
  auto: fix some crashes on strange wet gates
  auto: support multiline tab completion
  auto: don't look in context of non-gold cores
  easy-print: don't crash if type-check crashes
  dojo, drum: change %tab sole-effect to use tanks
  dojo, auto: move insert-magic logic to lib/auto
  dojo, drum: give tab completion as true output
  dojo: add a better function printer
  dojo: add tab completion

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-03 22:09:55 +08: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
Philip Monk
ec3ab084c7
auto: gain and lose types on ?: 2019-11-01 18:02:20 -07:00
Logan Allen
d7eb005ae8 invite: add comments and clean up 2019-11-01 14:04:50 -07:00
Logan Allen
656f264f96 app: added invite app and mark converters to JSON 2019-11-01 14:04:50 -07:00
Jared Tobin
f30e1d9993
Merge branch 'remove-hall'
* remove-hall:
  apps: remove %hall and %talk

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-01 18:11:30 +08:00
Fang
e402cbc550
ethio: add +read-contract for chain state reading 2019-11-01 18:09:50 +08:00
Philip Monk
ce6efe0a6a
auto: handle tab in middle of symbol 2019-11-01 00:18:34 -07:00
Philip Monk
ad4f0c3ea3
auto: support forks 2019-10-31 23:21:10 -07:00
Philip Monk
1fe453ee93
auto: support autocomplete inside wings 2019-10-31 22:43:50 -07:00
Philip Monk
0014d1cf2b
auto: fix some crashes on strange wet gates 2019-10-31 21:37:24 -07:00
Philip Monk
f3626e17e6
auto: support multiline tab completion 2019-10-31 20:54:00 -07:00
Philip Monk
e4a89b072c
auto: don't look in context of non-gold cores 2019-10-31 16:38:47 -07:00
Philip Monk
8e66d84c83
easy-print: don't crash if type-check crashes
also don't render all the types if there's more than 10.
2019-10-31 15:53:43 -07:00
Philip Monk
9487481128
dojo, drum: change %tab sole-effect to use tanks
It should be general-purpose for tab-completing things in other apps,
types are inappropriate.
2019-10-31 15:14:41 -07:00
Philip Monk
ee63e122ea
dojo, auto: move insert-magic logic to lib/auto
This changes the entry-points in lib/auto so that clients never have to
handle magic-spoon.  You can specify either a tape of code with a
position index or a preparsed hoon (presumably you ran +insert-magic
before parsing).
2019-10-31 14:56:54 -07:00
Philip Monk
4482997a16
dojo, drum: give tab completion as true output
This stops slogging the tab completion and intead adds a +sole-effect
for tab completion output.  This is morally correct, and it lets dojo
clients show tab completions how they want.  For example, web dojo could
implement this as a drop-down box.

Another advantage is that this puts the rendering logic in drum, which
knows the width of the terminal.  Thus, we can make sure each match
takes no more than one line by truncating with ellipses.  If there's
only one match and it's already fully typed, then we display the whole
type.
2019-10-31 14:36:14 -07:00
Philip Monk
4d0e77a6b2
dojo: add a better function printer
It's useful to know what a function takes and produces, so this changes the autocomplete type prettyprinter to emphasize those.  This also gives a nice syntax for molds.  Examples:

```
-----
add  {a/@ b/@} -> @
~zod:dojo> add
-----
term  * -> @tas
~zod:dojo> term
-----
sign-transaction  {tx/{nonce/@ud gas-price/@ud gas/@ud to/@ux value/@ud data/@ux chain-id/@ux} pk/@} -> @ux
~zod:dojo> sign-transaction🔑ethereum
-----
wind  {a/(* -> *) b/(* -> *)} -> * -> ?({$give p/*} {$pass p// q/*} {$slip p/*})
~zod:dojo> wind
```
2019-10-31 13:56:20 -07:00
Fang
848805e007
eth: move eth-watcher's request-rpc into ethio lib
Once this is more fully featured, /app/claz could be refactored with it.
2019-10-31 15:54:56 +01:00
Philip Monk
76b917f426
dojo: add tab completion
This is initial support for type-aware tab completion.  When you hit tab, it tries to complete the word you're in the middle of using a face or arm in the subject at that point in the code.  It also shows all possible matches and their associated types.  It's nearly instantaneous.  Notes:

- It advances to the longest common prefix, so if you hit tab on `ab` and the only possible results are `abcde` and `abcdz`, then it'll write `abcd` and print both out (with their types).

- If there are fewer than ten matches, it prints the type along with the face.  Printing types is too slow to use all the time, but with 10 it's essentially instantaneous.

- The match closest in the subject to you (i.e. smallest axis number) is displayed lowest (closest to your focus).

Examples below, where `<TAB>` represents me hitting tab while my cursor is at that position (the line with the `<TAB>` is not preserved in the actual output).

```
~zod:dojo> eth<TAB>
-----
ethereum        #t/<11.qcl {<3.ltb 27.ipf 7.ecf 36.uek 92.bjk 247.ows 51.mvt 126.xjf 41.mac 1.ane $141> <21.yeb 27.ipf 7.ecf 36.uek 92.bjk 247.ows 51.mvt 126.xjf 41.mac 1.ane $141>}>
ethereum-types  #t/<3.ltb 27.ipf 7.ecf 36.uek 92.bjk 247.ows 51.mvt 126.xjf 41.mac 1.ane $141>
~zod:dojo> ethereum
~zod:dojo> |=  zong=@ud  z<TAB>
-----
zing  #t/<1.dqs {* <126.xjf 41.mac 1.ane $141>}>
zap   #t/<1.iot {tub/{p/{p/@ud q/@ud} q/""} <1.rff {daf/@t <247.ows 51.mvt 126.xjf 41.mac 1.ane $141>}>}>
zuse  #t/$309
zong  #t/@ud
~zod:dojo> |=  zong=@ud  zo<TAB>
-----
zong  #t/@ud
~zod:dojo> |=  zong=@ud  zong
~zod:dojo> <TAB>
hoon-version
trel
quip
pole
unit
qual
lone
... about 600 more lines ...
unity
html
zuse
eny
now
our
~zod:dojo>
```

Functionally, this is in a state where I'd be comfortable shipping it.  It doesn't interfere with anything if you don't press tab, and it's perfectly OTA-able.  I do think its output is a little verbose, but that can be tuned over time as people try it and determine what feels good in practice.

Additional notes:

- There are plenty of similar systems for other languages, but my most direct inspiration is Idris's editor tools.  This is implemented for the dojo, but I actually want it in my editor, which is why the meat is all defind in a library.  I've only tested on dojo one-liners, so I don't know the performance on large blocks of code.

- The default type printer isn't great for this use case.  In particular,
	- Cores should not print anything about their context
  - The `#t/` should go away
  - If it looks like a gate, we should print its return value
  - Maybe special handling for molds, but if the above is done, then for example `bone` is  `* -> @ud`.

- The worst part about our wing ordering is that it really screws up tab completion.  You want to do `point.owner-address` instead of `owner-address.point` because that lets you type `point.ow<TAB>`.  I weakly prefer reading it how we do it now, but it's really not great.  You could do an (dojo-specific?) alternate syntax of `point;owner-address`; this is a simple transformation.

- Regardless of the above, this should handle the case where we're in the middle of defining a wing; it doesn't right now.

- When a variable is shadowed, we show both of them.  We should probably show the shadowed one with a `^`.

- We probably shouldn't print out hundreds of results.  Maybe just the closest 50 with ellipses.

- This gets you any face in your subject, regardless of whether its type is reasonable.  We could limit that some by copying the `gol` logic in mint, so that if the pseudo-backward-inference engine happens to know what type it should be, you can filter the tab results according to if they nest in that type.  This would be "strongly type-aware".
2019-10-30 23:19:25 -07:00
Joe Bryan
aba3ea8055 dns: sends notifications directly to %dill (and adds tapp support) 2019-10-30 15:14:54 -07:00
Logan Allen
c660a79332 apps: remove %hall and %talk 2019-10-30 13:52:19 -07:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Fang
522f598770
drum: start eth-watcher on boot
Alongside the azimuth-tracker that depends on it.
2019-10-30 20:18:56 +01:00
Fang
7bc17357ba
eth: remove old eth-watcher files
These were deprecated in favor of azimuth-tracker in #1320.

(Azimuth-tracker, however, isn't a general-purpose Ethereum log watcher
tool. Commits to transform it into a more broadly useful tool are
forthcoming.)
2019-10-25 13:08:27 +02:00
Philip Monk
5d5936bbb7
custody: move to separate repo 2019-10-24 16:03:46 -07:00
Philip Monk
87f689f443
custody: add more types 2019-10-21 15:41:28 -07:00
Joe Bryan
fa01bfb0a5 hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00
Ted Blackman
625f855f24 master without pills, hopefully 2019-10-14 16:02:27 -04:00
Logan Allen
b12e305c9c apps: added permission hook and chat-view %join action 2019-10-11 14:09:30 -07:00
Philip Monk
c668a24df2
custody: get data from chain 2019-10-10 18:26:18 -07:00
Philip Monk
adba48241a
spider: convert azimuth-tracker to imp 2019-10-10 15:30:24 -07:00
Jared Tobin
77af7aff72
Merge branch 'claz-invites' (#1809)
* claz-invites:
  claz: Implement batch invites
  keygen: Add ownership-from-ticket function

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-10 10:47:59 +04:00
Fang
e6775d0907
keygen: Add ownership-from-ticket function
Many use cases care only for the ownership wallet. Using a function like
this, that derives exclusively that, saves computation time.
2019-10-09 21:19:04 +02:00
Philip Monk
754fd61e1b
custody: initial commit 2019-10-09 10:32:27 -07:00
Fang
9d63a3e9c7
drum: Ensure dojo prompt on-boot
The previous method for doing this relied on "dojo" being first when
sorting alphabetically, which is not the case anymore.
2019-10-09 18:02:03 +02:00
Fang
b7f1e9c578
Merge branch 'odyssey-wip' into odyssey-chat-cli 2019-10-08 23:32:57 +02:00
Fang
816535c311
drum: Boot with %chat-cli, without %hall & %talk
Also refactors the surrounding code in +deft-apes.
2019-10-08 23:19:05 +02:00
Fang
24859907aa
chat-cli: Cosmetic improvements
Better variable naming. Trailing newline.
2019-10-08 23:00:46 +02:00
Fang
e567de9c18
chat: Move eval logic out of /lib/chat-json
This allows us to always include the bowl when evaluating a code letter.
2019-10-08 22:44:20 +02:00
Fang
9532857ef5
chat: Move eval logic into lib 2019-10-08 22:06:28 +02:00
Logan Allen
6ab2879b81 chat: fixed eval function to disable scry 2019-10-08 12:13:29 -07:00
Logan Allen
fbbb3830b2 chat: style fixes, removed some redirect bugs from chat 2019-10-08 10:11:18 -07:00
Logan Allen
79903ff9f5 chat: changed wire format and quitting subscription properly on ban 2019-10-07 17:35:48 -07:00
Logan Allen
39a5017254 chat: added old @ messages, now called %me messages 2019-10-03 13:33:07 -07:00
Logan Allen
693b6f2b81 hood: added chat-store, hook, and view to startup 2019-10-02 18:30:50 -07:00
Logan Allen
0f5eea480d chat: added new JS files, deleted old chat.hoon 2019-10-02 18:30:41 -07:00
Philip Monk
aaf21f1f99
ph: port all azimuth tests to imps 2019-10-01 20:25:19 -07:00
Philip Monk
01c120e8de
ph: port azimuth handlers to imp 2019-10-01 19:50:25 -07:00
Philip Monk
45b19807f5
spider, ph: convert all fake tests to imps 2019-10-01 15:06:12 -07:00
Logan Allen
f9377536fb app: Added chat store, hook, marks, and view. 2019-10-01 10:18:36 -07:00
Philip Monk
9fc28a9538
mall: populate wex.bowl with outgoing subscriptions
fixes #1466
2019-09-30 20:53:12 -07:00
Logan Allen
ee92862785 hood: start up groups and permissions 2019-09-30 16:43:09 -07:00
Logan Allen
4b01718d76 apps: added group/permission stores, hooks, marks 2019-09-30 14:46:07 -07:00
Logan Allen
166465af59
zuse: added path, tank, string utils to en/dejs 2019-09-30 01:31:46 +04:00
Jared Tobin
5c99f33271
Merge branch 'ted/verb' (#1754)
* ted/verb:
  update pill
  hood: |knob {tag} {level} to set dill verbosity
  dill: set verbosity by error tag
2019-09-29 21:09:05 +04:00
Ted Blackman
0bf9e98d08
hood: |knob {tag} {level} to set dill verbosity 2019-09-29 20:45:10 +04:00
Philip Monk
9c9115a7e0
spider, ph: convert ph to imps 2019-09-28 21:44:31 -07:00
Philip Monk
b79dead5f8
spider: convert example-fetch to imp 2019-09-27 10:40:22 -07:00
Jared Tobin
ba6f60cc66
Merge branch 'la-remove-hall-hood' (#1771)
* la-remove-hall-hood:
  hood: remove hall dependency.

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-09-27 15:41:23 +04:00
Logan Allen
707a667d47 hood: remove hall dependency. 2019-09-26 15:03:13 -07:00
Philip Monk
814d97fafd
spider: add +main-loop 2019-09-25 22:43:14 -07:00
Philip Monk
45451aeafa
spider: initial commit 2019-09-25 21:12:58 -07:00
Philip Monk
e6f5b0d3fd
mall: fix %child-sync ph test 2019-09-25 13:19:09 -07:00
Philip Monk
34ab4c4e77
mall: convert aqua vane handlers to mall 2019-09-24 19:04:27 -07:00
Philip Monk
a4dcad7d46
gall: unsubscribe after breach
fixes #1431
2019-09-24 15:00:16 -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
Logan Allen
1b87eb2c3c
chat: message processing time down to 60ms 2019-09-20 11:43:30 -02:30
Philip Monk
eeac28bdc6
mall, hood: deduplicate types in libs 2019-09-13 13:34:30 -07:00
Philip Monk
d7671efec0
mall, hood: avoid referencing library internals 2019-09-13 11:54:07 -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
Joe Bryan
f5263e0395
talk, chat: disables scry in hoon eval
We don't care about the static types in the use-cases where we need to
prevent scry (to prevent accidental data disclosure). We can evaluate
the expression, virtualized and untyped, and then just clam.
2019-09-08 19:45:20 -02:30
Philip Monk
7f5ac366c9
mall: convert write to mall 2019-09-05 21:36:57 -07:00
Philip Monk
0f6bd70aa3
mall: convert kiln to mall 2019-09-05 21:24:20 -07:00
Philip Monk
2c5a478a84
mall: convert drum to mall 2019-09-05 20:01:31 -07:00
Philip Monk
84c7b442e9
mall: convert helm to mall 2019-09-05 18:46:55 -07:00
Philip Monk
274e8aad90
mall: hood framework 2019-09-04 15:46:47 -07:00
Philip Monk
bc1ba10a11
mall: compiles and runs app, but type hole 2019-09-04 12:49:16 -07: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
0fc1675928 Merge branch 'master' into alef-testnet 2019-08-27 14:06:09 -07:00
Jared Tobin
fa64a8092a
Merge branch 'philip/autocommit' (#1662)
* philip/autocommit:
  kiln: add autocommit
2019-08-27 09:18:36 -02:30
Philip Monk
a25b082e04
dill, helm: add lite boot option with -l 2019-08-26 11:04:24 -07:00
Philip Monk
4958dc506d
kiln: add autocommit 2019-08-25 02:11:02 -07:00
Philip Monk
ec9eedd50f
ph: clean up card structures 2019-08-22 15:33:52 -07:00
Jared Tobin
5798a50c40
helm, drum: remove deprecated %load
This was an artifact of %gall's old 'culm' type, which was removed in
1fe4ff1605 (2019-04-12).
2019-08-22 12:33:19 -02:30
Ted Blackman
c1708fb9f2 Merge remote-tracking branch 'origin/philip/jael-fix' into alef-testnet 2019-08-20 17:37:26 -07:00
Philip Monk
e612e6d063
oops 2019-08-20 17:34:59 -07:00
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
f28c011ed4 TEMP turn off extraneous apps on boot for dev 2019-08-13 17:55:10 -07:00
Isaac Visintainer
2212323b4d added launch, chat, publish, clock, and weather as default apps for comets 2019-08-13 11:43:18 -07:00
Jared Tobin
14b6816300
Merge pull request #1606 from urbit/modulo-lib-surs
Make modulo follow lib-sur conventions
2019-08-12 19:52:51 -07:00
Philip Monk
6349fc85ee
add +scry to lib/stdio 2019-08-12 13:50:14 -07:00
Fang
a59149bc23
Move :publish app state type into app itself 2019-08-11 12:21:39 -07:00
Fang
2726eff1d4
Move :chat types into /sur 2019-08-11 11:59:59 -07:00
Ted Blackman
370213bb65 add gall %wash to clear caches 2019-08-10 14:24:31 -07:00
Ted Blackman
65bea91f9d start %ping on startup; fix printing bugs 2019-08-10 11:58:08 -07:00
Fang
cac4b2b70f
Move :launch types into /sur 2019-08-09 14:54:52 -07:00
Jared Tobin
fc559b7d33
Merge pull request #1399 from urbit/chat-message-types
Message type support in Chat
2019-08-09 06:48:21 -02:30
Fang
05950770f4
Merge branch 'master' into chat-message-types 2019-08-08 15:01:00 -07:00
Philip Monk
bd36e61b22
Merge remote-tracking branch 'origin/master' into philip/kale 2019-08-08 14:51:14 -07:00
Philip Monk
5800c66647
longer keys 2019-08-08 11:52:44 -07:00
Joe Bryan
b62b63a1f0 Merge branch 'generate-release-brass' into stage-solid-redux
* generate-release-brass:
  updates lib/pill to support all relevant userspace marks
2019-08-08 11:47:58 -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
Philip Monk
08e4990fea
remove unused azimuth logs from test 2019-08-06 00:17:26 -07:00
Philip Monk
38fb4fb5a3
remove more printfs 2019-08-05 23:47:16 -07:00
Philip Monk
f4d4d7dfe8
fix full moon-az test 2019-08-05 23:11:40 -07:00
Ted Blackman
626f7c9a75 Merge branch 'philip/kale' into alef-testnet 2019-08-05 22:06:53 -07:00
Philip Monk
0adc83ecf6
get pills from aqua 2019-08-05 17:44:52 -07:00
Philip Monk
03da8b40f0
add moon test 2019-08-02 15:19:40 -07:00
Ted Blackman
1d62f1eecc Merge branch 'philip/kale' into alef-testnet 2019-08-01 15:56:23 -07:00
Philip Monk
9b798a8722
reenable apps 2019-08-01 11:43:33 -07:00
Philip Monk
54a3031397
add keys to sponsor in preboot validation 2019-08-01 11:14:36 -07:00
Fang
3e028fde21
Render tanks in hall json at safer width 2019-07-31 13:40:30 +02:00
Fang
39cf0388be
Work around weird zuse shadowing bug
`..zuse` gave `%309`, which is equivalent to `zuse`. Somehow, `..^zuse`
gives the correct result.
2019-07-31 13:39:31 +02:00
Philip Monk
583da25e50
add test for sudden breaches 2019-07-30 16:53:40 -07:00
Philip Monk
578d14bfea
implement kale hierarchy 2019-07-30 16:26:47 -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
Philip Monk
f78d755a0d
%breach-sync works with kale 2019-07-27 16:52:28 -07:00
Philip Monk
dd76358f6a
%breach-hi works with kale 2019-07-26 20:45:45 -07:00
Philip Monk
a47ef9ac77
wip 2019-07-26 20:45:45 -07:00
Philip Monk
577eed93b8
migrate ames to kale 2019-07-26 20:44:43 -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
Joe Bryan
43a8dc5d7e
Merge pull request #1363 from urbit/improved-dns-debugging
improved debug-ability the dns apps
2019-07-19 16:45:32 -07:00
Joe Bryan
80dfced914 updates lib/pill to support all relevant userspace marks 2019-07-19 16:42:00 -07:00
Joe Bryan
ab5f462d73 updates tapp to prevent loss of state on prep 2019-07-19 15:54:51 -07:00
Logan Allen
027ff9ff14 Fixed drum by removing timer 2019-07-19 10:49:38 -07:00
Philip Monk
994472ece1
azimuth-tracker sends to kale 2019-07-18 17:08:01 -07:00
Ted Blackman
793fc5c213 all vanes compile, at least individually 2019-07-15 14:23:34 -07:00
Logan Allen
96a26e9f62 Updated timer and chat app, server and eyre with latest 2019-07-12 11:04:47 -07:00
Isaac Visintainer
a60d8cdbfc changed name of app to be consistent 2019-07-11 15:07:05 -07:00
Fang
12b8134c33
Merge branch 'v0.8.0rc' into gut-by 2019-07-10 01:49:07 +02:00
Logan Allen
ebd61dcc4f Removed lib/prey 2019-07-05 16:42:50 -07:00
Logan Allen
1c3764ba03 Remove quri mark, map-to-json lib, mar/hall/speeches, lib/httr-to-json, app/time, and app/server 2019-07-05 16:29:59 -07:00
Logan Allen
5e48b4ce82 Remove ask, rss-xml, x-urb, x-urb-elem 2019-07-05 15:15:15 -07:00
Logan Allen
f43a5e1b5d Removed old references to setting up fora, streams, collection, web folder, landscape, and plan 2019-07-05 15:05:09 -07:00
Logan Allen
4c7634ec57 Merge branch 'rc-modulo' of github.com:urbit/urbit into rc-modulo 2019-07-05 13:55:09 -07:00
Logan Allen
da118c90de Updated all apps to use launch-action mark 2019-07-05 12:59:43 -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
Logan Allen
8485b0c889 Updated all apps to use launch-action mark 2019-07-01 16:19:56 -07:00
Fang
eb6c8a45ce
Replace (fall (~(get by calls with (~(gut by 2019-06-30 18:13:34 +02: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