Adds a new transaction type and signing method for eip-1559-style
transactions.
Includes a $typed-transactions type which can support any number of
eip-2718-style typed transactions.
Previously, this would measure as <20 bytes for addresses with leading
zeroes. This resulted in transactions with unexpected behavior.
For example, sending ETH to the zero address would create a contract
instead.
Here we switch to using +encode:rlp directly and indicate a width of
20 bytes for the "to" field.
Null bytes in lists were getting eaten during concatenation. To avoid
this, we track encoded item widths (which are always 1 or higher) and
+can them all together.
This likely did not affect any of the other Ethereum code, considering
it nearly always measures atoms, and the null byte would be seen as
no bytes in that case.
* frodwith/urcrypt: (75 commits)
move libaes_siv to deps
fix typo in urcrypt.h
libaes_siv now using tip of dfoxfranke master
check for recovery header presence in configure, put -O3 in flags, move pc to distcleanfiles
clean generated pkg-config file
update urbit's configure to use a liburcrypt version
add a versioning scheme to urcrypt
remove scrypt from urbit build (in urcrypt now)
move the rest of the scrypt jets to urcrypt, enable them, and correct the hoon test to match the source rfc.
scr-pbk->urcrypt
start scrypt porting
Squashed 'pkg/urcrypt/scrypt/' content from commit a402f4116
finish porting secp jets to urcrypt
pkg-config support for urcrypt, update urbit build
cosmetic configure things
require shared ssl when building a shared urcrypt
remove some old files
add autogen.sh
use srcdir in -I to support out of tree builds
whitespace and symbol cleanup
...
Start with |start %desk %app-name
Everywhere in the kernel that we deal with marks, we infer the app it's
connected to and use the marks from that desk.
Also some light renaming in gall, especially path->wire and
current-agent->yoke.
Subsequent tasks:
- Dojo needs a syntax to run generators and threads from other desks
- The home desk should be split into at least a minimal base desk and
big "userspace" desk. Dill's initialization logic should be updated
to handle
- |show-package, |install, and |uninstall should to be written
- Clay should have smarter handling of system versions instead of just
ignoring what's on each desk. It's not clear that this will work
correctly when sys updates right now.
* master: (160 commits)
glob: update to 0v6.8mn05.16g61.46lkc.lgddc.3ifug
metadata-push-hook: fixes issue with adding unmanaged metadata
pills: update solid
graph-push-hook: don't crash on multipart add
glob: update to 0v5.g86fq.9ngth.ki9h1.q7kut.icm5f
graph-store: scry only once during +validate-graph
graph-store: fewer allocations in +validate-graph
graph-store: speed up +validate-graph by using +turn and no longer virtualizing
interface: version local state by commit hash
graph-push-hook: add hc where appropriate and enforce type-checking to prevent issue in future
graph-validators: speed up validators by adding type casts
build: only run publish-npm-packages on pkg/npm
build: match on path subdirectories
glob: update to 0v1.4ujsp.698kt.ojftv.7jual.4hhu5
launch: prevent aggressive tutorial render
launch: get tutorial state from zustand
push-hook: add version scries
glob: update to 0v5.b7cjf.2kc12.85sng.lkqav.7sn0k
readme: update arvo maintainers list
notifications: clear before applying unreads
...
Fixes#4598.
#4474 made the JSON time conversion no longer invertible, which caused
problems for chat, which uses message timestamp in milliseconds as a key
-- so chat would send a message with ms timestamp x, it would get
encoded as @da x, but then when it went back through the conversion to
milliseconds, it would often (not always) get encoded as x-1.
I still do not fully understand why this is -- and why it doesn't seem
to be a problem with seconds based on cursory testing -- but integer
multiplication and division generally do not invert. And adding a half a
millisecond to the input date before converting it resolves the issue
and makes the functions invertible.
I added a regression test, so hopefully the next courageous adventurer
who winds up here after wondering why +unm looks funny will have a
safeguard against some of the mistakes I made.