Commit Graph

703 Commits

Author SHA1 Message Date
Steven Allen
233d8a9b72 update even more imports 2020-09-28 14:25:58 -07: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
2049daa008 fix actor imports 2020-09-28 13:12:41 -07:00
Steven Allen
947d1e2902 Merge branch 'master' into asr/spec-v1 2020-09-28 12:53:40 -07:00
Steven Allen
5f3160cf5b continue expanding vm abstraction layer 2020-09-28 12:48:08 -07:00
Łukasz Magiera
ef28ebb14a Ignition upgrades, much excite. 2020-09-25 23:55:37 -07:00
Steven Allen
a5f13a5b31 Test supported proof types. 2020-09-25 14:36:36 -07:00
Aayush Rajasekaran
d8431ff611 Fix AddSupportedProofTypes 2020-09-25 17:33:25 -04: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
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 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 
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 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 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 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
hannahhoward
718acb0a86 refactor(cborutil): extract cborutil library
Use extracted cborutil library
2020-01-07 14:59:35 +01:00
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
Łukasz Magiera
605562467d Flatten fork code for testnet2 2020-01-06 19:39:57 +01:00
whyrusleeping
dafad17a9b also test fault values out of range 2019-12-20 20:04:38 -08:00
whyrusleeping
8098d23768 test to ensure that submitting bad faults doesnt cause an error 2019-12-20 20:02:18 -08:00
whyrusleeping
5d9d51ba2d don't fail execution if the fault set contains an invalid sector ID 2019-12-20 19:33:11 -08:00
Łukasz Magiera
e3a22d2027 Fix withUpdates 2019-12-20 09:31:59 +01:00
Łukasz Magiera
ef3795ae3d
Merge pull request from filecoin-project/fork/fix-no-power-eps
FORK: No power EPS Fix
2019-12-19 22:53:35 +01:00
Łukasz Magiera
f7604b84f7
Merge pull request from filecoin-project/feat/no-fatal-serialization
make serialization error non-fatal
2019-12-19 22:04:27 +01:00
Łukasz Magiera
6ce4cf12f7 Care about nullblocks in handleStateForks 2019-12-19 21:01:05 +01:00
Łukasz Magiera
d21e24c270 don't modify existing actor code 2019-12-19 20:38:50 +01:00
Łukasz Magiera
3f54cbabe0 FORK: No power EPS Fix 2019-12-19 19:47:25 +01:00
Łukasz Magiera
81233b894d Implement 'chain get' for easier ipld digging 2019-12-19 17:58:02 +01:00
Łukasz Magiera
7fd31192d2
Merge pull request from filecoin-project/feat/sb-faults
Wire up faults in fPoSt
2019-12-18 17:37:27 +01:00
whyrusleeping
897d4c7d24 make serialization error non-fatal 2019-12-17 19:41:58 -08:00
whyrusleeping
fda3811dcf Update cbor-gen to latest master 2019-12-17 19:06:06 -08:00
Łukasz Magiera
2e95a53679 Wire up faults in fPoSt 2019-12-17 23:33:08 +01:00
Łukasz Magiera
1415ba4ce7
Merge pull request from filecoin-project/feat/storage-market-tracing
add a bit more tracing in publish storage deal
2019-12-13 10:59:31 +01:00
whyrusleeping
28a325efe6 soft fail messages that cause precomitted sectors map to become too large 2019-12-13 00:00:20 +01:00
whyrusleeping
71cbd79290 add a bit more tracing in publish storage deal 2019-12-12 19:25:15 +01:00
Łukasz Magiera
c816ded4e5
Merge pull request from filecoin-project/feat/minimum-miner-size
implement a minimum miner size
2019-12-09 21:32:30 +01:00
whyrusleeping
d64f8a38d1
implement a minimum miner size
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 21:30:04 +01:00
Łukasz Magiera
d750723405 Merge remote-tracking branch 'origin/testnet-staging' into feat/cleanup-sectorstate-structs 2019-12-09 21:27:20 +01:00
whyrusleeping
d2448912a6 Implement basic fault handling
WIP: miner actor tests

working miner actor test

rebase and fix tests
2019-12-09 20:53:43 +01:00
Łukasz Magiera
ff963dfea5
Merge pull request from filecoin-project/feat/storage-deal-cleanup
Clean up storage deal structures
2019-12-09 18:31:18 +01:00
Łukasz Magiera
94df2c656e Use map encoders for some structs 2019-12-09 17:40:15 +01:00
Łukasz Magiera
570d725ce5 type-gen 2019-12-09 15:41:44 +01:00
whyrusleeping
eba3f4af86 address PR review 2019-12-08 23:39:08 +01:00
whyrusleeping
4ed7a0826b don't print giant long proof in error message 2019-12-08 18:32:44 +01:00
whyrusleeping
f0653decf3 Clean up storage deal structures 2019-12-07 21:29:37 +01:00
Jakub Sztandera
6e4761c819
Fix rleplus in actor code
,
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-07 15:51:31 +01:00
Łukasz Magiera
3673a9110f
Merge pull request from filecoin-project/feat/static-check-2
more of that sweet staticcheck goodness
2019-12-05 12:21:43 +01:00
whyrusleeping
613a0a05a0 more of that sweet staticcheck goodness 2019-12-04 18:04:09 -08:00
whyrusleeping
43f2286890 Set maximum sector ID to 2^48-1 2019-12-04 17:32:34 -08:00
whyrusleeping
c1cd332ff7 impose a maximum sector ID 2019-12-02 23:46:58 -08:00
Whyrusleeping
dd6e75f49d
Merge pull request from filecoin-project/feat/election-post
Election post restructuring
2019-12-02 15:32:12 -08:00
Łukasz Magiera
fd8f65248b deals: Correctly set deal ID in provider states 2019-12-01 21:07:57 +01:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
703bc7e774 Fix slashing / power recovery issues 2019-11-29 21:18:34 +01:00
Łukasz Magiera
ad978949db import sector/deal into state machines on init 2019-11-29 20:11:42 +01:00
whyrusleeping
01e4958f73 remove debug prints 2019-11-28 21:25:03 -08:00
whyrusleeping
ce89ddbd6a fixing some tests 2019-11-28 21:38:18 -06:00
Łukasz Magiera
cb7d15e67e genesis setup improvements 2019-11-28 23:50:58 +01:00
Łukasz Magiera
920fd3ba9b storageminer: New fallback post scheduler 2019-11-28 18:44:57 +01:00
Łukasz Magiera
aefd432422 actors: Fallback post progress 2019-11-28 13:46:56 +01:00
whyrusleeping
7afc0d4dbe dedupe some code 2019-11-27 21:38:00 -06:00
whyrusleeping
45288b8810 WIP: uncomment out windowed post code, try to make it work 2019-11-27 21:36:34 -06:00
laser
3623925f66 replace go-bls-sigs and go-sectorbuilder with filecoin-ffi
- remove old submodules and add new submodule
- update build tooling to consume new unified static library
- update consumers of old libs to use new package
2019-11-26 18:16:37 -08:00
whyrusleeping
a98295a747 use the correct sector sizes in places 2019-11-25 20:43:43 -06:00
whyrusleeping
a0588d513d Add lotus-gen, rewire genesis mining 2019-11-24 22:45:13 -06:00
Łukasz Magiera
96023d415e actors: Implement cron actor 2019-11-22 23:51:44 +01:00
whyrusleeping
f03198c8a0 sync tests passing, still no vm integration 2019-11-22 10:41:09 -06:00
whyrusleeping
96482f456a WIP: election post restructuring 2019-11-21 16:21:45 -06:00
whyrusleeping
d57f048c2c reject blocks with nil signatures 2019-11-20 11:14:08 -06:00
whyrusleeping
b77bb9e4aa Audit pass for blatantly wrong panics 2019-11-16 17:41:14 -06:00
Łukasz Magiera
d40f5a36da Catch up on null blocks in CheckProofSubmissions call 2019-11-15 00:55:05 +01:00
Łukasz Magiera
e0089218a1 Review fixes 2019-11-15 00:23:07 +01:00
Łukasz Magiera
b9bd3e2030 Unhack TestStorageMarketCreateAndSlashMiner 2019-11-14 21:26:30 +01:00
Łukasz Magiera
e9631601e3 Fix the rest of power slashing issues 2019-11-14 17:23:22 +01:00
Łukasz Magiera
f4fc3bcc29 Fix most power slashing issues 2019-11-14 12:56:17 +01:00
Łukasz Magiera
2dd155e9e9 Make basic slashing work 2019-11-14 01:02:24 +01:00
Łukasz Magiera
7363ec714a chain: make tests pass after slashing changes 2019-11-14 00:35:58 +01:00
Łukasz Magiera
0241e31129 chain: wire CheckProofSubmissions to computeTipSetState 2019-11-14 00:14:11 +01:00
Łukasz Magiera
e48949b41f chain: cbor-gen 2019-11-14 00:04:13 +01:00
Łukasz Magiera
05f157554f actors: IsMiner -> IsValidMiner 2019-11-14 00:00:11 +01:00
Łukasz Magiera
e094ace303 actors: CheckMiner methods on Miner/Power actors 2019-11-13 23:40:51 +01:00
Łukasz Magiera
6b398cba74 actors: UpdateStorage now manages proving buckets 2019-11-13 22:16:17 +01:00
whyrusleeping
9e464a4b90 more tracing spans 2019-11-12 12:42:22 -08:00
whyrusleeping
af2789c3d8 fix non-deterministic map serialization 2019-11-07 14:55:24 -08:00
Łukasz Magiera
eca5501923 remove some outdated todos 2019-11-07 13:06:32 +01:00
Łukasz Magiera
be0d07e143 pass deal IDs in SectorPreCommitInfo 2019-11-07 13:03:18 +01:00
Łukasz Magiera
bcf9778b18 Update cbor-gen post-merge 2019-11-05 19:02:28 +01:00
Łukasz Magiera
ed5ccfd750 Merge remote-tracking branch 'origin/devnet/7' into feat/interactive-porep 2019-11-05 18:53:19 +01:00
Łukasz Magiera
1f56bcf581 Some param changes 2019-11-05 17:15:52 +01:00
whyrusleeping
9a398c6260 Track down all the uses of cboripld and eliminate them 2019-11-04 19:42:13 -08:00
Łukasz Magiera
c550e030b1 INTERACTIVE PROEP IS ALIVE 2019-11-02 16:07:26 +01:00
Łukasz Magiera
3bc4a5dddf More progress on fixing storing garbage data 2019-11-02 00:43:54 +01:00
Łukasz Magiera
1dcebece71 Some smaller fixes 2019-11-01 23:44:55 +01:00
whyrusleeping
a13dfcf96b Add extra check sanity check for timing 2019-11-01 13:27:59 -07:00
whyrusleeping
fc9091cc89 Get interactive porep sector sealing mostly working 2019-10-31 20:57:10 -07:00
whyrusleeping
4e478330a4 more refactoring for interactive porep scheduling 2019-10-31 09:55:35 -07:00
whyrusleeping
759094198c Some more progress on interactive porep 2019-10-30 18:22:50 -07:00
Łukasz Magiera
7fa3e2db7a WIP Interactive PoRep 2019-10-30 19:10:29 +01:00
Łukasz Magiera
a4c0610cc3 actors: Rename some storageminer stuff to match the spec 2019-10-30 16:55:55 +01:00
whyrusleeping
3e5654d575 initial actor changes for interactive porep 2019-10-30 16:05:31 +01:00
Łukasz Magiera
bee0ecf97f deals: Nicer output in client cli 2019-10-29 13:02:13 +01:00
Łukasz Magiera
72af55d067 deals: Price per epoch 2019-10-29 11:01:18 +01:00
Łukasz Magiera
237f8e8018 Set proving params matching the spec more closely 2019-10-28 17:51:45 +01:00
whyrusleeping
874ab1456c WIP: updating to new proofs code 2019-10-25 18:07:34 +02:00
Łukasz Magiera
b8b081faa6
Merge pull request from waynewyang/InitActorState-AddActor
fix method:InitActorState.AddActor
2019-10-25 17:40:12 +02:00
Łukasz Magiera
55f22884ab
Merge pull request from waynewyang/MinerActor-CommitSector
Check if fromaddress equal workaddress when CommitSector
2019-10-25 17:39:28 +02:00
Łukasz Magiera
bbe5afeee4
Merge pull request from filecoin-project/feat/variable-sector-sizes
Allow miners to create differently sized sectors
2019-10-25 17:37:54 +02:00
Łukasz Magiera
cf2bbeb775
Merge pull request from filecoin-project/feat/multisig-lockout
Add linear vesting to multisig
2019-10-25 17:34:41 +02:00
whyrusleeping
4890f577f5 give miners the ability to select different sector sizes 2019-10-25 17:26:15 +02:00
Łukasz Magiera
eeca3d86df
Merge pull request from filecoin-project/feat/deals-on-chain
On-Chain deals
2019-10-25 17:03:25 +02:00
Łukasz Magiera
f2550f9e36 on chain deals: Deal not found is not fatal 2019-10-24 17:56:32 +02:00
Łukasz Magiera
0b1427e487 on chain deals: Fix lint warnings 2019-10-24 17:46:21 +02:00
Łukasz Magiera
9bd086bf7b Use shorter code cids 2019-10-24 17:39:16 +02:00
Łukasz Magiera
e148f33008 on chain deals: Address review comments 2019-10-24 17:14:25 +02:00
Łukasz Magiera
76f1e6e207 on chain deals: Put dealIDs in CommitSector messages 2019-10-24 16:24:31 +02:00
waynewyang
34fcbc0bf2 safeguard for multisig actor 2019-10-24 17:13:38 +08:00
Łukasz Magiera
fabd074165 on chain deals: Deals make it to the chain 2019-10-23 19:39:14 +02:00
Łukasz Magiera
61e14d0f4c on chain deals: Fix some serialization bugs 2019-10-23 14:59:57 +02:00
Łukasz Magiera
213ac77d08 on chain deals: Expose more chain state in pond 2019-10-23 12:44:00 +02:00
Łukasz Magiera
64bfb38834 on chain deals: Get things to actually run! 2019-10-23 12:44:00 +02:00
Łukasz Magiera
47d92d4a11 wip 2019-10-23 12:44:00 +02:00
Łukasz Magiera
bafb7e8cfa on chain deals: deal types cbor-gen 2019-10-23 12:44:00 +02:00
Łukasz Magiera
99ef51a642 on chain deals: Fix build 2019-10-23 12:44:00 +02:00
Łukasz Magiera
46a0333c9c on chain deals: Wip porting deal systems to storagemarket 2019-10-23 12:44:00 +02:00
Łukasz Magiera
7420dd668e on chain deals: use cid bytes for PieceRef 2019-10-23 12:44:00 +02:00
Łukasz Magiera
6bade2eb23 on chain deals: More actor methods 2019-10-23 12:44:00 +02:00
Łukasz Magiera
c41dd4efeb actora: register storagemarket 2019-10-23 12:44:00 +02:00
Łukasz Magiera
8638cd25f5 actors: implement sma.PublishStorageDeals 2019-10-23 12:44:00 +02:00
Łukasz Magiera
fcf928ec76 actors: Initial structure for StorageMarketActor 2019-10-23 12:44:00 +02:00
waynewyang
7b6d67ec1e Check if fromaddress equal workaddress when CommitSector 2019-10-23 11:51:48 +08:00
waynewyang
d265f4a04f fix method:InitActorState.AddActor 2019-10-23 10:47:45 +08:00
waynewyang
db41aed2b8 fix annotation for Initactor.Exec 2019-10-23 10:39:45 +08:00
waynewyang
e25f5c755a fix:IsBuiltinActor 2019-10-21 11:06:59 +08:00
Jakub Sztandera
92b145ec4d
Don't set fields if UnlockDuration is 0
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 16:08:19 +09:00
Jakub Sztandera
737f056c12
Rebuild types
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 16:06:41 +09:00
Jakub Sztandera
274673d9c6
Add linear vesting to multisig
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 14:01:04 +09:00
Jakub Sztandera
1bf713cb0a
Cleanup imports after rename
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 13:47:41 +09:00
whyrusleeping
ab6ef85b6d More tracing! 2019-10-16 19:24:33 +09:00
Łukasz Magiera
fb80d75b07 Almost building weight function 2019-10-15 14:31:34 +02:00
Łukasz Magiera
a576b72364 actors: Sync with the new spec, storage actors 2019-10-15 14:31:34 +02:00
whyrusleeping
7fbd0a5e8e Dont use aerrors.Escalate unless you really mean it 2019-10-15 14:37:43 +09:00
whyrusleeping
961caa237d prevent serialization of empty addresses 2019-10-14 20:53:20 +09:00
whyrusleeping
edcf47ff31 implement commands to list actors and miners 2019-10-12 15:45:48 +09:00
whyrusleeping
f9ac86ab00 the doneset is for dropping sectors 2019-10-04 12:30:30 -06:00
whyrusleeping
1419031f1e switch to parent state roots 2019-10-01 15:21:01 -06:00
whyrusleeping
74ad58881b use new cbor-gen code with better errors 2019-10-01 09:53:39 -06:00
Łukasz Magiera
e0632a93ab Share ProvingPeriodEnd math 2019-09-27 21:47:47 +02:00
Łukasz Magiera
1024812559 storageminer: Update post scheduling 2019-09-26 23:32:47 +02:00
Łukasz Magiera
4305824be7 miner actor: Change PPE logic in submitPost 2019-09-26 23:32:47 +02:00
Łukasz Magiera
23138d9bd0
Merge pull request from filecoin-project/feat/incremental-deals
Incremental deal payments
2019-09-26 03:00:05 +02:00
Łukasz Magiera
2fe4ffdfdc deals: more atomic voucher handling 2019-09-25 14:56:04 +02:00
whyrusleeping
0419945d49 implement AddFaults method 2019-09-23 20:20:55 -07:00
Łukasz Magiera
5ce15bfaf4 types: Less/GreaterThan for bigints 2019-09-23 19:11:44 +02:00
Łukasz Magiera
b79b826805 miner: fix required collateral check 2019-09-23 13:41:26 +02:00
Łukasz Magiera
4202da62cd
Merge pull request from filecoin-project/feat/consensus-slashing
Feat/consensus slashing
2019-09-20 16:58:03 +02:00
Łukasz Magiera
d2fdb058ef miner actor: Skip muldiv if frac == 1 2019-09-20 16:21:00 +02:00
whyrusleeping
3154374132 fix account balances to make tests pass 2019-09-19 22:25:10 -07:00
whyrusleeping
2d5b88ce84 avoid floating point math 2019-09-19 22:25:10 -07:00
whyrusleeping
197a2a3025 slash consensus fault needs to also be a method on the miner 2019-09-19 22:24:23 -07:00
whyrusleeping
fe020d9fd1 implement SlashConsensusFault 2019-09-19 22:23:24 -07:00
whyrusleeping
394edc6317 refactor to use 'randomness' as input to new vm creation 2019-09-19 20:08:44 -07:00
Łukasz Magiera
5fd98b7d27 post: Address review 2019-09-19 22:24:01 +02:00
Łukasz Magiera
72e003ef9e actors: remove debug logging from SubmitPost 2019-09-19 20:42:43 +02:00
Łukasz Magiera
6c48ab3be4 Compute post more than once 2019-09-19 20:38:58 +02:00
Łukasz Magiera
42b8af302f get sector set size from AMT 2019-09-19 20:31:25 +02:00
Łukasz Magiera
18b72b1584 Fix bigint serialization 2019-09-19 20:15:44 +02:00
Łukasz Magiera
839597012d Fix post seed height math 2019-09-19 19:38:56 +02:00
Jakub Sztandera
9d7cdafde4 Add TODO about PoST verification errors
,
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-19 15:57:48 +02:00
Jakub Sztandera
a0f80bb4dd Another typo
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-19 15:56:44 +02:00
Jakub Sztandera
54e076b6f9 Add randomness
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-19 15:32:00 +02:00
whyrusleeping
86fd132cf7 add deleting done sectors 2019-09-18 21:56:40 -07:00
Jakub Sztandera
9c02f7f839 Rought PoST method
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-18 17:10:03 +02:00
Jakub Sztandera
f5a2d998bf Add BitField with RLE
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-17 11:24:11 -07:00
whyrusleeping
8d2bcc5e3d final chain serialization bits 2019-09-16 18:56:37 -07:00
Łukasz Magiera
6a31ff2f2e deals: Wait for channel messagi in handler 2019-09-13 19:59:10 +02:00
Łukasz Magiera
388e3ffa96 paych: Api to reuse open channels for new payments 2019-09-13 19:59:10 +02:00
whyrusleeping
fe2885382c self review, cleanup 2019-09-10 17:13:46 -07:00
whyrusleeping
a47969c76b finish up making the new serializations work 2019-09-10 16:03:17 -07:00
whyrusleeping
2f019158d0 more switching over to correct cbor marshaling 2019-09-10 12:58:45 -07:00
whyrusleeping
1f1bbc9b8d cbor gen types and cleaning up after 2019-09-09 19:53:18 -07:00
whyrusleeping
b5bd1820d9 WIP: vm perf improvements 2019-09-09 19:53:17 -07:00
Łukasz Magiera
8b29c98919 paych actor: pass verification errors 2019-09-09 15:55:06 +02:00
Łukasz Magiera
83932a7c80 miner actor: Pass correct bytes to VerifyPieceInclusionProof 2019-09-09 15:50:52 +02:00
Łukasz Magiera
a1bcc826ac Fix amt.ErrNotFound handling in actor_miner 2019-09-09 13:22:09 +02:00
Łukasz Magiera
0b87411c7d Use AMT in StorageMinerActor ctor 2019-09-07 00:42:01 +02:00
Łukasz Magiera
4acf6d9d47 Partial payment integration in deals 2019-09-07 00:42:01 +02:00
Łukasz Magiera
67e780825b Merge remote-tracking branch 'origin/master' into feat/retrieval 2019-08-30 13:25:03 +02:00
Łukasz Magiera
6b80b98c64 retrieval: fix actor tests 2019-08-29 21:01:29 +02:00
Łukasz Magiera
711c61cba1 Merge remote-tracking branch 'origin/master' into feat/retrieval 2019-08-29 20:59:03 +02:00
Jakub Sztandera
5c31b81701 Charge per byte of storage
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-29 20:34:53 +02:00
Łukasz Magiera
6714240653 SectorSize const 2019-08-29 17:50:19 +02:00
whyrusleeping
2013db604a switch to using AMT for sector set 2019-08-28 17:01:46 -07:00
Jakub Sztandera
8557505cbd Charge per put and get
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-27 17:01:17 +02:00
Jakub Sztandera
0c3e8949c1 Introduce gas tracking in harness
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-21 23:29:47 +02:00
whyrusleeping
b271e5231a set up lotus-storage-miner to be able to use an existing miner actor 2019-08-16 14:50:00 -07:00
whyrusleeping
d9eaca5527 fix UpdateStorage to write back state 2019-08-16 13:24:37 -07:00
whyrusleeping
f7dc253669 (mostly) proper ticket generation 2019-08-16 12:39:13 -07:00
whyrusleeping
2efab559ec add error wraps and fix tests 2019-08-16 12:39:12 -07:00
Jakub Sztandera
5d7c20c0b1
Merge pull request from filecoin-project/feat/gas
Initial gas charning
2019-08-16 15:29:05 +02:00
Łukasz Magiera
e8faa77d59 init actor: Fix doubling the balance 2019-08-15 23:03:47 +02:00
Łukasz Magiera
760ebc341f storageminer: Split PaymentVerify into 2 methods 2019-08-15 22:57:14 +02:00
Jakub Sztandera
27057ee222 initial gas charning
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-15 18:24:06 +02:00
Łukasz Magiera
eb962940bd deals: wire up PaymentVerify 2019-08-15 17:04:40 +02:00