whyrusleeping
38e256cece
add some tracing to the vm's blockstore copy
2020-09-23 20:19:20 -07:00
whyrusleeping
b4e03d1759
batch blockstore copies after block validation
2020-09-23 18:53:28 -07:00
Steven Allen
32a699d6a3
Add some actors policy setters for testing
...
Addresses:
* a307e4593a (r491966115)
* a307e4593a (r491966634)
Note: This puts everything into a policy package to avoid a dependency cycle
between the build package, the miner package, and the types package. This is
also why I introduced a GetPreCommitChallengeDelay function and removed the
variable.
2020-09-23 15:00:52 -07:00
Steven Allen
46f5b62a76
Remove a misleading miner actor abstraction
...
We shouldn't implement CBOR functions on the "abstract" miner info. Otherwise,
we could end up trying to actually _use_ this "abstract" info when decoding
state (which won't work across version).
Also remove the use of these CBOR functions, and instead explicitly use miner0
types. We'll have to abstract over versions eventually, but we'll probably need
some form of abstract miner builder (or maybe even adding some "add sector",
etc. functions to the current miner abstraction?
2020-09-23 14:49:53 -07:00
Aayush Rajasekaran
e09d291e5d
Merge pull request #3939 from filecoin-project/fix/chain-sync-validation
...
Validate chain sync response indices when fetching messages
2020-09-23 17:35:14 -04:00
Steven Allen
1c1d23d142
fix out-of-bounds when loading all sector infos
...
fixes #3972
2020-09-23 12:40:44 -07:00
Łukasz Magiera
a2278e26af
Merge pull request #3887 from filecoin-project/feat/parallel-sync
...
Parallel fetch for chain sync
2020-09-23 19:24:54 +02:00
Raúl Kripalani
f1ab1af617
add init.State#Remove() for testing.
2020-09-23 17:42:01 +01:00
Aayush Rajasekaran
a876a0ba44
Use actor state addresses
2020-09-23 02:32:40 -04:00
Aayush Rajasekaran
819180f739
Implement inefficient OnAddressMapChange predicate
2020-09-23 02:15:01 -04:00
Aayush Rajasekaran
476e7992e8
Add an error return to all actor state interface methods
2020-09-23 01:51:38 -04:00
Aayush Rajasekaran
e27fc03f55
Reward state interface only needs cbor.Marshaler
2020-09-23 01:42:10 -04:00
Aayush Rajasekaran
ed4bf9b8fe
API shouldn't depend on actors directly
2020-09-23 00:51:12 -04:00
Lucas Molas
dcf2735836
move validation from protocol to API
2020-09-22 20:19:31 -03:00
Steven Allen
46fb0e74cd
add deal state iterator
2020-09-22 14:09:33 -07:00
Steven Allen
2967c4ec10
use abstract actor type methods
2020-09-22 12:02:29 -07:00
Steven Allen
441d7ff790
cleanup imports some more
2020-09-22 11:14:55 -07:00
Steven Allen
bc24fdbd14
finish migrating statemanager
2020-09-22 11:09:56 -07:00
Steven Allen
ab070f2ebe
copy actor object when iterating over actors
...
This is a pretty big footgun.
2020-09-22 11:09:41 -07:00
Steven Allen
5314ba8c6d
remove ptr indirection
2020-09-22 10:55:29 -07:00
Aayush Rajasekaran
1dc69e397e
Resolve some unnecessary actor upgrade TODOs
2020-09-22 01:34:21 -04:00
Aayush Rajasekaran
d56da1b014
Refinements to stmgr and utils
2020-09-22 01:34:20 -04:00
Steven Allen
d33dd4f7bc
more renames
2020-09-21 16:01:29 -07:00
Steven Allen
3f0106cfe5
migrate lotus-shed/genesis-verify to actor abstraction
2020-09-21 15:18:30 -07:00
Steven Allen
4bab784e40
migrate lotus-shed verifreg to specs-actors abstractions
2020-09-21 15:04:39 -07:00
Steven Allen
916421b247
convert lotus-shed balances
2020-09-21 13:43:47 -07:00
Steven Allen
a41bf74bad
fix: remove incorrect variable
2020-09-21 13:25:03 -07:00
Steven Allen
0ab2459fce
convert multisig to new actor abstractions
2020-09-21 13:13:38 -07:00
Steven Allen
24ae9205fe
cross-version state tree diff
2020-09-21 12:50:12 -07:00
Steven Allen
4cf0c105eb
optimize sector loading
...
And avoid exposing "arrays" via the miner abstraction. We may change these
structures later.
2020-09-21 12:12:08 -07:00
Steven Allen
025663118f
non-destructive diff
2020-09-21 10:30:33 -07:00
Łukasz Magiera
0b5e4a9612
Make GetSectorsForWinningPoSt fast again
2020-09-21 18:28:32 +02:00
vyzo
5663b2d697
change GetChainMessages api to include tipsets for validation
2020-09-21 18:58:52 +03:00
vyzo
44b52941f7
add option to validate messages against expected tipset
2020-09-21 18:50:41 +03:00
vyzo
58a85f378c
refactor response compressed index validation into its own function
2020-09-21 18:33:31 +03:00
Aayush Rajasekaran
286fe04271
Add some TODOs
2020-09-21 02:52:45 -04:00
vyzo
f135ec8468
fix handling of end of sync
2020-09-21 09:21:25 +03:00
Aayush Rajasekaran
b355eb75eb
Add compile-time checks that actors interfaces are correctly implemented
2020-09-21 02:19:32 -04:00
Aayush Rajasekaran
a95e34f742
Fix build
2020-09-21 02:02:33 -04:00
Aayush Rajasekaran
ed285f1114
Abstract SectorOnChainInfo and SectorPreCommitOnChainInfo
2020-09-21 01:09:42 -04:00
Łukasz Magiera
b25dd2a00d
More correct / fasterer GetSectorsForWinningPoSt
2020-09-20 23:04:45 +02:00
Aayush Rajasekaran
7c3f638f68
Abstract FilterEstimate, PreCommitDepositForPower, and InitialPledgeForPower
2020-09-19 00:41:24 -04:00
Steven Allen
35bce5a5c6
revert post changes
...
1. Calling the specific partition/deadline APIs is faster.
2. It's _much_ easier to test this way.
2020-09-18 15:40:49 -07:00
Steven Allen
1bf3b4989d
rename imports to match actors code
...
`sed -i 's/\bv0\(\w\)\(\w*\)/\L\1\E\20/g' **/*.go`
2020-09-18 14:59:27 -07:00
Steven Allen
4a7055c328
fix state loading in vm
2020-09-18 14:46:55 -07:00
Steven Allen
8285eda8e5
migrate storage miner info
2020-09-18 14:46:42 -07:00
Steven Allen
e60027c00a
remove todo
2020-09-18 14:22:38 -07:00
Steven Allen
24df873498
rename imports
2020-09-18 14:21:05 -07:00
Steven Allen
8747c6083e
abstract over account actor
2020-09-18 14:20:53 -07:00
Steven Allen
fb2b25c297
finish upgrading chainwatch
2020-09-18 13:43:30 -07:00
Łukasz Magiera
70faa36b7f
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-18 19:29:06 +02:00
Aayush Rajasekaran
694463ffbe
More lint fixes
2020-09-18 03:06:28 -04:00
vyzo
3c72461969
MpoolPushUntrusted API for gateway
2020-09-18 09:40:43 +03:00
Aayush Rajasekaran
37de154a7c
Fixup tests
2020-09-18 01:56:21 -04:00
Steven Allen
daa441b989
simplify market diff
2020-09-17 21:48:50 -07:00
Steven Allen
f2a0779bb9
remove specs-actors import
2020-09-17 21:41:36 -07:00
Steven Allen
b2ee59024f
improve diff logic
...
* Make diffing work across versions.
* Start porting more chainwatch logic.
2020-09-17 21:39:34 -07:00
Steven Allen
5bcfee0042
make market diffs work across version upgrades
2020-09-17 16:08:54 -07:00
Steven Allen
dc58f71604
remove unnecessary code
...
Go does have some nice features, once in a while.
2020-09-17 14:59:10 -07:00
Steven Allen
ae38970526
remove WpostProvignPeriod function
2020-09-17 14:56:11 -07:00
Dirk McCormick
c40c1361f0
fix: paych To()
2020-09-17 18:14:07 +02:00
Łukasz Magiera
82b95e34b7
cbor gen
2020-09-17 17:37:16 +02:00
Łukasz Magiera
6eda53565f
Most tests passing
2020-09-17 17:30:24 +02:00
vyzo
6dfc40abc1
error is nil at end, so return batch, nil
2020-09-17 18:23:50 +03:00
vyzo
2946561dec
clean up return code
2020-09-17 18:07:01 +03:00
vyzo
d7948fcbcd
fix log; we want to log time when we succeed!
2020-09-17 18:07:01 +03:00
vyzo
fb605f6d7f
refactor parallel fetch logic into a separate function
2020-09-17 18:07:01 +03:00
vyzo
2a428f09e6
increase exchange ShufflePeersPrefix to 16, use that as the value of concurrent sync requests
2020-09-17 18:07:01 +03:00
vyzo
8a4b629f40
increase sync request batch size to 8
2020-09-17 18:07:01 +03:00
vyzo
b984e94a87
fix bug
2020-09-17 18:07:01 +03:00
vyzo
05a233f84d
add some more logging
2020-09-17 18:07:01 +03:00
vyzo
35f6e10646
parallel chain sync
2020-09-17 18:07:01 +03:00
vyzo
61c0b8c3db
properly close streams in blocksync
...
we were leaking streams right and left...
2020-09-17 18:07:01 +03:00
Aayush Rajasekaran
31ff5230bb
Get State API almost working
2020-09-17 05:05:32 -04:00
Aayush Rajasekaran
053cfc1cc7
Migrate verifreg actor
2020-09-17 03:55:23 -04:00
hannahhoward
691bd9f442
feat(markets): complete markets conversion
...
complete markets conversion to using chain/actors types, also replacing DealProposal/DealState
interfaces with structs
2020-09-17 00:43:14 -07:00
Aayush Rajasekaran
e2295c372a
Migrate multisig actor
2020-09-17 02:57:45 -04:00
Aayush Rajasekaran
b60614982e
Migrate reward actor
2020-09-17 02:42:39 -04:00
Aayush Rajasekaran
9e48dd211a
Fixups
2020-09-17 02:34:15 -04:00
Aayush Rajasekaran
b5ba7a0fad
Miner migration
2020-09-17 02:21:16 -04:00
hannahhoward
80b6994fe2
feat(market): update state diffing for market actor
...
Update to abstract actor for markets state diffing. Also move the diff adt functions inside the
abstract actors
2020-09-16 19:14:07 -07:00
Aayush Rajasekaran
b530f25f09
Migrate miner actor
2020-09-16 17:20:25 -04:00
Łukasz Magiera
ccce1a9715
Merge pull request #3877 from filecoin-project/refactor/net-upgrade-paych
...
Support Network Upgrades: Payment Channel
2020-09-16 20:25:16 +02:00
austinabell
ca956ca57e
Merge branch 'master' of github.com:filecoin-project/lotus into async/stransition
2020-09-16 11:23:55 -04:00
Łukasz Magiera
3d61a37fcf
Merge pull request #3880 from filecoin-project/fix/gas-outputs-regression
...
fix a regression caused by #3800 (GasOutputs zero values)
2020-09-16 12:24:22 +02:00
Łukasz Magiera
0c41522ebf
Merge pull request #3873 from filecoin-project/unify-wdpost-log
...
Use `window post` for window PoSt related log messages.
2020-09-16 12:00:45 +02:00
Raúl Kripalani
362fc180ec
fix a regression caused by #3800 .
2020-09-16 10:54:26 +01:00
Aayush Rajasekaran
90853e24cf
Add a boolean HasMinPower to return of GetPower
2020-09-16 01:47:24 -04:00
Aayush Rajasekaran
b4ee519282
Partial progress towards switching to miner and power interfaces
2020-09-16 01:37:49 -04:00
hannahhoward
05c11531b1
feat(paych): convert paych actor
...
build abstraction for paych actor and switch to using it in payment channel manager and state
predicates
2020-09-15 21:06:04 -07:00
whyrusleeping
6670d22fb5
add command to (slowly) prune lotus chain datastore
2020-09-15 20:20:48 -07:00
jennijuju
5c69249ba3
Use window post
for window PoSt related log messages.
2020-09-15 21:22:29 -04:00
Steven Allen
454c382e7e
migrate StateMinerInitialPledgeCollateral
2020-09-15 18:05:33 -07:00
Aayush Rajasekaran
937ff4e9ae
Add a sync test around blocks with bad nonce messages
2020-09-15 20:55:11 -04:00
Aayush Rajasekaran
952f2c2f1e
Sever chainstore's dependence on the state tree
2020-09-15 20:41:34 -04:00
Steven Allen
92471d41d6
migrate precommit deposit function
2020-09-15 16:47:58 -07:00
austinabell
e53aee26a3
Make state transition in validation async
2020-09-15 18:36:06 -04:00
Steven Allen
02bc5fab26
add power actor address alias
2020-09-15 14:56:00 -07:00
Steven Allen
e1ba4eb5c4
sub reward actor
2020-09-15 14:55:48 -07:00
Steven Allen
4e01fad0d4
start multisig abstraction
2020-09-15 14:44:03 -07:00
Steven Allen
91e9573863
Compile fixes
2020-09-15 12:13:13 -07:00
Steven Allen
4cd92d8576
remove final WithStateTree
2020-09-15 10:57:32 -07:00
Steven Allen
6bf7976add
fix decode
2020-09-15 10:51:18 -07:00
Steven Allen
00c6397ec9
more progress
2020-09-15 10:46:44 -07:00
Łukasz Magiera
d4a7732d0a
Merge pull request #3800 from filecoin-project/asr/gascost
...
Add an API to get detailed gas costs for a message
2020-09-15 19:13:20 +02:00
Łukasz Magiera
9dad38c9a5
gofmt
2020-09-15 15:29:39 +02:00
Łukasz Magiera
4419850195
state api impl fixes
2020-09-15 15:29:25 +02:00
Łukasz Magiera
4dabab5ce6
state manager progress
2020-09-15 13:04:45 +02:00
Łukasz Magiera
72216fe917
Merge pull request #3647 from filecoin-project/fix/enable-strict-basefee-check
...
re-enable baseFee lower bound check
2020-09-15 11:38:28 +02:00
Łukasz Magiera
6665a9ca69
Merge pull request #3845 from filecoin-project/sync-manager
...
syncer: make SyncManager an interface.
2020-09-15 10:28:48 +02:00
Steven Allen
36f920bcd7
progress
2020-09-14 21:55:49 -07:00
Steven Allen
7fa6c1e8d0
add info method to miner state API
2020-09-14 15:45:00 -07:00
Steven Allen
cc4d5306eb
Progress
2020-09-14 15:43:12 -07:00
Steven Allen
02dcb5e182
Merge branch 'master' into refactor/net-upgrade
2020-09-14 14:53:57 -07:00
Steven Allen
9804310cc8
Update specs-actors to 0.9.10
...
Moves the Keyer type (and helpers) into go-state-types.
2020-09-14 14:32:57 -07:00
Raúl Kripalani
dd841f32db
syncer: make SyncManager an interface.
2020-09-14 21:58:59 +01:00
Steven Allen
32eeb96ce7
Update to specs-actors 0.9.9
...
This patch changes the runtime interfaces, to make it possible to abstract over them.
2020-09-14 12:47:39 -07:00
vyzo
172bfacae0
compute baseFee for check even in null rounds
2020-09-14 22:20:26 +03:00
vyzo
0a5494dd79
use the factor in getBaseFeeLowerBound
2020-09-14 22:13:37 +03:00
vyzo
044202b37f
use conservative base fee lower bound factor for strict checks
2020-09-14 22:13:37 +03:00
vyzo
d68ec37942
reenable baseFee lower bound check
2020-09-14 22:13:37 +03:00
Aayush Rajasekaran
d1850ea27d
Add an API to get detailed gas costs for a message
2020-09-14 14:40:13 -04:00
Łukasz Magiera
fb3f710523
Some post-master merge fixes
2020-09-14 15:18:04 +02:00
Łukasz Magiera
06ec571c20
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-14 15:09:52 +02:00
Łukasz Magiera
683a58195e
More terraforming in chain/
2020-09-14 14:46:38 +02:00
Łukasz Magiera
68097132fe
Fix vm build
2020-09-14 13:45:20 +02:00
Raúl Kripalani
6d29d75724
Merge branch 'master' into inmem-journal
2020-09-14 12:17:45 +01:00
Łukasz Magiera
38f87981c1
Fix some build errors
2020-09-14 13:14:06 +02:00
Steven Allen
d3594835c4
[WIP] Network upgrade support
...
This patch starts adding support for network upgrades.
* It adds an actors abstraction layer for loading abstract (cross-version) actors.
* It starts switching over to a shared deadline type.
* It adds an abstraction for ADTs (hamt/amt).
* It removes the callback-based API in the StateManager (difficult to abstract
across actor versions).
* It _does not_ actually add support for actors v2. We can do that in a followup
patch but that should be relatively easy.
This patch is heavily WIP and does not compile. Feel free to push changes
directly to this branch.
Notes:
* State tree access now needs a network version, because the HAMT type will change.
* I haven't figured out a nice way to abstract over changes to the _message_
types. However, many of them will be type aliased to actors v0 in actors v2 so
we can likely continue using the v0 versions (or use the v2 versions
everywhere). I've been renaming imports to `v0*` to make it clear that we're
importing types from a _specific_ actors version.
TODO:
* Consider merging incremental improvements? We'd have to get this compiling
again first but we could merge in the new abstractions, and slowly switch over.
* Finish migrating to the new abstractions.
* Remove all actor state types from the public API. See `miner.State.Info()` for
the planned approach here.
* Fix the tests. This is likely going to be a massive pain.
2020-09-11 20:16:29 -07:00
vyzo
b78fe0b898
fix deadlock
2020-09-11 21:40:25 +03:00
vyzo
bf1036c78f
rename priority variable to protected
2020-09-11 21:12:11 +03:00
vyzo
cf9820137c
don't prune locally published messages
2020-09-11 20:32:52 +03:00
Łukasz Magiera
4410da98be
Merge pull request #3766 from filecoin-project/fix/mpool-prune
...
refactor getBaseFeeLowerBound, use it to prune less aggressively
2020-09-11 11:40:26 +02:00
vyzo
3dfb3e641b
refactor getBaseFeeLowerBound, use it to prune less aggressively
2020-09-11 12:15:03 +03:00
Łukasz Magiera
eaf9ebc2ca
Merge pull request #3752 from filecoin-project/fix/mpool-replace-auto
...
Fix mpool replace --auto
2020-09-11 11:12:35 +02:00
whyrusleeping
0e3dd3cb3b
Add faster and slimmer option to chain export via lotus-shed
2020-09-10 17:28:25 -07:00
Jakub Sztandera
2865a0367b
Fix mpool replace --auto
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-11 00:59:57 +02:00
Jakub Sztandera
6813ab4e65
Add additional metrics
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Jakub Sztandera
fd714cbceb
Remove PackingEfficiency consideration from base fee in an upgrade
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
whyrusleeping
db6bd890d9
condition randomness changes on fork height
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Steven Allen
7a46c5ff31
[WIP] Fix ticket randomness
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
98a9042c07
Use newest network version in genesiss setup stuff
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
beba92aed4
Improve network versioning logic
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
774e068436
Update to specs-actors v0.9.8
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
86ba21029d
Update to go state types 001afaca718c
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
316ac61875
Update to go state types 3ca0d2890090
2020-09-10 17:41:55 -04:00
Jakub Sztandera
bb0a7f91cc
Fix drand non-test
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Jakub Sztandera
73e54352cd
Fix off by one
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Jakub Sztandera
64fa6fd9e5
Draw the rest of the owl
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Jakub Sztandera
2d3f92aeed
Introduce beacon Schedule
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
vyzo
72c7d4c886
relax mpool add strictness checks for local pushes
...
So that a node can have more than 1k pending messages for its own local addresses.
2020-09-10 09:55:50 +03:00
Aayush Rajasekaran
e1a0cf6ca5
Add a checkpoint test
2020-09-09 19:21:48 -04:00
Aayush Rajasekaran
183df4c135
Fix IsAncestorOf
2020-09-09 19:09:55 -04:00
vyzo
d369f542c5
warn when optimal selection fails to pack a block and we fall back to random selection
2020-09-09 23:17:09 +03:00
Jakub Sztandera
ef18f93609
Merge pull request #3698 from filecoin-project/fix/mpool-packing-failure
...
fix mpool optimal selection packing failure
2020-09-09 21:38:26 +02:00
Aayush Rajasekaran
f0554676dd
Explicitly check tipsetkeys when considering checkpoint
2020-09-09 14:34:05 -04:00
Aayush Rajasekaran
5c852e26c2
Add a SyncUnmarkBad API
2020-09-09 14:34:05 -04:00
Aayush Rajasekaran
5e3c178b9e
Add a sync test for checkpointed tipsets
2020-09-09 14:34:04 -04:00
Aayush Rajasekaran
35aa78dad9
Allow marking a certain tipset as checkpointed
2020-09-09 14:34:00 -04:00
vyzo
cf515bc5ca
add selection test with real world messages dumped from a live node mpool
2020-09-09 20:46:26 +03:00
vyzo
97cbfa11b7
fix nasty bug in optimal selection
...
the sort has to account for negative gasPerf and be stable; go figure.
2020-09-09 20:45:24 +03:00
Łukasz Magiera
1d78ffc04d
Merge pull request #3676 from filecoin-project/feat/mpool-replace-auto
...
add an auto flag to mpool replace
2020-09-09 19:31:43 +02:00
whyrusleeping
e9b85f5acb
ensure replaced message can properly RBF
2020-09-09 10:23:41 -07:00
Łukasz Magiera
cb3b0ab2bb
Merge remote-tracking branch 'origin/master' into blocksync-refactor
2020-09-09 19:19:05 +02:00
vyzo
194b6eb9d8
fix issue with gasLimit check for trimming (> instead of >=)
2020-09-09 12:58:51 +03:00
vyzo
0b09082450
adjust optimal selection to always try to fill blocks
2020-09-09 12:37:03 +03:00
Aayush Rajasekaran
06b814b627
Merge pull request #3673 from filecoin-project/fix/long-syncs-over-upgrade
...
pass tipset through upgrade logic
2020-09-08 22:28:42 -04:00
whyrusleeping
8a8f0ab3ec
pass tipset through upgrade logic
2020-09-08 13:45:44 -07:00
Łukasz Magiera
1ef0359731
Merge pull request #3668 from filecoin-project/feat/sync-fetching-messages-state
...
Add StageFetchingMessages to sync status
2020-09-08 21:15:05 +02:00
Jakub Sztandera
44f4372ca3
Add StageFetchingMessages to sync status
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 20:42:20 +02:00
vyzo
26ff596983
fix very minor bug in repub baseFeeLowerBound
...
messages will not be accepted if the GasFeeCap is less than minimumBaseFee, but it doesn't hurt
to be correct.
2020-09-08 19:02:05 +03:00
Raúl Kripalani
b33db9c1ab
Merge branch 'master' into blocksync-refactor
2020-09-08 14:22:43 +01:00
Łukasz Magiera
867469e9b3
Merge pull request #3648 from filecoin-project/fix/dont-use-latency
...
Don't use latency as initital estimate for blocksync
2020-09-08 14:56:23 +02:00
Jakub Sztandera
b66058e417
Add 0 guard
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 12:19:37 +02:00
Jakub Sztandera
ba9678bd61
Use for to iterate over channel
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 12:11:30 +02:00
Jakub Sztandera
74e577610a
Forward peers from hello to blocksync
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 10:18:51 +02:00
vyzo
37ec1a978e
nicer check using Time objects
2020-09-08 10:47:41 +03:00
vyzo
27fa9969f3
fix isChainNearSync check in block validator
2020-09-08 10:26:27 +03:00
Jakub Sztandera
93176c91f4
Track time in relation to request size
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 09:06:31 +02:00
Jakub Sztandera
043e62ab63
Don't use latency as initital estimate for blocksync
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 08:59:05 +02:00
Aayush Rajasekaran
c77f5f6252
Revert "only subscribe to pubsub topics once we are synced"
2020-09-08 00:32:26 -04:00
whyrusleeping
d1cf445327
use defined constant for fork height
2020-09-07 16:18:22 -07:00
whyrusleeping
26ec0716b9
fix lint errors
2020-09-07 16:12:44 -07:00
whyrusleeping
97af576f6a
Implement faucet funds reallocation logic
...
use all committed sectors instead of power
give all miners who had at least a sector on friday a base amount
include genesis miner in redistribution
drop back to 1,000,000
2020-09-07 16:06:13 -07:00
Aayush Rajasekaran
0e986df7e5
Merge pull request #3627 from filecoin-project/asr/specs-update-0.9.7
...
Update to specs 0.9.7 and markets 0.6.0
2020-09-07 18:00:56 -04:00
Aayush Rajasekaran
45011c0fad
Use latest version if no upgrade height is specified
2020-09-07 17:43:14 -04:00
Aayush Rajasekaran
6eea5dd109
Update to specs 0.9.7 and markets 0.6.0
2020-09-07 17:11:32 -04:00
Jakub Sztandera
46ee2eeded
Upgrade to correct fork treshold
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 23:07:33 +02:00
Jakub Sztandera
704db225d1
Update the fork point
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:45:06 +02:00
Jakub Sztandera
ce0e9594df
Update to go-state-types
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:12 +02:00
Jakub Sztandera
835b7eb6f7
Make allowNegativeChains a function
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:12 +02:00
vyzo
172ff846fd
decouple negative chain selection from base fee lower bound validation
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:12 +02:00
vyzo
97fddc45d9
temporarily allow negative perfoming chains
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:09 +02:00
whyrusleeping
5654322f54
introduce logic to perform base fee tamping around the upgrade time
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:31:36 +02:00
Aayush Rajasekaran
d678fe4bfa
Fix tests
2020-09-07 15:48:42 -04:00
Aayush Rajasekaran
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
anorth
a8dcea1422
Remove use of exitcode.SysErrInvalidParameters
2020-09-07 15:48:41 -04:00
vyzo
2233751668
use the baseFeeLowerBound for computing repub message chains
2020-09-07 21:53:30 +03:00
Raúl Kripalani
453e826a0f
rename p2p protocol to /fil/chain/xchg/0.0.1 (backwards-compatible); rename more.
2020-09-07 19:45:34 +01:00
Raúl Kripalani
55b1456d45
blocksync: introduce interfaces; rename to chainexchange.
2020-09-07 19:31:43 +01:00
vyzo
41222792ed
add docstring for verifyMsgBeforeAdd
2020-09-07 20:26:51 +03:00
vyzo
5659faf7f0
don't immediately publish messages that cannot be included in the next 20 blocks
2020-09-07 20:20:49 +03:00
vyzo
2e75d9c80a
be explicit about republish interval, check against timecache duration
2020-09-07 20:20:49 +03:00
vyzo
0fcf8838cc
improve republish logic to only republish messages that can be included in the next 20 blocks
2020-09-07 20:20:49 +03:00
Łukasz Magiera
758aae8556
Merge pull request #3586 from filecoin-project/feat/expected-height-metric
...
metrics: add expected height metric
2020-09-07 19:09:06 +02:00
Łukasz Magiera
ffbbd968c2
Merge pull request #3602 from filecoin-project/feat/delayed-pubsub-join
...
only subscribe to pubsub topics once we are synced
2020-09-07 19:08:21 +02:00
vyzo
e3aaedbc33
fix tests
2020-09-07 19:46:58 +03:00
Łukasz Magiera
f6f5405a2c
Fix lint
2020-09-07 18:21:45 +02:00
Łukasz Magiera
551ff6a6fb
Merge pull request #3608 from filecoin-project/fix/second-argument-error-message
...
fix: second argument error message
2020-09-07 18:06:22 +02:00
Łukasz Magiera
d3e5092b43
Merge pull request #3611 from filecoin-project/fix/tscache-nil-best
...
chain events: if cache best() is nil, return chain head
2020-09-07 18:05:34 +02:00
vyzo
d9faff19a5
fix tests
2020-09-07 15:55:53 +03:00
vyzo
4f0ab4f226
remove notifee after subscribing
2020-09-07 15:55:53 +03:00
Dirk McCormick
76a1b3286b
fix: if cache best is nil, return chain head
2020-09-07 14:43:06 +02:00
Alan Shaw
9d9d2a2a98
fix: second argument error message
...
Second argument should be a pointer, not runtime.
2020-09-07 12:29:40 +01:00
Raúl Kripalani
798061506e
decommission chain validation.
2020-09-07 11:34:36 +01:00
Travis Person
f7b52d16f5
metrics: add expected height metric
2020-09-07 02:57:12 +00:00
vyzo
e24a29b146
fix tests that touch the mpool; mock block must have a ParentBaseFee
2020-09-06 11:55:43 +03:00
vyzo
ffb2640736
use faster lookup for base fee
2020-09-06 11:55:43 +03:00
vyzo
f9492691a6
don't check baseFee lower bound for local messages
2020-09-06 11:55:43 +03:00
vyzo
1c0e6d76f0
add defensive check for minimum GasFeeCap for inclusion within the next 20 blocks
2020-09-06 11:55:43 +03:00
Łukasz Magiera
6bdd433570
Merge pull request #3538 from filecoin-project/steb/safe-exports
...
Robustify state manager against holes in actor method numbers
2020-09-05 21:58:03 +02:00
Łukasz Magiera
f58cbc2594
Merge pull request #3557 from filecoin-project/fix/mpool-repub-negative
...
republish messages even if the chains have negative performance
2020-09-05 21:48:39 +02:00
Łukasz Magiera
1e190e462a
Merge pull request #3562 from filecoin-project/fix/mpool-log-spam
...
reduce mpool add failure log spam
2020-09-05 21:47:29 +02:00
Łukasz Magiera
780f6dba34
Remote wallet backends
2020-09-05 21:39:09 +02:00
vyzo
5037282b98
add test for priority selection with negative chains
2020-09-05 22:15:18 +03:00
vyzo
0b3685e529
fix selection bug; priority messages were not included if other's chains were negative
2020-09-05 21:30:02 +03:00
vyzo
275f071b12
reduce mpool add failure log spam
2020-09-05 00:28:13 +03:00
Łukasz Magiera
f90cfda2e6
wallet: Add interface layer
2020-09-04 22:18:03 +02:00
vyzo
ad8d550d73
remove unused ts argument from Trim, replace it with allowNegative specifier
2020-09-04 22:32:30 +03:00
Steven Allen
fceeaf42ca
Robustify state manager against holes in actor method numbers
...
Also, don't simply assume that the field order matches the method numbers in
`builtin.Method*` structs.
2020-09-04 12:26:55 -07:00
Steven Allen
30fdff17b5
Skip nil exports
...
The actors may skip previously used but no longer defined method numbers.
2020-09-04 12:26:55 -07:00
vyzo
6d53862142
republish messages even if the chains have negative performance
2020-09-04 22:16:10 +03:00
Raúl Kripalani
1ec534d607
Merge branch 'master' into inmem-journal
2020-09-04 10:55:40 +01:00
Raúl Kripalani
905168e72e
fix lint errors.
2020-09-04 10:54:56 +01:00
Łukasz Magiera
01449e486c
Merge pull request #3528 from filecoin-project/fix/sele-gas-reward
...
Fix calculation of GasReward in messagepool
2020-09-03 20:41:28 +02:00
Jakub Sztandera
8111b227c4
Appease the linter
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-03 20:19:01 +02:00
Jakub Sztandera
8bb471bccd
Add getGasPerf test
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-03 20:19:01 +02:00
Jakub Sztandera
5074b526d0
Fix calculation of GasReward in messagepool
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-03 19:36:03 +02:00
Raúl Kripalani
97ff90f8fa
fix imports.
2020-09-03 15:51:26 +01:00
vyzo
d20b6adfd2
refuse to add duplicates in the mpool
2020-09-03 15:28:44 +03:00
vyzo
a4c650316a
fix test
2020-09-03 15:28:44 +03:00
vyzo
28f57667f0
cap MaxNonceGap to 4, add delay between batch messages during republish
2020-09-03 15:28:44 +03:00
vyzo
f53d2e3a46
cap MaxNonceGap to 16
2020-09-03 15:28:44 +03:00
vyzo
7b76aa2078
warn when adding a nonce-gapped message to the mpool
2020-09-03 15:28:44 +03:00
vyzo
d76a3b87c5
ignore messages with large nonce gaps
2020-09-03 15:28:44 +03:00
vyzo
da6d384300
fix tests
2020-09-03 15:28:44 +03:00
vyzo
4c489d18a2
track expected nonce in mpool, refuse messages with large gaps
2020-09-03 15:28:44 +03:00
austinabell
6b63fa379f
format
2020-09-02 16:45:50 -04:00
austinabell
485f13de12
Remove load check
2020-09-02 16:45:23 -04:00
austinabell
7f3ba0e6eb
Merge branch 'master' of github.com:filecoin-project/lotus into extratsload
2020-09-02 16:44:06 -04:00
Lucas Molas
ca8f5861fe
Update chain/blocksync/server.go
...
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-09-02 17:07:39 -03:00
Raúl Kripalani
3206f92063
Merge branch 'master' into inmem-journal
2020-09-02 19:50:52 +01:00
whyrusleeping
9a5542100a
load fewer messages from disk when serving blocksync requests
2020-09-02 11:43:05 -07:00
whyrusleeping
2b16e69e90
allow snapshot importing
2020-09-02 17:15:10 +02:00
whyrusleeping
09ebd1a557
allow exporting a number of recent chain state trees
2020-09-02 17:15:10 +02:00
austinabell
ba881eb4cf
Remove height from chain rand
2020-09-01 15:48:16 -04:00
Aayush Rajasekaran
93814cc85a
Merge pull request #3392 from filecoin-project/fix/mpool-priority-selection
...
Tweak priority selection to not select negative perfoming chains
2020-08-31 19:22:12 -04:00
刘林欣
0926f95979
remove the unnecessary err check
2020-08-31 15:11:45 +08:00
vyzo
648130eec5
don't include negative performing chains in priority message selection
2020-08-29 15:55:19 +03:00
Łukasz Magiera
953effcc43
Merge pull request #3350 from filecoin-project/fix/some-fsm-issues
...
Fix some fsm issues
2020-08-29 02:16:59 +02:00
Łukasz Magiera
a62e44c4e5
Fix lint
2020-08-29 02:13:38 +02:00
Łukasz Magiera
84a632787c
Merge pull request #3313 from filecoin-project/feat/mpool-balance-tracking
...
Message Pool Rudimentary Spam Protection Measures
2020-08-28 22:35:30 +02:00
vyzo
806f7dd15f
windowSize should not exceed blocksync.MaxRequestLength
2020-08-28 23:18:06 +03:00
vyzo
63a60cdd75
be more conservative in increasing the window size, check that we actually had more messages
2020-08-28 23:09:48 +03:00
vyzo
3935fd77ac
remember syncer windowSize
2020-08-28 22:52:40 +03:00
vyzo
4e7fd5b6d7
sync: increase window size when successful fetching messages
2020-08-28 22:03:06 +03:00
vyzo
1f660c9e04
sync: half window size and retry when fetching messages fails
2020-08-28 18:45:20 +03:00
Łukasz Magiera
20ffce5c0d
Merge remote-tracking branch 'origin/master' into fix/some-fsm-issues
2020-08-28 16:47:25 +02:00
lanzafame
64768f093d
rename local recordFailure func
2020-08-28 17:15:11 +10:00
lanzafame
a24db6c584
refactor block validate recordFailure func
2020-08-28 17:11:59 +10:00
lanzafame
050a0ec5e4
further reduce code duplication
2020-08-28 17:01:45 +10:00
lanzafame
0254e4b365
reduce code duplication
2020-08-28 16:53:59 +10:00
lanzafame
094baf8aa9
distinguish local message validation failures from remote
2020-08-28 16:11:24 +10:00
Łukasz Magiera
86c936759b
Merge pull request #3357 from filecoin-project/fix/block-validator-power
...
ignore, don't reject block if we can't determine power
2020-08-28 00:24:53 +02:00
austinabell
39ef3a701b
Remove unsigned message pointer from Runtime
2020-08-27 17:34:45 -04:00
vyzo
708a8b6543
flag to allow add to skip limit check
...
essential for correctness in the revert case
2020-08-28 00:04:21 +03:00
Łukasz Magiera
6c7874c883
Merge remote-tracking branch 'origin/master' into fix/some-fsm-issues
2020-08-27 21:37:08 +02:00
vyzo
6c3d8ec1de
ignore, don't reject block if we can't determine power
2020-08-27 16:53:53 +03:00
Łukasz Magiera
df635579c4
storagefsm: Handle sectors with expired deals better
2020-08-27 13:51:38 +02:00
whyrusleeping
a33784c434
print block 'age' when validating blocks during sync
2020-08-26 14:48:53 -07:00
vyzo
038e83b647
log error if we trip over too many pending messages for actor
2020-08-26 22:55:39 +03:00
vyzo
82ef0529d8
named error for too many pending messages
2020-08-26 22:48:03 +03:00
vyzo
6abfbbddd5
fix tests
2020-08-26 22:44:47 +03:00
vyzo
ad889a7240
rate limit messages per actor by enforcing maximum pending message limit
2020-08-26 22:40:10 +03:00
vyzo
d3e95d6b77
cast min base fee to uint64
2020-08-26 21:37:32 +03:00
vyzo
8db262c941
check gas fee cap for minimum value
2020-08-26 21:23:28 +03:00
vyzo
793eda986b
comment out Value inclusion for required funds tracking
...
we are not sure whether we want it yet.
2020-08-26 21:10:46 +03:00
vyzo
8848c549a0
move msg serialization outside of lock, consistently use curTs
2020-08-26 19:42:56 +03:00
vyzo
4919a005d3
always verify message min gas
2020-08-26 19:37:27 +03:00
Raúl Kripalani
cb8e105a94
reduce diff noise.
2020-08-26 16:44:06 +01:00
Raúl Kripalani
efdfd3ee3e
Merge branch 'master' into inmem-journal
2020-08-26 16:38:23 +01:00
Raúl Kripalani
4e1ef09751
make journal a global var.
2020-08-26 16:09:37 +01:00
vyzo
7a7066896e
better code for getRequiredFunds
2020-08-26 15:37:42 +03:00
vyzo
a2c0c10d2a
correctly account for message replacement in required funds tracking
2020-08-26 15:27:09 +03:00
vyzo
c473d3c682
rename ErrValidationFailure to ErrSoftValidationFailure
...
to make it clear to readers that this failure is soft; we might be out of sync.
2020-08-26 15:16:04 +03:00
vyzo
87e6c0973a
include message Value only in soft validation failures
2020-08-26 15:13:50 +03:00
vyzo
78876947a4
ErrBroadcastAnyway is now ErrValidationFailure
2020-08-26 15:03:13 +03:00
vyzo
b59f58435c
fix tests
2020-08-26 14:58:32 +03:00
vyzo
4adb83eaae
check aggregate pending message required funds against balance
2020-08-26 14:58:26 +03:00
vyzo
4ac9828b0c
track required funds in message set
2020-08-26 14:38:26 +03:00