Commit Graph

629 Commits

Author SHA1 Message Date
Ł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
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 #988 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 #965 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 #964 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 #898 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 #814 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 #780 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 #743 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 #666 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 #454 from waynewyang/InitActorState-AddActor
fix method:InitActorState.AddActor
2019-10-25 17:40:12 +02:00
Łukasz Magiera
55f22884ab
Merge pull request #457 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 #379 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 #410 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 #415 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 #230 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 #216 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 #142 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
Łukasz Magiera
fc69556817 storageminer: Fix PaymentVerify interface 2019-08-15 16:07:45 +02:00
Łukasz Magiera
1579137236 storageminer: Initial PaymentVerify implementation 2019-08-15 15:52:14 +02:00
whyrusleeping
6979c28e05 Add API interface for payment channels and a few tests 2019-08-12 10:12:51 -07:00
whyrusleeping
27ad2700ec update payment channel actor to match spec 2019-08-08 10:58:21 -07:00
Łukasz Magiera
a664098867 deals: move PaymentInfo to paych actor 2019-08-07 20:20:04 -07:00
whyrusleeping
95e7b230ec cleanup from self review 2019-08-07 18:23:44 -07:00
whyrusleeping
ba0d648546 sealing garbage data into a sector that gets accepted by the chain works! 2019-08-07 18:16:58 -07:00
whyrusleeping
b7c6333fef implement sector commitments and proof verification 2019-08-06 23:35:57 -07:00
whyrusleeping
206894a37f finish fallout of moving miner info into its own struct 2019-08-05 21:17:50 -07:00
whyrusleeping
8a0e233cbd WIP: implement enough of submitPoSt that we can get things moving 2019-08-05 17:01:49 -07:00
Jakub Sztandera
a6bc33af08 Add spec changes
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-04 14:11:06 +02:00
Jakub Sztandera
8e4661e6d2 Fix MTransaction
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:59 +02:00
Jakub Sztandera
f19b8c82f4 Wip on tests
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:59 +02:00
Jakub Sztandera
0a37ca0344 Change op order
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:58 +02:00
Jakub Sztandera
f7a8d11f14 Make array prealloc correct size
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:58 +02:00
Jakub Sztandera
b6b4c04cda More save reuse
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:58 +02:00
Jakub Sztandera
c2cb2c4184 Clean lint
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:58 +02:00
Jakub Sztandera
d2edad5d04 Implement rest of the methods
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:58 +02:00
Jakub Sztandera
a48d38d976 Start implementing multisig
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-31 21:57:58 +02:00
whyrusleeping
1254c78c92 implement some additional storage miner methods 2019-07-30 15:05:27 -07:00
whyrusleeping
ee224e5b21 Implement 'storage miner' module, wire up a few bits it needs to start 2019-07-29 17:46:56 -07:00
whyrusleeping
9ccd06b060 start method IDs at 1, to allow 0 for basic transfers 2019-07-26 14:42:38 -07:00
Jakub Sztandera
fd80c1e355 Fix tests
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-26 21:07:19 +02:00
whyrusleeping
78da356752 pull more things apart 2019-07-26 13:49:30 +02:00
whyrusleeping
e09ad3d65c Refactor out more types into types package, and pull genesis block code into gen package 2019-07-25 16:35:47 -07:00
Whyrusleeping
bcdb3ed90c
Update chain/actors/actor_paych.go 2019-07-25 12:17:15 -07:00
whyrusleeping
89bf320134 flesh out the rest of the payment actor methods 2019-07-24 20:32:00 -07:00
whyrusleeping
859471aeaf implement initial payment channel actor 2019-07-24 15:45:12 -07:00
Jakub Sztandera
2e6dd1b862 Wrap and return correct error
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 20:25:17 +02:00
Jakub Sztandera
68cfff17e5 Make invoker error non fatal
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 20:25:17 +02:00
Jakub Sztandera
1ec274671e Make lint even happier
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 15:16:42 +02:00
Jakub Sztandera
fd374fa180 Fix new
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 15:07:36 +02:00
Jakub Sztandera
e513884a5a Cleanup lint
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 15:04:45 +02:00
Jakub Sztandera
537ff23a63 Complete the refactor
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 15:01:52 +02:00
Jakub Sztandera
877ccb3803 make invoker work again
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 14:45:45 +02:00
Jakub Sztandera
020fb6f8a3 Mid rework
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 14:45:44 +02:00
Jakub Sztandera
02dab3eb51 Create actor error type
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-23 14:45:15 +02:00
Jakub Sztandera
9597ed8498 Make PowerLookup work and test it
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-17 18:00:59 +02:00
Jakub Sztandera
81f03a9f68 Add and test IsMiner
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-17 16:31:25 +02:00
Jakub Sztandera
6ee1b6fc84 Add GetPower
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-17 15:48:20 +02:00
whyrusleeping
ef5b54fe7f implement commit sector and some storage market methods 2019-07-16 12:17:56 -07:00
Jakub Sztandera
4f8326f711 Cleanup lint
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:51:44 +02:00
Jakub Sztandera
d373f78326 Adapt to need changes in spec
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:45:10 +02:00
Jakub Sztandera
35575263cb Add more tests
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:45:10 +02:00
Jakub Sztandera
227b9f7e18 Fix test
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:44:48 +02:00
Jakub Sztandera
de18f9c865 pass From to Send
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:44:48 +02:00
Jakub Sztandera
be60e28412 Uncomment rest of test code
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:44:48 +02:00
whyrusleeping
e7110ff68d handle copy over state tree and identity multihashes
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:44:46 +02:00
Jakub Sztandera
9da31fb6ad OMG this is killing me
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:43:34 +02:00
Jakub Sztandera
218e965869 Add actor harness
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-16 18:43:34 +02:00
whyrusleeping
c44eeab51a pull out constant 2019-07-15 10:48:59 -07:00
Jakub Sztandera
1aa3cf3043 Remove UnmarshalCBOR functions
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-15 17:51:46 +02:00
whyrusleeping
0ac3545013 move actors to separate package 2019-07-12 16:52:25 -07:00