Steven Allen
7d3bd146e6
rebase fixup
2020-09-25 12:51:02 -07:00
Steven Allen
8b35f480c4
initial vm conversion
...
We're probably going to want to change some of these design decisions down the
road, but this is a good starting point.
* We may want to use a more general test for "is actor valid at epoch". Maybe
just a function?
* I'd like to push some of the actor metadata down into the actor types
themselves. Ideally, we'd be able to register actors with a simple
`Register(validation, manyActors...)` call.
2020-09-25 12:49:39 -07:00
Steven Allen
d9656f5220
add a generic load method for actor state
...
This will make it easier to load arbitrary actors. We can:
* Type switch (sort of unsafe, may want marker methods?)
* Use this with `vm.MutateActorState`.
2020-09-25 12:49:39 -07:00
Steven Allen
87351fa35c
move version to actors, from builtin
...
Otherwise, we're going to end up with an import cycle between the adt and this
version.
2020-09-25 12:49:39 -07:00
Steven Allen
edb31e606a
correctly load new actors
2020-09-25 12:49:39 -07:00
Steven Allen
8806f27220
fix runtime reflection for upgrade
2020-09-25 12:49:39 -07:00
Steven Allen
858f11992f
compile fix
2020-09-25 12:49:39 -07:00
Steven Allen
35562bd2f9
fixup v1 actors for new methods
...
Also, correctly handle multiple ADT versions.
2020-09-25 12:49:39 -07:00
Aayush Rajasekaran
ebad0ded3d
Introduce v1 actors
2020-09-25 12:49:39 -07:00
Aayush Rajasekaran
60e43ccbb1
Add an envvar to set address network version
2020-09-25 15:45:27 -04:00
Steven Allen
bdc782617f
return an error when we fail to find a sector when checking sector expiration
...
Returning nil, nil is a footgun.
fix: https://github.com/filecoin-project/lotus/issues/3984
2020-09-25 11:28:38 -07:00
Dirk McCormick
80a7ed8116
refactor: use abstract types instead of specs-actors
2020-09-25 15:54:27 +02:00
Raúl Kripalani
68663060dc
add state.StateTree#Version() accessor.
2020-09-24 17:58:49 +01:00
Łukasz Magiera
85caa48814
Merge pull request #3991 from filecoin-project/feat/nicer-syncwait
...
Make sync wait nicer
2020-09-24 17:03:21 +02:00
Łukasz Magiera
17a84c9a2c
Merge pull request #3975 from filecoin-project/steb/abstract-actor-policy
...
Add some actors policy setters for testing
2020-09-24 15:51:41 +02:00
Łukasz Magiera
2867b31d2b
Merge pull request #3208 from austinabell/extratsload
...
Update beacon entry load error message
2020-09-24 14:19:00 +02:00
Dirk McCormick
3c524ac0e0
refactor: move nonce generation from mpool to wallet
2020-09-24 14:09:42 +02:00
Łukasz Magiera
1a70dd4fb4
Merge pull request #3977 from filecoin-project/steb/remove-cbor-abstraction
...
Remove a misleading miner actor abstraction
2020-09-24 14:02:59 +02:00
Łukasz Magiera
15eddf0c96
Make sync wait nicer
2020-09-24 13:39:49 +02:00
Łukasz Magiera
ded3a30f55
fix lint
2020-09-24 11:56:54 +02:00
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
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