Commit Graph

5976 Commits

Author SHA1 Message Date
Philip Monk
4278d4c8b3
Merge pull request #5673 from urbit/philip/fix-uno
hoon: fix +uno:by when map is null
2022-03-25 18:23:32 -07:00
Philip Monk
07d01a0071 Merge branch 'philip/fix-uno' into philip/tomb 2022-03-25 18:11:34 -07:00
Philip Monk
50fb239d2f hoon: fix +uno:by when map is null
This crashed at runtime when `a` is null because it tried to instantiate
`meg`, and that means bunting its argument, and that calls `node`, where
the assert failed.

Wet gates use the bunt of their formal argument, so we use that.
2022-03-25 18:08:13 -07:00
Philip Monk
6e641005a0 clay: add upgrade to %11 2022-03-25 18:02:22 -07:00
Philip Monk
fb3f74f639 clay: prefer life 2022-03-25 15:32:38 -07:00
drbeefsupreme
5d9d4af0c0
squash! squash! squash! naive: l2 csv more informative printfs & comments 2022-03-25 18:10:29 -04:00
drbeefsupreme
656a86479f
spider: fix child threads
addresses #5442 by adding %thread-done and %thread-fail marks. also
fixes await-thread:strandio and removes some blank lines from
app/spider.hoon

%thread-done loses the type of the result, so you'll need to use ;; to
get it back. the real way to fix this is to have threads produce cages
instead of vases
2022-03-25 18:01:48 -04:00
drbeefsupreme
534849ba92
squash! squash! naive: l2 csv more informative printfs & comments 2022-03-25 17:42:43 -04:00
drbeefsupreme
48d3b3f4d2
squash! naive: l2 csv more informative printfs & comments 2022-03-25 17:25:24 -04:00
drbeefsupreme
2de2b8cbd0
naive: l2 csv more informative printfs & comments 2022-03-25 17:17:45 -04:00
drbeefsupreme
1941c91215
naive: l2 csv factor out %eth-get-tx-receipts
adds a new thread for retrieving transaction receipts, and modifies
naive-csv
to call it as a child thread
2022-03-25 17:04:45 -04:00
drbeefsupreme
efca5bfedc
naive: l2 csv factor out %eth-get-timestamps
requires child threads to be working
2022-03-25 16:17:40 -04:00
Philip Monk
ef9521272a Merge remote-tracking branch 'origin/lf/ford-memory-shit' into philip/tomb 2022-03-25 13:13:24 -07:00
Philip Monk
c5fda496ac clay: add basic %tomb 2022-03-25 13:13:09 -07:00
Philip Monk
fb05255a83 clay: align comments 2022-03-25 12:38:51 -07:00
Philip Monk
99a10aa7a8 clay: use XX for things that really need to change 2022-03-25 12:33:48 -07:00
Philip Monk
0c3eee07b5 Merge remote-tracking branch 'origin/master' into philip/tomb 2022-03-25 12:21:56 -07:00
drbeefsupreme
4a403a676d
naive: l2 csv add @da to saved file 2022-03-25 11:28:45 -04:00
drbeefsupreme
9cb1cde9b4
naive: l2 csv change gasUsed to effectiveGasPrice 2022-03-25 11:27:01 -04:00
drbeefsupreme
2fdce9e6ca
naive: l2 csv add ^sein:title field 2022-03-25 11:22:26 -04:00
Joe Bryan
d937e131a4 hoon: preserve structural sharing by testing subject/product equality in +burp 2022-03-25 10:28:05 -04:00
Joe Bryan
15e570a622 hoon: plug type leak in vase literals by properly burping %hint 2022-03-25 10:27:32 -04:00
drbeefsupreme
61e70c928b
squash! naive: l2 csv refactoring for readability 2022-03-24 19:12:54 -04:00
drbeefsupreme
b0cee44497
naive: l2 csv refactoring for readability
semantics should be unchanged
2022-03-24 18:20:31 -04:00
fang
3259f1f588
aqua: fix most tests
Small touch-ups to simulation behavior and ph tests. Most of them pass
now, even if they're still really slow at times.

The breach ones don't pass, but also complain of dangling bone, so might
work once the fix for that is in.
2022-03-23 22:19:35 +01:00
Philip Monk
5ff4cc7f66
Merge pull request #5612 from ynx0/story
clay: add `story`, a set of tools to support commit messages
2022-03-22 21:49:16 -07:00
Philip Monk
17e237eae3 ted: remove unused -azimuth-tracker 2022-03-22 21:44:35 -07:00
drbeefsupreme
0786f62e8b
naive: l2 csv export csv file
passes to clay to ask it to write the csv to disk
2022-03-22 18:04:34 -04:00
drbeefsupreme
0f8ea20ac0
naive: l2 csv flatten data into list of tx
this takes all the gathered data and turns it into a list suitable for
transformation into a csv
2022-03-22 17:15:07 -04:00
fang
804c8a8bb7
aqua: use cache for fake ships only
Boot sequence for real ships contains %dawn, which is affected by
azimuth state and may not be consistent.
2022-03-21 20:29:23 +01:00
Liam Fitzgerald
dd70856188 clay: be careful with subject in ford results
This fixes a space leak where the entire ford/clay core would be
included in the ford cache. Heavily reduces memory usage by clay,
reducing total usage from 100-200MB to around 10MB.
2022-03-21 13:02:36 -06:00
Liam Fitzgerald
2def946ded clay: break out ford memory usage in more detail
Instead of reporting a single memory size for built files, marks and
conversions, we now report memory size per path, mark name and mark
pair, respectively.
2022-03-21 12:21:38 -06:00
Jōshin
4be43d5e28
hoon: fix comment whitespace 2022-03-21 10:24:27 -06:00
yosoyubik
cff562b4c6 Merge branch 'next/arvo' into roller/batch-split 2022-03-20 14:27:50 +01:00
yosoyubik
cf838fd1d7 roller: add batch-trimming functionality
If a batch gets bigger than a max size defined by the ethereum node
the raw transaction is sent to, the /ted/roller/send thread will crash and
the batch will be blocked, stopping any subsequent batches to be sent.

This detects when the current batch reaches a certain threshold and only
includes transactions up to that point, moving the ones that are not sent
back to the pending queue, adjusting their history and finding status.
2022-03-20 14:07:27 +01:00
fang
3a4993f58c
aqua: cache results of booting ships from pill
This gives us much higher cycle times when retrying tests over and over,
since we can just fast-forward past the boot sequence, which never
changes unless we change the pill.
2022-03-19 00:24:23 +01:00
drbeefsupreme
c304f62b34
naive: l2 csv all relevant data in one map
puts timestamps, gas costs, and rolls+their effects into one map
2022-03-17 17:16:09 -04:00
drbeefsupreme
5171ec367a
naive: l2 csv get naive effects
passing the event log to naive.hoon and harvesting the diffs
2022-03-17 14:13:54 -04:00
drbeefsupreme
bce1c9fe2a
squash! squash! naive: l2 csv - names for address, hash, blocknum 2022-03-17 12:51:54 -04:00
drbeefsupreme
01900b10d5
squash! naive: l2 csv - names for address, hash, blocknum 2022-03-17 12:25:30 -04:00
drbeefsupreme
8f1c9bbe66
naive: l2 csv - names for address, hash, blocknum
no semantic difference, just making the code more readable
2022-03-17 12:23:00 -04:00
fang
befc22c3a9
pill: use %pill mark, not %boot-pill
%pill already exists, whereas %boot-pill doesn't, so clearly the former
is more correct.
2022-03-17 17:03:10 +01:00
fang
ba511525c7
ph: remove deprecated migration testing threads 2022-03-17 17:01:55 +01:00
fang
250e750a89
spider: factor spider-arg type out into interface
And fix a callsite that wasn't conforming.
2022-03-16 21:10:31 +01:00
drbeefsupreme
903394f00f
naive: l2 csv add roller address to collated data 2022-03-15 20:19:33 -04:00
drbeefsupreme
758138d397
naive: l2 csv first data collation
collects block number, gas prices, and timestamps into one structure.
not finished.
2022-03-15 20:05:25 -04:00
drbeefsupreme
674e872d47
naive: L2 csv swap lists to maps
was using lists in a few places where maps would be more appropriate.
should probably actually be ordered maps but this is wip
2022-03-15 19:11:54 -04:00
drbeefsupreme
d09fb0e9c4
naive: L2 tx csv gas price request
logic for requesting gas price by transaction hash implemented
2022-03-15 18:09:07 -04:00
drbeefsupreme
4a6a1e9a71
naive: L2 csv transaction receipts
gets transaction receipts for a list of hashes, does not parse them yet
2022-03-15 17:34:00 -04:00
drbeefsupreme
417dc513e0
squash! naive: L2 csv thread refactor filters 2022-03-15 15:11:32 -04:00
drbeefsupreme
28aa3c0e56
naive: L2 csv thread refactor filters
just some cleaning, no semantic difference
2022-03-15 15:09:46 -04:00
drbeefsupreme
4e76c7487e
naive: l2 csv thread initial commit: timestamps
scries %azimuth for logs.state, filters the L2 events, and then gets
their timestamps. ought to use ted/eth/get-timestamps but doesn't due to
issues with spawning child threads, but there's probably a way to do it
without child threads
2022-03-15 14:40:41 -04:00
Liam Fitzgerald
92e52c9f7e ames: fix path handling in %bide 2022-03-15 10:40:34 -06:00
Liam Fitzgerald
0587e0e836 ames: add %pine task
%pine automatically scries for the latest case of a path
2022-03-14 15:04:14 -06:00
Yaseen
f487afd4ee story: marginal output formatting improvement to +story-list 2022-03-11 12:28:07 -05:00
Yaseen
341e27b5c3 story: enforce 80 cols, fix formatting, update comments 2022-03-11 12:08:40 -05:00
Liam Fitzgerald
49e53290a1 Merge remote-tracking branch 'origin/yu/dangling-bone' into lf/content-dist-rc 2022-03-11 11:07:51 -06:00
Yaseen
18537e0ae0 story: allow |story-write to also accept a lone title 2022-03-11 11:00:57 -05:00
Yaseen
add4452589 review: symlink base-dev files into arvo 2022-03-11 10:56:23 -05:00
Yaseen
a43dafdf44 review: align end comments 2022-03-11 10:48:35 -05:00
yosoyubik
5ecf87cf52 ames: fix cached state in larval upgrade 2022-03-11 10:22:50 +01:00
yosoyubik
ab116653e8 wip fix dangling bone 2022-03-11 10:21:12 +01:00
Liam Fitzgerald
e621744169 zuse: add +balk core for remote scry path format
+balk defines a datastructure for a parsed remote scry path format in
addition to conversion gates to and from paths.

The new scry path format is /~ship/rift/life/vane/care/spur. Note that
desk no longer appears in the scry path format and should instead be
encoded as the first item of the spur.
2022-03-08 15:11:25 -06:00
ryjm
20fdae85a4 fix typo and beak 2022-03-08 10:13:04 -05:00
ryjm
dc03d866f8 arvo: language-server desk support 2022-03-06 15:45:47 -05:00
Jōshin
06fe78ef6e
Merge branch 'next/arvo' into jo/khan 2022-03-02 20:28:44 -06:00
Jōshin
0139550c79
khan: saner tic rollover, remove our 2022-03-02 20:15:44 -06:00
Jōshin
e54e92cfa9
khan: docs 2022-03-02 18:02:20 -06:00
Jōshin
9d50957861
arvo: remove $crag, promote $page 2022-03-02 17:59:56 -06:00
Jōshin
8afea3c2ba
arvo: $card is not a cask 2022-03-02 17:38:45 -06:00
Jōshin
d06d8044fd
test: confirm different tids on same eny 2022-03-02 17:30:56 -06:00
Jōshin
0b507cf498
khan: don't reset tic
instead make it a rolling 128-bit integer. 128 bits is the same size as
the +sham space, so is one natural choice for "big enough to never have
to think about this." 64, 32, 16, even 8 bits would probably be fine.
2022-03-02 17:28:10 -06:00
Jōshin
18274090b2
khan: handle multiple %fards in one event 2022-03-02 16:37:46 -06:00
Jōshin
5d7321385f
khan: separate arms by blank comments 2022-03-02 15:09:01 -06:00
Jōshin
1ef958ea25
khan: use +en-beam / +de-beam, wide form 2022-03-02 15:07:38 -06:00
Jōshin
02d796cddb
arvo: remove redundant * 2022-03-02 15:07:10 -06:00
Jōshin
e4b6fe6ad3
test: 1162 2022-03-02 13:25:10 -06:00
Jōshin
91d390d529
khan: update docs 2022-03-02 13:23:06 -06:00
Jōshin
340f4d5b6c
khan: %fard/%arow use $cage, not $vase
Threads should eventually take and produce $cage instead of $vase. Since
%khan is likely to be used by third parties, we write to the eventual
intended API. We ignore the mark on the input $cage (it is safe to
always specify %noun), and we always use %noun as the output mark.

%fyrd now makes more sense. It was previously discarding the type of the
output %arow and re-encoding the raw noun as a vase of the output mark;
it is now performing mark conversion from the mark of the output $cage
to the originally requested output mark.
2022-03-02 13:07:52 -06:00
Yaseen
a57cb822a3
Merge branch 'urbit:master' into story 2022-03-02 12:03:44 -05:00
Jōshin
f5fb214939
khan: initial state version is %0 2022-03-01 23:38:55 -06:00
Jōshin
6ce6e4f504
khan: structural slap, not general slam 2022-03-01 19:34:56 -06:00
Jōshin
2e9b4f5a94
khan: better wire production
runs afoul of a likely hoon bug and/or use case for dependent hoon.
2022-03-01 19:33:54 -06:00
DaneBettis
ad2e6975af changes in response to code review 2022-03-01 21:27:33 +00:00
DaneBettis
ee46c6a0dd vere: add %nara %hela hints, add a hoon test module for hints
nara: swedish for near, provides a trace from the start of the nearest virtualization
      to the statement wrapped by the nara hint.

hela: swedish for whole, provides a trace from the start of the event
      to the statement wrapped by the hela hint.

The eventual goal is to present these traces in a way that is most salient & useful to developers
and in a way that is aesthetically pleasing as the bout hint is useful and nice looking.

For this pull request the goal is to provide the actual functionality in code that we can feel
safe and comfortable adding to the master branch. To this end, I've added a trivial set of tests for
nara and hela in pkg/arvo/tests/run/hints.hoon - they only prove that invoking these hints will not
crash the runtime, but I'm open to ideas for how I can test these hints further.
2022-03-01 21:24:11 +00:00
Yaseen
591c19b9a9 story: rename generators 2022-02-25 18:27:54 -05:00
Yaseen
70afcbd642 clay: fix bug in fuse
Co-authored-by: Philip Monk <phil@pcmonk.me>
2022-02-25 16:34:44 -05:00
Yaseen
c1a8d527fa story: fix output formatting in +story-log 2022-02-25 16:28:17 -05:00
Jōshin
a9442040be
khan: alignment 2022-02-25 11:16:47 -08:00
Jōshin
224a363780
test: fix failure introduced by random tids 2022-02-25 11:08:09 -08:00
Liam Fitzgerald
b4da246f01 strandio: add +keen gate 2022-02-24 12:03:07 -06:00
fang
027d80b90c
Merge branch 'lf/content-dist-rc' into m/scry-vane 2022-02-23 16:18:17 -06:00
Liam Fitzgerald
f1c24c07dd ames: refactor to remove unused state 2022-02-23 16:00:56 -06:00
Liam Fitzgerald
c16aaae201 ames: correct behaviour for %yawn 2022-02-23 16:00:56 -06:00
Liam Fitzgerald
479e060e32 ames: add +load for remote scry 2022-02-23 16:00:56 -06:00
Liam Fitzgerald
5baa1b8318 ames: add fast retransmit 2022-02-23 16:00:55 -06:00
Liam Fitzgerald
4be4e9a7a0 ames: fix keen ducts 2022-02-23 16:00:55 -06:00
fang
aaa759268e clay: clean up REVIEW comments 2022-02-23 16:00:55 -06:00
fang
cdff1d91fa clay: scry files at aeons, not timestamps
Turns out we can simply find the corresponding aeon in the nako.
2022-02-23 16:00:55 -06:00
fang
2adc52e03a clay: retry with ames on empty scry response 2022-02-23 16:00:55 -06:00
Liam Fitzgerald
5f5092168f ames: fix sig + data catenation 2022-02-23 16:00:55 -06:00
Liam Fitzgerald
22f3e49823 ames: add |yawn, fix duct wrangling 2022-02-23 16:00:31 -06:00
fang
6b85022a61
clay: properly cancel scry timers and/or requests
Use the correct wires when cancelling the scry request and/or its
timers.

Note that we may produce more %rests and %yawns than strictly necessary,
but these no-op cleanly in those cases.
2022-02-23 15:41:19 -06:00
fang
d8dca44bd2
clay: refactor request wire construction 2022-02-23 15:40:16 -06:00
Joe Bryan
ff3bb495d8 hoon: updates %mcgl with an hygienic expansion 2022-02-22 20:39:30 -05:00
Yaseen
33aa0c8fa7 story: generators: fix case check 2022-02-22 18:33:38 -05:00
Yaseen
5f421d577a story: fix scry path in |story-set 2022-02-22 18:11:55 -05:00
Yaseen
38a2e9d74a story: generators: add desk existence everywhere 2022-02-21 22:13:15 -05:00
Yaseen
4eb7e623cd story: generators: fix case scry 2022-02-21 22:10:22 -05:00
Jōshin
d771a4b9ef
khan: randomize tids
tid was accidentally getting set to the name of the output mark. As we
don't currently support cancelling threads, there is no reason to
maintain the originally-intended correspondence between tid and conn
request-id.

Take the opportunity to clean up indentation somewhat.
2022-02-19 02:18:49 -08:00
Yaseen
a149dc6c40 story: generators: add check for invalid case 2022-02-18 22:30:24 -05:00
Yaseen
c02f59818e story: fix generator bugs 2022-02-18 18:51:37 -05:00
Yaseen
05784fcee3 story: check for storyfile existence and use case from beak where appl. 2022-02-18 18:20:17 -05:00
Yaseen
4b04da5a9a story: make |story-{set,remove} use $cash instead of $case 2022-02-18 17:49:17 -05:00
Yaseen
3d006d60ad clay: add scry for case existence check 2022-02-18 17:43:38 -05:00
Yaseen
9d85401832 story: add generator help text 2022-02-18 17:40:55 -05:00
fang
2969b1aae1
clay: clean up REVIEW comments 2022-02-17 21:17:45 +01:00
fang
02dec3ef5b
clay: scry files at aeons, not timestamps
Turns out we can simply find the corresponding aeon in the nako.
2022-02-17 21:14:52 +01:00
fang
98c6c77ebb
Merge branch 'next/arvo' 2022-02-17 20:32:26 +01:00
fang
b91e3f425e
clay: retry with ames on empty scry response 2022-02-17 20:10:38 +01:00
Liam Fitzgerald
ecb2de63b0 Merge remote-tracking branch 'origin/m/scry-vane' into lf/content-dist-rc 2022-02-17 12:46:09 -06:00
fang
7c0f05f8c3
clay: hook up /back-index %wake
And make sure we handle the timer error case safely.
2022-02-17 16:08:48 +01:00
fang
d6b5633c99
clay: allow for lobe-only need
This can occur after upgrade, or when receiving a %delta blob. We do not
know the path or commit timestamp of a file that resolves to the blob,
so we simply fall back to old ames-style blob-by-lobe fetching.
2022-02-17 16:02:57 +01:00
fang
3473033492
clay: scry when doing file requests outside %sing
In +work, we simply want to fetch file data, regardless of what the
overarching request is. (In fact, %sing would likely never hit this path
anyway.)

In order to be able to make the scry request, we track the timestamp of
the commit that contains a blob we're missing, and scry for that %da
revision.

There's two edge cases where we cannot immediately know the timestamp
that are currently assumed broken. Fix soon.
2022-02-17 15:44:16 +01:00
fang
dd4a115e51
clay: avoid %v scries, cancel scry timer correctly
%v requests are already handled specially for the ames case. We should
continue to respect that, only doing those kinds of requests over ames.

Also cancels the scry timer after receiving a response, instead of not
doing that.
2022-02-17 15:40:44 +01:00
Liam Fitzgerald
6bd6029f57 ames: use finger trees for packet storage 2022-02-16 15:35:59 -06:00
Jōshin
470ae80d4b
khan: cleanup 2022-02-15 22:32:52 -08:00
Jōshin
0e185b66ed
test: fix 2022-02-15 22:32:43 -08:00
Liam Fitzgerald
6688b9e6ad deq: add finger tree datastructure 2022-02-15 16:56:29 -06:00
fang
fb4b3c7196
clay: update straggler state version number 2022-02-15 22:35:53 +01:00
fang
e036c96b61
ted: add -keen thread for simple remote scries
Produces a (unit (cask)), as per %tune.
2022-02-15 20:36:35 +01:00
Liam Fitzgerald
a36dc3aaff ames: per-lane congestion control 2022-02-15 08:47:38 -06:00
fang
0375e0a53f
clay: remove dist-upgraded flag
Ancient version upgraders beware! If you're coming from a home-based
arvo, you must first upgrade to the version prior to this, or else
you'll be in trouble!
2022-02-15 01:02:19 +01:00
fang
c02274dfdd
clay: sync files using remote scry
When clay wants to download blobs from a foreign ship, it attempts doing
this using the new remote scry protocol.

If it doesn't receive a response within ~m1, it falls back to using the
old ames-based syncing instead. We remember this "prefer ames" state for
the specific ship for an hour, after which we'll begin trying the scry
flow again.

Compiles, but untested. Some TODOs and REVIEWs remaining herein.

We intentionally leave the dist-upgraded flag in state to avoid
cluttering the diff here. The next commit will remove it.
2022-02-15 00:51:54 +01:00
Jōshin
6aa72069e3
arvo: introduces $crag
Also strips out `$` from khan top-level comment.

There are arguments for keeping $crag in lull, and on the other side for
moving $cast to arvo. This seemed like the most reasonable approach.
2022-02-14 12:46:31 -06:00
Ted Blackman
b2051fcc2b fine: WIP second list for performance 2022-02-14 10:34:26 -06:00
Jōshin
6d275fe9f3
khan: move =/ down 2022-02-14 09:09:55 -06:00
Jōshin
6c443191a7
khan: name $cast type 2022-02-13 21:13:48 -06:00
Jōshin
044e9015af
Merge branch 'next/arvo' into jo/khan
Conflicts:
	bin/brass.pill
	bin/solid.pill

Resolved by regenerating pills.
2022-02-13 21:00:10 -06:00
Jōshin
e4f5438e88
test: tlv 2022-02-13 20:37:34 -06:00
Jōshin
22ef135323
test: missing mark cases, further cleanup 2022-02-13 20:30:36 -06:00
Jōshin
a1621ed2d4
test: cleanup 2022-02-13 19:58:36 -06:00
Jōshin
76911c6784
test: cleanup 2022-02-13 19:56:29 -06:00
Jōshin
27b6b4f706
test: %fyrd fail case 2022-02-13 13:09:39 -08:00
Jōshin
286c909283
test: refactor, strip out inner %fard call 2022-02-13 12:54:21 -08:00
Jōshin
18e2d751a5
test: remaining %fard failures 2022-02-13 12:51:43 -08:00
Jōshin
5750f5f0f6
test: %khan full run, %fyrd 2022-02-13 12:02:13 -08:00
Jōshin
1d487a758b
test: full run, happy path 2022-02-13 07:33:03 -08:00
yosoyubik
1dd5fca11c roller: bug fix in looking for sending diff 2022-02-12 14:36:40 +01:00
yosoyubik
72794870c8 roller: include signing address in sending txs 2022-02-12 14:02:50 +01:00