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
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
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
Steven Allen
46fb0e74cd
add deal state iterator
2020-09-22 14:09:33 -07:00
Steven Allen
bc24fdbd14
finish migrating statemanager
2020-09-22 11:09:56 -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
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
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
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
8285eda8e5
migrate storage miner info
2020-09-18 14:46:42 -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
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
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
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
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
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
Steven Allen
92471d41d6
migrate precommit deposit function
2020-09-15 16:47:58 -07: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
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
683a58195e
More terraforming in chain/
2020-09-14 14:46:38 +02: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
Aayush Rajasekaran
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02:00
Jeromy
8a265a0e8d
use exitcode type from specs actors instead of byte
2020-04-02 11:24:38 -07:00
whyrusleeping
767392332e
WIP: update sectorbuilder
2020-02-26 14:54:34 -08:00
Łukasz Magiera
cb09e48e8c
Some test fixes
2020-02-26 10:05:22 +01:00
Łukasz Magiera
ae634ef7df
actors: Remove addrass aliases
2020-02-25 21:54:58 +01:00
Łukasz Magiera
cd10a3126b
actors: drop a bunch of type aliases
2020-02-25 21:35:15 +01:00
Łukasz Magiera
ba6d1091f2
pond: Fix node startup
2020-02-24 00:39:45 +01:00
Łukasz Magiera
9f7bd983b3
vm: implement NewActorAddress
2020-02-17 08:59:53 +01:00
Łukasz Magiera
22047d20ef
actors: Wire up specs-actors init
2020-02-12 03:13:19 +01:00
Łukasz Magiera
23b662fe7d
actors: Remove cborgen for old types
2020-02-12 03:12:39 +01:00
Łukasz Magiera
a4f6b739be
genesis: Change template types
2020-02-12 01:58:55 +01:00
Łukasz Magiera
63e801e00f
genesis: Cleanup the structure
2020-02-11 21:48:03 +01:00
Łukasz Magiera
4d5c4d89ce
stmgr: Update stmgr utils
2020-02-11 03:33:27 +01:00
Łukasz Magiera
91ca4a841a
specs-actors: Import miner/power/cron/paych code
2020-02-11 02:43:26 +01:00
Łukasz Magiera
fa2c6605c2
Fix compilation after dep updates
2020-02-11 02:11:58 +01:00
Łukasz Magiera
6dce181314
Update specs-actors
2020-02-10 22:25:22 +01:00
Łukasz Magiera
c0ed0dda8e
specs-actors: Fis some test compilation errors
2020-02-10 20:16:36 +01:00
Łukasz Magiera
7e70536bf1
specs-actors: Finish type cleanup
2020-02-10 19:21:10 +01:00
Łukasz Magiera
c72727b4fd
specs-actors: Fix most compilation errors
2020-02-09 07:06:32 +01:00
Łukasz Magiera
41daf5ad28
gofmt
2020-02-08 03:18:37 +01:00
Łukasz Magiera
13435aebdc
Spec Actors integration
2020-02-08 03:18:32 +01:00
Łukasz Magiera
1d0d429435
actors: Drop refs to multisig_actor.go
2020-02-06 20:49:21 +01:00
Łukasz Magiera
604c234484
Merge remote-tracking branch 'origin/master' into testnet/3
2020-02-06 20:32:25 +01:00
Łukasz Magiera
72c89ab89b
Merge pull request #1223 from filecoin-project/fix/squash-forks
...
squash forks and use correct amt library everywhere
2020-02-06 20:14:55 +01:00
steven004
709fd12b7f
better power show
2020-02-06 14:25:30 +08:00
whyrusleeping
411a69233b
merge miner and miner2 files
2020-02-05 17:07:29 -08:00
Łukasz Magiera
cbf63aab1e
Merge branch 'master' into testnet/3
2020-02-05 21:27:04 +01:00
whyrusleeping
faf05cafcf
squash forks and use correct amt library everywhere
2020-02-04 18:26:42 -08:00
whyrusleeping
028a113737
Make it all build
2020-02-04 14:19:05 -08:00
Jakub Sztandera
ad9e4db3d6
Reduce sig import locations
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 15:12:10 +01:00
Jakub Sztandera
5e6ab42cb8
Don't depend on ffi
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 15:12:04 +01:00
Jakub Sztandera
54076e9a6b
Invoker autoshim
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 07:46:24 +01:00
whyrusleeping
9cee31193c
clean up tests and fix cli commands
2020-02-03 19:37:55 -08:00
whyrusleeping
30a922513b
finish the shimming, pull shim code into separate file
2020-02-03 18:52:18 -08:00
whyrusleeping
8c169bb236
add to the shim, get tests passing
2020-02-03 18:52:18 -08:00
whyrusleeping
cd976ad79f
tests are mostly passing!
2020-02-03 18:52:18 -08:00
whyrusleeping
baa3d09577
WIP: one more step before distraction
2020-02-03 18:52:18 -08:00
whyrusleeping
c73c5987c7
WIP: integrate multisig actor from specs-actors
2020-02-03 18:52:18 -08:00
whyrusleeping
dfe87c9f6f
update to latest hamt changes
2020-02-03 18:52:18 -08:00
whyrusleeping
01b6ddbbd3
add a test to ensure there are no off-by-one errors in fork activation logic
2020-01-31 15:52:39 -08:00
whyrusleeping
d117cb61b6
change withUpdates to match fork height logic
2020-01-30 21:20:57 -08:00
whyrusleeping
d70ebd2ba5
some code review
2020-01-30 21:10:37 -08:00
whyrusleeping
cda7f08b76
use less than, not equals
2020-01-30 21:05:41 -08:00
Whyrusleeping
7402b14df3
Update chain/actors/actor_miner2.go
...
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-01-30 17:51:19 -08:00
whyrusleeping
0622eb7634
put miner changes behind a fork switch
2020-01-30 17:36:33 -08:00
whyrusleeping
8ad8fa902d
extra careful power checks on slashing
2020-01-30 16:36:18 -08:00
Jakub Sztandera
f2340579a5
Fix power calculations
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-30 14:01:47 -08:00
whyrusleeping
16523c2ef9
fixup tests
2020-01-22 12:56:40 -08:00
whyrusleeping
6d9ac84359
add a CLI for multisig wallets
2020-01-21 11:02:51 -08:00
Łukasz Magiera
b5d603dd46
Cleaner fork logic in onSuccessfulPoSt2
2020-01-19 17:44:44 +01:00
dtynn
8b42ca76f8
add onSuccessfulPoSt2
2020-01-19 08:22:12 +08:00
dtynn
8bd62165f5
RemoveFromSectorSet2 is declared but never used, remove redclared one
2020-01-18 20:08:44 +08:00
dtynn
ae8a9a93bf
correctly update proving set & sector set with amt2 after some fork height
2020-01-18 19:41:34 +08:00
whyrusleeping
c6bf252a21
use right fork trigger height
2020-01-17 21:35:45 -08:00
whyrusleeping
f9ea6969c3
Catch cases where new old miners with bad code were getting made
2020-01-17 21:20:56 -08:00
whyrusleeping
128933a655
fix slashing test
2020-01-16 22:27:56 -08:00
whyrusleeping
055b215bc7
don't allow slashing with old blocks
2020-01-16 22:14:00 -08:00
whyrusleeping
fb173c058e
WIP: blizzard fork changes and test utilities
2020-01-16 18:33:43 -08:00
whyrusleeping
2edb32979f
move fork constant and tag fork branch with comment
2020-01-16 15:11:08 -08:00
whyrusleeping
e3bed8d12a
Catch passing duplicate block to arbitrate consensus fault
2020-01-16 15:11:08 -08:00
Jakub Sztandera
c2fdca470d
Add additional checks to ACF
...
Fixes https://github.com/filecoin-project/lotus/issues/1074
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-14 13:22:41 +01:00
Łukasz Magiera
94a21e3aeb
Update deps
2020-01-14 03:05:46 +01:00
Łukasz Magiera
2ca0c152ba
Deal tests on mock sectorbuilder
2020-01-14 03:05:46 +01:00
Łukasz Magiera
a2bcc1fec2
Mostly functional mock sectorbuilder
2020-01-14 03:05:35 +01:00
whyrusleeping
6c9289df0a
don't require signatures for self deals
2020-01-09 14:18:06 -08:00
whyrusleeping
7ba34535b7
Set hard limit on maximum randomness lookback for seal proof submissions
2020-01-08 14:43:03 -08:00
Jakub Sztandera
1ed62628a7
Update go-log to v2
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:22:31 +01:00
Łukasz Magiera
f198e81af1
Merge pull request #1032 from filecoin-project/feat/drop-most-fatal-errors
...
reduce most vm errors to non-fatal, explicitly mark disk issues as fatal
2020-01-08 14:58:35 +01:00
whyrusleeping
3965e1053e
fix build
2020-01-07 21:05:45 -08:00
whyrusleeping
e41dbdad90
reduce most vm errors to non-fatal, explicitly mark disk issues as fatal
2020-01-07 19:46:55 -08:00
Jakub Sztandera
f572cdea47
Fix logic, improve tests
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:58 +01:00
Jakub Sztandera
5e775929be
Cleanup handing and add tests
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:58 +01:00
Jakub Sztandera
65724133ea
Add tests
...
,
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:58 +01:00
Jakub Sztandera
a63c34a902
Handle faults in ss and pss correctly
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 23:03:18 +01:00
Jakub Sztandera
dbc729d049
Validate length of RLE
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-07 22:54:43 +01:00
Łukasz Magiera
22e9815928
Merge remote-tracking branch 'origin/master' into feat/testnet2
2020-01-07 21:45:30 +01:00
laser
20321bb476
handle rebase
2020-01-07 08:18:35 -08:00
Łukasz Magiera
97ae184d0a
Merge remote-tracking branch 'origin/master' into feat/testnet2
2020-01-07 15:06:35 +01:00
Łukasz Magiera
1e7f10e387
gofmt
2020-01-07 15:00:10 +01:00