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.
It will measure them for you, making it easier to encode lists
containing both fixed- and variable-width numbers.
Largely obviates the need for +encode-atoms.
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.
* release/next-vere: (104 commits)
vere: adds backwards-compatibility TODO comments for terminal inputs
vere: adds backwards-compatibility to blit handling under -t
u3: replaces spurious bloq-size bail:exit's in +rap and +rep jets
build: patch windows uv_pipe impl to allow null writes
build: update pmnsh to support cachix text/x-nix-narinfo responses
vere: renames terminal streams for clarity, removes unused uv_tcp_t
vere: refactors _term_it_send_csi()
vere: suppress null writes in term.c
vere: use memset to wipe hashmaps
pill: all
webterm: simpler TermState
webterm: clean up component state derivation
webterm: fix broken api interactions
herm: close old-style subscriptions
webterm: include @urbit/api/term files
herm: accept old /view/* wires
hood, pill: clean up merge artifacts
webterm: improve container handling
webterm: factor logic out into functions
webterm: more idiomatic array type definitions
...