Aayush Rajasekaran
cf574ca9a1
Allow starting networks from arbitrary actor versions
2021-05-25 19:30:20 -04:00
Łukasz Magiera
c6cebb448f
Cleanup actor adapter templates
2021-05-10 19:46:44 -04:00
Łukasz Magiera
1a84bd5842
chain actors: codegen templates for all actors
2021-05-10 19:46:44 -04:00
Aayush Rajasekaran
b5da2655dc
Introduce v5 actors
2021-05-10 19:44:28 -04:00
Łukasz Magiera
63189cd81d
Generate wrappers for new actor versions
2021-05-09 21:04:50 -04:00
Aayush Rajasekaran
f1ded63d60
v4 specs-actors integration, nv12 migration
2021-04-27 02:02:44 -04:00
Aayush Rajasekaran
72c410cd8f
Address review on v1 sector extension tool
2021-04-03 22:19:36 -04:00
Aayush Rajasekaran
29d3d746a3
Build a WindowPoSt disputer
2021-01-25 17:26:09 -05:00
Steven Allen
0ba1306969
test prove then dispute
2021-01-21 19:48:34 -08:00
Steven Allen
bf48728875
move winning post proof type logic into a helper
2021-01-21 15:21:20 -08:00
Steven Allen
03cd3760bb
correctly pick the seal type based on the network version
...
Of course, we should really just run all of our tests post actors v2.
2021-01-21 15:21:20 -08:00
Steven Allen
c31f5130e3
update imports to v3
2021-01-21 15:21:19 -08:00
Steven Allen
95c57d0ce3
and actually hook up loading logic
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
0bb3aed53c
Add v3 actors support for miner
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ab90a3b2bc
Actors update: MinerInfo.SealProofType has been removed
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
82635f2515
Rename Deadline.PoStSubmissions to PartitionsPoSted
2021-01-21 15:21:19 -08:00
Łukasz Magiera
80b8d4b9d7
Address review
2021-01-14 20:27:15 +01:00
Łukasz Magiera
49abdd7d7d
Sector termination support - address review
2021-01-14 15:46:57 +01:00
Łukasz Magiera
2a7e4af5ee
Fix lotus-miner/lotus-worker build
2020-11-16 19:03:30 +01:00
whyrusleeping
77ec7caaad
WIP: add a command for compacting sector numbers bitfield
2020-10-29 00:18:10 -07:00
frrist
0d384050fa
polish: add Equals method to MinerInfo shim
2020-10-26 14:45:02 -07:00
Steven Allen
bcabe7b3b5
migrate methods to abstracted methods
...
Method numbers never change anyways. At worst, we'll deprecate old methods and
have to explicitly import them from the correct actors version to use them.
2020-10-21 12:18:37 -07:00
frrist
28823fb8e9
fix: bad indirection of deadline diffing
2020-10-14 14:50:59 -07:00
frrist
ea1349205b
fix: return true when partitions changed
2020-10-14 14:37:33 -07:00
frrist
470a565c34
fix: return true when deadlines changed
2020-10-14 14:27:35 -07:00
Aayush Rajasekaran
96e1dfd8d7
Add an endpoint for precise circulating supply
2020-10-12 16:38:29 -04:00
Aayush Rajasekaran
b4215e5f46
Add a CLI tool for miner's to repay debt
2020-10-11 19:57:30 -04:00
Steven Allen
df4b068d0e
Merge branch 'master' into next
2020-10-07 11:55:00 -07:00
Aayush Rajasekaran
839d1121ce
Update to actors v2.0.1
2020-10-06 20:37:54 -04:00
frrist
d4cbd4fb55
feat(miner): add miner deadline diffing
...
- logic gathering all removed, faulted, recovered, and recovering
sectors for a miner.
2020-10-06 11:39:38 -07:00
Aayush Rajasekaran
4a9155ba85
Use new MinerEligibleToMine method post-v2 actors
2020-10-06 04:43:55 -04:00
Steven Allen
8bcc201fc0
fix v2 GetSectorExpiration
2020-10-05 10:54:22 -07:00
Steven Allen
4989b1cc90
Merge branch 'master' into asr/spec-v1
2020-09-30 09:19:12 -07:00
Łukasz Magiera
7a3a2f8db9
Merge pull request #3924 from filecoin-project/feat/dont-recompute-PoST-redux
...
Dont recompute post on revert <<redux>>
2020-09-30 09:18:46 +02:00
Steven Allen
ca9448bc11
rename actors v1 -> actors v2
...
The actual actors version is v2, not v1. Using Version1 internally was really confusing.
2020-09-28 13:13:18 -07:00
Steven Allen
947d1e2902
Merge branch 'master' into asr/spec-v1
2020-09-28 12:53:40 -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
edb31e606a
correctly load new actors
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
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
Ł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
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
Steven Allen
1c1d23d142
fix out-of-bounds when loading all sector infos
...
fixes #3972
2020-09-23 12:40:44 -07:00
Aayush Rajasekaran
476e7992e8
Add an error return to all actor state interface methods
2020-09-23 01:51:38 -04:00
Aayush Rajasekaran
1dc69e397e
Resolve some unnecessary actor upgrade TODOs
2020-09-22 01:34:21 -04:00
Steven Allen
3f0106cfe5
migrate lotus-shed/genesis-verify to actor abstraction
2020-09-21 15:18:30 -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
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
Łukasz Magiera
0b5e4a9612
Make GetSectorsForWinningPoSt fast again
2020-09-21 18:28:32 +02: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
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
8285eda8e5
migrate storage miner info
2020-09-18 14:46:42 -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
37de154a7c
Fixup tests
2020-09-18 01:56:21 -04: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
ae38970526
remove WpostProvignPeriod function
2020-09-17 14:56:11 -07:00
Łukasz Magiera
6eda53565f
Most tests passing
2020-09-17 17:30:24 +02:00
Aayush Rajasekaran
31ff5230bb
Get State API almost working
2020-09-17 05:05:32 -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
Aayush Rajasekaran
b530f25f09
Migrate miner actor
2020-09-16 17:20:25 -04:00
Steven Allen
91e9573863
Compile fixes
2020-09-15 12:13:13 -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
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
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
Ł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