Steven Allen
d6abcff63c
fix(lotus-sim): apply code review from magik6k
...
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2021-06-21 09:05:48 -07:00
Steven Allen
eb2b706156
chore: fix lint errors in simulation
2021-06-18 15:44:37 -07:00
Steven Allen
2aedd82c72
fix(lotus-sim): correct window post batch sizes
2021-06-18 15:44:37 -07:00
Steven Allen
bc2698a988
fix(lotus-sim): simulate using realistic gas numbers
...
Previously, we assumed the network was "optimal". Now, we're using real
numbers.
2021-06-18 15:44:37 -07:00
Steven Allen
a26cd5a809
fix(lotus-sim): mark provecommit stage initialized
2021-06-18 15:44:37 -07:00
Steven Allen
ce29a0ac17
fix(lotus-sim): initialize commit queue
2021-06-18 15:44:37 -07:00
Steven Allen
28e6fa5923
fix(lotus-sim): remove duplicate error handling
2021-06-18 15:44:37 -07:00
Steven Allen
ec5fab09a1
feat(lotus-sim): log failing proofs
2021-06-18 15:44:37 -07:00
Steven Allen
e41f0842b0
fix(lotus-sim): load prove-commits
...
(regression from refactor)
2021-06-18 15:44:37 -07:00
Steven Allen
95cf577447
fix(lotus-sim): really cancel walk immediately
2021-06-18 15:44:36 -07:00
Steven Allen
f9d2a23132
fix(lotus-sim): correctly handle cancellation in walk
...
1. Select order is not guaranteed, always check if the context has been
canceled explicitly.
2. Never close a work channel unless we're actually done. This can yield
out-of-order results due to buffering.
2021-06-18 15:44:36 -07:00
Steven Allen
ec3f969e9a
feat(lotus-sim): allow walking back past the start
2021-06-18 15:44:36 -07:00
Steven Allen
52261fb814
refactor(lotus-sim): enterprise grade
...
While the previous version "worked", this version nicely separates out
the state for the separate stages. Hopefully, we'll be able to use this
to build different pipelines with different configs.
2021-06-18 15:44:36 -07:00
Steven Allen
707b3bf08a
fix(lotus-sim): refuse to start simulation with no miners
2021-06-18 15:44:36 -07:00
Steven Allen
1df5445ed2
feat(lotus-sim): make walk parallel
2021-06-18 15:44:36 -07:00
Jakub Sztandera
3d3c26fa0c
Add lookback limit
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-06-18 15:44:36 -07:00
Steven Allen
68593ce995
fix(lotus-sim): obey context in walk
2021-06-18 15:44:36 -07:00
Jakub Sztandera
ca9eadd7c7
Add gas info command
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-06-18 15:44:36 -07:00
Steven Allen
16449007ab
fix(lotus-sim): fix funding error check
2021-06-18 15:44:35 -07:00
Steven Allen
8d734d81d9
fix(lotus-sim): log failed pre-commits and continue
2021-06-18 15:44:35 -07:00
Steven Allen
783dc5a33d
fix(lotus-sim): fund multiple times
...
Sometimes, a miner is deep in the red.
2021-06-18 15:44:35 -07:00
Steven Allen
be713ec04a
fix(lotus-sim): we always fill the block with pre-commits
2021-06-18 15:44:35 -07:00
Steven Allen
4a80c83533
fix(lotus-sim): fix spelling
2021-06-18 15:44:35 -07:00
Steven Allen
2b77c17546
chore(lotus-sim): fix import grouping
...
I got a bit lazy when developing this.
2021-06-18 15:44:35 -07:00
Steven Allen
1802ae31a6
feat(lotus-sim): record timing information for pre/prove-commit packing
2021-06-18 15:44:35 -07:00
Steven Allen
868231adc7
fix(lotus-sim): don't take from the fund account when funding
2021-06-18 15:44:35 -07:00
Steven Allen
2b4f865665
feat(lotus-sim): fund from a funding account
...
Instead of funding the simulation from the burnt-funds actor, fund from
a custom account and take a "tax" to fund that account.
Otherwise, we run out of funds...
2021-06-18 15:44:35 -07:00
Steven Allen
86e459f585
feat(lotus-sim): return receipt
...
Instead of returning a "full" boolean and an error, return a receipt and
an error. We now use the error to indicate if the block is "full".
2021-06-18 15:44:35 -07:00
Steven Allen
88af350774
fix(lotus-sim): use global base-fee value
2021-06-18 15:44:35 -07:00
Steven Allen
747b3d3e57
fix(lotus-sim): skip miners without power when loading
2021-06-18 15:44:35 -07:00
Steven Allen
77f0fee58e
chore(lotus-sim): fix comment about simulation block miner
2021-06-18 15:44:35 -07:00
Steven Allen
4f0b9eefc1
fix(lotus-sim): check for slash in names on copy
2021-06-18 15:44:35 -07:00
Steven Allen
8410b0f79f
feat(lotus-sim): add a feature to copy/rename simulation.
...
Useful to backup old simulations before creating a new one.
2021-06-18 15:44:35 -07:00
Steven Allen
c5dc67ccd8
feat(lotus-sim): add a walk function
...
This way, we can easily walk the chain and:
1. Inspect messages and their results.
2. Inspect tipset state.
2021-06-18 15:44:35 -07:00
Steven Allen
5f6733fe44
feat(lotus-sim): expose StateManager from Simulation
2021-06-18 15:44:35 -07:00
Steven Allen
0faacbe154
feat(lotus-sim): store start tipset
2021-06-18 15:44:35 -07:00
Steven Allen
a57c509e1e
fix(lotus-sim): cleanup and document pre-commit filtering
2021-06-18 15:44:35 -07:00
Steven Allen
f9ebe3017d
test(lotus-sim): test commit-queue rollover
2021-06-18 15:44:35 -07:00
Steven Allen
0725019bdb
feat(lotus-sim): completely pack block
...
Instead of packing till we see "full". Prove-commits are large, we may
have room for some more pre-commits.
2021-06-18 15:44:34 -07:00
Steven Allen
dfdafa3c15
fix(lotus-sim): pretend all messages are BLS
...
It doesn't really matter, and it ensures they all get executed in-order.
2021-06-18 15:44:34 -07:00
Steven Allen
5b31ae39ea
fix: test commit queue
2021-06-18 15:44:34 -07:00
Steven Allen
82019ce474
fix(lotus-sim): correctly merge forward commit queue.
2021-06-18 15:44:34 -07:00
Steven Allen
2e4f526375
fix(lotus-sim): skip (and log) missing/expired pre-commits
2021-06-18 15:44:34 -07:00
Steven Allen
0ccf716989
fix(lotus-sim): refactor miner state loading
...
Add a helper function so we don't need to constantly repeat ourselves.
2021-06-18 15:44:34 -07:00
Steven Allen
7925b69573
doc(lotus-sim): document block generation logic
2021-06-18 15:44:34 -07:00
Steven Allen
2f7d7aed31
feat(lotus-sim): refactor and document
...
Hopefully, this'll make this code a bit easier to approach.
2021-06-18 15:44:34 -07:00
Steven Allen
b7bfc06ebe
feat(lotus-sim): add an info command
2021-06-18 15:44:34 -07:00
Steven Allen
8000decac6
feat(lotus-sim): add command to list pending upgrades
2021-06-18 15:44:34 -07:00
Steven Allen
e2f5c494b0
feat: implement lotus-sim
2021-06-18 15:44:34 -07:00