Commit Graph

5705 Commits

Author SHA1 Message Date
Jōshin
c0423adea6
khan: parameterized types, nested implementation
%fyrd is now implemented in terms of %fard, and likewise %avow in terms
of %arow. State is tracked via wire rather than in a global map.

Unit tests adjusted to match.
2022-02-11 21:58:09 -08:00
Jōshin
ca0a861c5e
zuse: add missing assertions 2022-02-09 14:14:12 -06:00
Jōshin
5ff5082a5d
khan: docs, lift arg vase into (unit) 2022-02-08 12:03:00 -06:00
Jōshin
34fd7f5adf
test: wip full-run test 2022-02-08 08:44:55 -06:00
Jōshin
776604bf74
test: rewrite khan start-args unit test 2022-02-07 17:51:05 -06:00
Jōshin
8123255a62
khan: add %fard/%arow for in-arvo threads
These take and produce vases, and assign random tids (rather than
deducing them from the input duct.)

Since %fard does not require mark conversion, we make the mark/beak on
$thread-state optional (and use this to decide whether to send %avow or
%arow.) Provide a state adapter since it's possible that people have
been experimenting with this vane.

This makes the negative case of %avow/%arow kind of clunky, since there
is no content difference, but the following does not seem possible
within the Hoon type system:

    =/  gif
      ?~  p.tad
      %arow  %avow
    [hen %give gif %| p.cag tang]~
2022-02-07 17:51:05 -06:00
Jōshin
64fcd685af
zuse: comment clarifying sk bounds check 2022-02-03 13:52:09 -06:00
Jōshin
4cef7dc38b
bounds-check against sk=1
+sign:schnorr crashes on `=(0 sk)`, so the bounds checking code is not
exercised for sk=0. It also crashes on `(gte sk n.domain.c)`, which is
redundant with the size check on sk, so we remove that.
2022-02-03 13:21:21 -06:00
Jōshin
f07f759253
zuse: style cleanup, use +rep/+end 2022-02-03 12:54:27 -06:00
Jōshin
822eb6ea08
Merge branch 'next/arvo' into jo/secp-arvo 2022-02-02 20:34:11 -06:00
Jōshin
4c22e2ceaa
spider: blank lines 2022-01-31 15:47:14 -06:00
drbeefsupreme
f67962b803
helm: cleanup +poke-rekey to match #5522 2022-01-28 12:23:36 -05:00
Jōshin
ccf9110f7f
test: khan test cleanup
;;(vase ...) does a nest-check of the type of the kernel. This is
undesirable, so we instead run everything through +slum and cast the
result to +tang.
2022-01-28 09:05:37 -08:00
Jōshin
21ea32e8ad
khan: +bear allows a full +beak 2022-01-27 22:28:30 -08:00
Jōshin
72981203c8
khan: PR feedback, wip tests 2022-01-27 22:20:31 -08:00
Hunter Miller
88e956df01 Merge branch 'next/landscape' 2022-01-27 10:24:04 -06:00
Jōshin
7f6868a06e
khan: strip inner faces from +bear 2022-01-26 21:50:08 -08:00
Jōshin
05a11d57b3
khan: cleanup
- only store metadata in the persistent map. just enough to support
  (eventual) thread cancellation and output mark lookup.

- try to delete thread state at other failure points not covered by
  %kick.

- reflect back the passed output mark rather than form.dais. not sure
  about this one yet.
2022-01-26 20:09:36 -08:00
Jōshin
aba5c0303d
khan: del in %kick 2022-01-26 17:45:25 -08:00
Jōshin
1281e1cdbe
khan: functionally done 2022-01-26 17:41:01 -08:00
Jōshin
425bf6b011
khan: accepts thread arguments with marks 2022-01-26 16:26:30 -08:00
drbeefsupreme
b5f299c02d
helm: fix |rekey to work with multikey files 2022-01-26 16:29:14 -05:00
Philip Monk
34bcd2ffcd
Merge pull request #5495 from urbit/m/whos-who
helm: bind /who.json
2022-01-26 12:47:47 -07:00
Jōshin
8ad57d8bd2
khan: cleanup 2022-01-25 21:28:45 -08:00
Jōshin
12b4c80cf1
khan: wip threads v0
super ghetto first pass with a bunch of stuff hard-coded to prevent
sending giant vases over the wire.
2022-01-25 20:08:48 -08:00
Jōshin
fd7d315e3b
khan: wip fyrd 2022-01-25 15:37:48 -08:00
Jōshin
30df250c7d
khan: closer to starting threads 2022-01-22 01:46:59 +00:00
Jōshin
a247113c57
khan: %done task 2022-01-22 01:46:12 +00:00
Jōshin
3cf803129d
khan: basic +call, types 2022-01-21 22:09:01 +00:00
Jōshin
575ff61fa6
khan: vane skeleton 2022-01-21 18:48:05 +00:00
yosoyubik
0c9fc76b93 eth-watcher: fix zoom-margin to account for reorgs
The previous value—used for testing—didn't consider
block reorgs, which meant that if we zoom to the latest
block that has no transactions, but that gets later replaced
by a 1-block reorg that does have a transaction, we'll miss it,
making our Azimuth state incomplete.

To fix it, we rewind the Azimuth state to the contents of the snapshot,
and then start retrieving logs from the latest one we have.
2022-01-19 17:41:05 +01:00
yosoyubik
3d943ec201 ames: ignore missing peer-state on-publ-sponsor 2022-01-18 20:34:32 +01:00
fang
7be6950fe5
Merge branch 'm/helm-perms' into next/arvo 2022-01-13 00:36:22 +01:00
fang
0bc1f49f0f
drum: only process pokes from the local ship
No mark files exist for any of the drum marks, so trying to poke remote drums
would fail anyway, but relying on the mark system in that way seems a bit
fragile, so we add an explicit permission check.
2022-01-13 00:24:31 +01:00
fang
bde8c0b04a
helm: only process pokes from the local ship
No mark files exist for any of the helm marks (except `%helm-hi`), so trying to
poke remote helms would fail anyway, but relying on the mark system in that way
seems a bit fragile, so we add an explicit permission check.
2022-01-12 13:28:44 +01:00
jose
f158ebe312
Merge pull request #5532 from urbit/azimuth/jael-fix
jael: give new private key to subscribers on %keys new-event
2022-01-12 12:47:21 +01:00
yosoyubik
432d9674f5 jael: don't put conflicting this-su in the subject 2022-01-12 11:01:06 +01:00
Jōshin
ce05e562ed
test: schnorr bounds checking 2022-01-09 05:49:47 +00:00
Jōshin
71c59737d8
zuse: boundary assertions for schnorr
Just assert on mis-sized values.
2022-01-09 05:31:36 +00:00
Jōshin
4591fa272e
zuse: schnorr test cases
These are from:
<https://github.com/bitcoin/bips/blob/master/bip-0340/test-vectors.csv>
2022-01-09 05:28:22 +00:00
yosoyubik
fccf99e0a6 jael: refactor new-event for %keys diff
this also adds a %rerun %poke to /app/azimuth
2022-01-08 19:28:11 +01:00
yosoyubik
8535563de6 jael: give private key to subscribers on keys diff
Triggering this event has been added to /app/azimuth's +on-load
2022-01-08 09:48:28 +01:00
yosoyubik
583d5f5063 azimuth: process snapshot on-load 2022-01-07 18:13:51 +01:00
yosoyubik
1950736518 azimuth: update snapshot at block 13.958.653 2022-01-07 17:31:49 +01:00
yosoyubik
8df443bc46 azimuth: remove eth-logs 2022-01-06 16:43:28 +01:00
Jōshin
40fbd16036
zuse: schnorr address 2021-12-30 05:46:44 +00:00
Jōshin
cb5983c6ae
zuse: schnorr jet hints 2021-12-30 04:25:31 +00:00
Jōshin
f93457ce9c
zuse: style 2021-12-30 04:14:25 +00:00
Jōshin
0fb3dd5ed0
zuse: cleanup 2021-12-30 00:47:11 +00:00
Jōshin
022ec2867d
zuse: banish byte twiddling from schnorr
Actually it's just hidden in +sha-256l:sha now.
2021-12-30 00:42:47 +00:00
Jōshin
57ef17fc91
zuse: signatures were backwards 2021-12-29 23:58:31 +00:00
Jōshin
09294d79bc
zuse: unused ffra 2021-12-29 23:50:16 +00:00
Jōshin
4c6187787f
zuse: remove redundant flips on sig 2021-12-29 23:50:16 +00:00
Jōshin
4f1269b205
zuse: cleanup in schnorr 2021-12-29 23:50:15 +00:00
Jōshin
b296f3912e
zuse: verify:schnorr works 2021-12-29 23:50:15 +00:00
Jōshin
ab4b735471
zuse: sign:schnorr basically done
Schnorr's choice of big-endian encoding commits us to some degree of
byte twiddling; try to make this fairly seamless.
2021-12-29 23:49:54 +00:00
Jōshin
f39421c97b
zuse: flip bytes in sig
gross!
2021-12-29 19:02:51 +00:00
Jōshin
a1c548ced4
zuse: schnorrsig-sign from spec
test vectors match, but are byte-flipped. has to do a lot of endianness
twiddling.
2021-12-29 18:57:45 +00:00
Jōshin
aa3bbe165e
zuse: schnorrsig stubs 2021-12-25 08:47:43 +00:00
Joe Bryan
1657c548cc Merge branch 'master' into next/arvo
* master:
  [nix] track nixos-21.11 branch whenever niv updates, bump to include qemu-in-virtualization fix
  webterm: v1.0.0
  herm: permission checks
  herm: avoid trailing empty path segments
  pmnsh: update secp256k1 configure flags
  secp256k1: use nixpkgs provided secp256k1 and add to sources-pmnsh
  webterm: remove border, let term live in page
  theme: cleaning up a few mismatches
  webterm: handle old-style blits and belts
  build: correct lmdb static builds
  build: explicitly override h2o build platforms to support darwin
  ci: upgrade cachix/install-nix-action from v13 -> v16
  build: remove haskell related nix code and haskell.nix dependency
  webterm: update imports
  @urbit/api: move term types
  webterm: fix broken imports
  webterm: update package name for lerna
  webterm: commit missing api files
  webterm: backport
2021-12-17 23:39:04 -05:00
fang
970075bbcd
helm, docket: bind /who endpoint in helm instead
This seems like a better place.
2021-12-17 00:42:57 +01:00
Joe Bryan
e8cdafddfc arvo: refactor |mass output, make vane /whey peek optional 2021-12-16 12:21:21 -05:00
Joe Bryan
32e1ed0a15 arvo: fix type typo (s/mein/mien/g) 2021-12-16 12:15:48 -05:00
yosoyubik
1bda134280 azimuth: update /app/azimuth snapshot 2021-12-15 08:31:26 +01:00
fang
dd6b090bfa
Merge pull request #5454 from urbit/m/backport-nu-webterm
webterm: backport
2021-12-14 19:23:23 +01:00
yosoyubik
5d4a410653 roller: don't set :frequency timer on commit 2021-12-14 16:39:22 +01:00
yosoyubik
d0309abfd8 roller: get suggested gas price only for mainnet 2021-12-14 15:44:43 +01:00
yosoyubik
1b278ce104 dice: dont print %failed logs in tx-effects 2021-12-14 15:27:44 +01:00
yosoyubik
fc540bf209 roller: handle sending malformed batches 2021-12-14 15:24:25 +01:00
yosoyubik
d1a04c7c54 Merge branch 'naive/snapshot' into roller/gas-price 2021-12-14 09:41:22 +01:00
yosoyubik
4724c32d3d pill: load azimuth snapshot file with mime mark 2021-12-14 09:40:34 +01:00
yosoyubik
0c7ada2076 roller: fix response parsing from gasoracle 2021-12-13 19:16:47 +01:00
fang
fd375c1d90
herm: permission checks
Make sure herm can only be interacted with by the local ship.
2021-12-13 14:25:14 +01:00
fang
c7c601c041
herm: avoid trailing empty path segments
append /view to the existing subscription paths to "wrap" the possibly
empty path segment of the session name.
2021-12-13 14:24:20 +01:00
yosoyubik
92c498cd04 Merge branch 'naive/snapshot' into roller/gas-price 2021-12-10 18:42:55 +01:00
yosoyubik
8601b13e3f azimuth: remove unused import in snapshot mark 2021-12-10 16:59:30 +01:00
yosoyubik
f6dca03786 pill: restore solid pill 2021-12-10 16:19:59 +01:00
yosoyubik
fd2ff95989 roller: fix refuel generator 2021-12-10 13:13:14 +01:00
yosoyubik
f6ff4f108b roller: add utilities for handling low-gas batches
This adds support for handling cases where the send-batch thread failed,
mainly among them, a thread crash. One of the events that causes this
behavior is a ver low gas price for this L1 transaction.

Here we add support for manually bumping the price for such transaction,
and for increasing the default fallback gas-price, together with discarding
any malformed batch from the sending queue.
2021-12-10 11:36:45 +01:00
Jōshin
d94aa5704b
Merge branch 'master' into next/arvo
Conflicts:
	pkg/arvo/lib/azimuth.hoon

This file was turned into a symlink to pkg/base-dev/lib/azimuth.hoon on
one side of the fork, and meanwhile edited on the other side of the fork
(to update ecliptic to the new address for the WSTR fix.)

The two sides of the fork both had different outdated addresses in
base-dev's azimuth.hoon file, and Git's UI helpfully refilled the
contents of arvo's azimuth.hoon so that it showed a merge conflict with
an empty diff.

Resolved by reading out HEAD:pkg/arvo/lib/azimuth.hoon into
pkg/base-dev/lib/azimuth.hoon and manually recreating the symlink.
2021-12-10 08:24:32 +00:00
yosoyubik
c467d5aa67 Merge branch 'roller/quota-left' into naive/snapshot 2021-12-09 07:45:18 +01:00
yosoyubik
ae05bbf571 roller: don't crash if nonce not in queue 2021-12-09 07:44:53 +01:00
yosoyubik
4384f19643 azimuth: use ship as prefix for loading snapshot log 2021-12-09 07:30:08 +01:00
yosoyubik
cce14699c8 azimuth: update log message 2021-12-08 12:52:23 +01:00
yosoyubik
37adba1ba0 various: update to new udiff:point type 2021-12-08 11:23:35 +01:00
yosoyubik
1e912d1ec4 Merge branch 'roller/quota-left' into naive/snapshot 2021-12-08 11:02:23 +01:00
yosoyubik
463ca6e8db roller: set default quota to 25 2021-12-08 11:02:05 +01:00
Philip Monk
5c20b63a5a
Merge pull request #5412 from urbit/jb/safer-dojo
dojo: improve safety of mark conversion
2021-12-07 20:20:53 -08:00
Philip Monk
1ffdad8719
Merge pull request #5439 from ynx0/dev-fixes
meta: fix various issues in file tree for development
2021-12-07 19:07:34 -08:00
Philip Monk
7583d33cf1
Merge pull request #5436 from urbit/m/claz-lockup-txs
claz: better linear lockup ops support
2021-12-07 18:41:55 -08:00
yosoyubik
28dacad857 Merge branch 'roller/quota-left' into naive/snapshot 2021-12-07 17:48:30 +01:00
yosoyubik
33852ea90e roller: support private keys with leading 0x 2021-12-07 17:47:56 +01:00
yosoyubik
0833ee9ea6 azimuth: only print number of points during init 2021-12-07 16:32:39 +01:00
yosoyubik
81eb6ae247 pill: add azimuth snapshot 2021-12-07 16:13:39 +01:00
fang
3df0efd7c6
Merge pull request #5473 from urbit/m/base-atom
pkg: include atom mark in base-dev
2021-12-06 15:11:12 +01:00
yosoyubik
d08ab43f3a lull: skip rift/life printf when booting 2021-12-06 13:47:59 +01:00
fang
4bff1df7e8
pkg: include atom mark in base-dev 2021-12-05 14:50:50 +01:00
yosoyubik
ad16155c77 azimuth: load azimuth state from state snapshot 2021-12-03 16:11:15 +01:00
fang
2c71a5d79d
azimuth: update ecliptic address
To account for the recent upgrade.
2021-12-02 21:45:39 +01:00
yosoyubik
d5c44598ba roller: refactor and clean up 2021-11-28 16:37:06 +01:00