Commit Graph

25 Commits

Author SHA1 Message Date
Philip Monk
89b9977ac8 azimuth: fetch snapshot on boot
Previously, the initial Azimuth snapshot was stored in Clay and shipped
in the pill.  This causes several problems:

- It bloats the pill
- Updating the snapshot added large blobs to Clay's state.  Even now
  that tombstoning is possible, you don't want to have to do that
  regularly.
- As a result, the snapshot was never updated.
- Even if you did tombstone those files, it could only be updated as
  often as the pill
- And those updates would be sent over the network to people who didn't
  need them

This moves the snapshot out of the pill and refactors Azimuth's
initialization process.  On boot, when app/azimuth starts up, it first
downloads a snapshot from bootstrap.urbit.org and uses that to
initialize its state.  As before, updates after this initial snapshot
come from an Ethereum node directly and are verified locally.

Relevant commands are:

- `-azimuth-snap-state %filename` creates a snapshot file
- `-azimuth-load "url"` downloads and inits from a snapshot, with url
  defaulting to https://bootstrap.urbit.org/mainnet.azimuth-snapshot
- `:azimuth &azimuth-poke-data %load snap-state` takes a snap-state any
  way you have it

Note the snapshot is downloaded from the same place as the pill, so this
doesn't introduce additional trust beyond what was already required.
When remote scry is released, we should consider allowing downloading
the snapshot in that way.
2022-06-30 23:22:50 -07: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
yosoyubik
72794870c8 roller: include signing address in sending txs 2022-02-12 14:02:50 +01:00
yosoyubik
5c9fc52f47 roller: keep force flag in sending transactions 2022-02-11 14:28:27 +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
yosoyubik
ad16155c77 azimuth: load azimuth state from state snapshot 2021-12-03 16:11:15 +01:00
yosoyubik
d5c44598ba roller: refactor and clean up 2021-11-28 16:37:06 +01:00
yosoyubik
2e94a0d446 azimuth, dice: simplify index update 2021-11-24 15:31:59 +01:00
yosoyubik
e32b0a1956 roller: add sponsorship index 2021-11-10 17:46:22 +01:00
Philip Monk
ea199bfba9
azimuth: correctly load snapshot on boot 2021-11-09 00:22:32 -08:00
yosoyubik
5ea87c1f47 roller: add generators for config options 2021-11-07 10:36:46 +01:00
yosoyubik
095ce0dff4 roller: wip add quota per ship for tx submission 2021-11-06 10:27:00 +01:00
yosoyubik
1c641629e2 roller: add azimuth refresh-rate to getConfig RPC 2021-11-04 09:54:25 +01:00
yosoyubik
c5c6379260 roller: keep only one status entry in tx history 2021-10-31 14:02:33 +01:00
yosoyubik
8b45302982 roller: restore finding index as sig+raw-tx hash 2021-10-30 13:12:09 +02:00
yosoyubik
824de38532 roller: wip order roller tx history by timestamp 2021-10-16 12:47:39 +02:00
yosoyubik
ca0681a4b5 roller: fix for duplicate transactions in a batch 2021-10-13 12:56:47 +02:00
yosoyubik
91be390397 roller: use an ordered map for tracking L2 batches 2021-10-11 17:16:17 +02:00
yosoyubik
cb44dccafa azimuth-roll-rpc: update point:to-json 2021-09-07 12:58:25 +02:00
yosoyubik
2190eea370 roller: add timestamp to roller-tx 2021-08-27 16:05:59 +02:00
yosoyubik
82f959ebd2 roller: wip point ownership tracking 2021-08-27 15:59:10 +02:00
yosoyubik
580007bba8 roller: track ship ownership for address+proxy 2021-08-23 16:32:26 +02:00
yosoyubik
f87658b1ad roller: wip roller-cli client 2021-08-22 18:23:30 +02:00
yosoyubik
d559ad35bc roller: clean up 2021-08-04 15:53:57 +02:00
yosoyubik
722ce969a5 aggregator: refactor ownership index logic 2021-07-22 06:34:42 +02:00