Commit Graph

1495 Commits

Author SHA1 Message Date
Łukasz Magiera
0f0015f45c Merge pull request #1520 from filecoin-project/feat/graphsync-chainsync-extension
Update to latest go-fil-markets w/ enhanced Graphsync
2020-04-10 20:27:05 +02:00
Łukasz Magiera
b0fe8b8b4c v25: get bench to almost work 2020-04-10 14:19:06 +02:00
Łukasz Magiera
70d654e4a6 Merge pull request #1527 from filecoin-project/feat/drand
Initial randomness beacon implementation
2020-04-09 19:48:09 +02:00
Jeromy
09b013b7a5 close resp chan 2020-04-09 10:35:43 -07:00
Jeromy
ac271b021d finish addressing review 2020-04-09 10:13:09 -07:00
Jakub Sztandera
7ee6388686 Make drand build
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-09 14:39:51 +02:00
Jeromy
1a3ab63e47 WIP: drand client integration 2020-04-08 19:55:17 -07:00
Jeromy
c5c18659a4 address some review 2020-04-08 17:24:10 -07:00
Jeromy
ef6fb1b756 rename beacon to randombeacon 2020-04-08 16:10:08 -07:00
Aayush Rajasekaran
17e9feb633 Sever the API's dependency on VM 2020-04-08 18:27:31 -04:00
Jakub Sztandera
1bd28bdb6a Fix lint errors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:37:04 +02:00
Jakub Sztandera
661d373fa2 Fix blockheader tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:27:55 +02:00
Jakub Sztandera
d71ba5039b Merge branch 'feat/drand' of github.com:filecoin-project/lotus into feat/drand
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:08:35 +02:00
Jakub Sztandera
ce4978d8c3 Reintroduce correct ticket randomness alongside ElectionProof
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:06:41 +02:00
Jeromy
be85f2aff7 handle beacon gaps 2020-04-08 10:49:50 -07:00
Jakub Sztandera
9a17beba9e Skip block header test vectors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 18:48:47 +02:00
Jakub Sztandera
f1c890ca54 Tests pass
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 18:31:16 +02:00
Jeromy
8e0ca306d2 more wiring up of drandomness 2020-04-08 08:11:42 -07:00
hannahhoward
00cd89750d feat(deps): update fil-markets, graphsync
Updates dependencies for graphsync, fil-markets, data-transfer. Moves to new graphsync blockstore
swapping capabilities, and also locks down graphsync impl so it does not accept arbitrary requests
2020-04-07 23:25:29 -07:00
Jeromy
056284c00b wip: chain sync winner check 2020-04-07 15:54:01 -07:00
Jakub Sztandera
9fd1b95fd5 Fix build errors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jakub Sztandera
9c250f24fa Nex wip
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jakub Sztandera
afdb1db529 drand wip
,
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jeromy
7075eaba26 WIP: random beacon interface
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Łukasz Magiera
086a66efc9 Merge pull request #1517 from filecoin-project/feat/lotus-agnostic-node-interface
remove lotus types from sealing package in preparation for extraction
2020-04-07 00:42:30 +02:00
Łukasz Magiera
4ee8254133 Merge pull request #1510 from filecoin-project/feat/fsm-updates
FSM Updates
2020-04-06 23:11:46 +02:00
laser
2f4732760a update CBOR encoders/decoders 2020-04-06 13:35:29 -07:00
Jeromy
3ad16c58d7 cache address resolutions in state tree 2020-04-06 12:32:22 -07:00
Łukasz Magiera
68fa9f20c3 Merge pull request #1511 from filecoin-project/fix/runtime-exit-edge-cases
handle some runtime error edge cases
2020-04-06 20:34:22 +02:00
Łukasz Magiera
f05be81275 fsm: Get correct interactive randomness if it lands on a nullblock 2020-04-04 04:57:05 +02:00
Jeromy
bb6e8de056 cache address resolutions in state tree 2020-04-03 16:26:52 -07:00
Jeromy
ab51501849 remove todo 2020-04-03 15:50:52 -07:00
Jeromy
2d5becaaba further removals 2020-04-03 15:05:59 -07:00
Jeromy
4c6fa1b2c0 handle some runtime error edge cases 2020-04-03 14:38:11 -07:00
Łukasz Magiera
a1b35aa9d5 Change api.SectorState to a string 2020-04-03 18:29:31 +02:00
Jeromy
7a475d5ca5 drop outdated comment 2020-04-02 18:52:18 -07:00
Jeromy
89b15c03cf nil out layers when dropping to allow for GC 2020-04-02 18:20:49 -07:00
Jeromy
212c346c21 avoid flushing disk when doing state tree snapshots 2020-04-02 17:18:25 -07:00
Łukasz Magiera
11777c5f24 Merge pull request #1502 from filecoin-project/feat/import-bench
add a command to lotus-bench to benchmark importing and validating
2020-04-03 01:30:12 +02:00
Jeromy
beaa3dffab add a command to lotus-bench to benchmark importing and validating a chain 2020-04-02 16:18:38 -07:00
Jeromy
8a265a0e8d use exitcode type from specs actors instead of byte 2020-04-02 11:24:38 -07:00
whyrusleeping
aa23266c6f use gas used in block rewards 2020-04-01 21:16:16 -07:00
Jeromy
fe1d61b276 also use correct set when validating blocks 2020-04-01 18:39:38 -07:00
Jeromy
c55501024e remove hacky bits 2020-04-01 18:25:58 -07:00
Jeromy
5b9ee1dea9 Add GetMiningBaseInfo api and use it for mining 2020-04-01 18:15:25 -07:00
Łukasz Magiera
f15eb8b172 Merge pull request #1487 from filecoin-project/fix/partial-sync-responses
properly handle partial sync responses
2020-04-02 00:03:25 +02:00
Łukasz Magiera
7ef08bfbdf Merge pull request #1490 from filecoin-project/fix/charge-gas
Fix charge gas in case of overcharge
2020-04-01 23:00:28 +02:00
Jakub Sztandera
013f441658 Fix charge gas in case of overcharge
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-01 22:55:10 +02:00
Jakub Sztandera
d88c2f8a43 Add Replace by Fee
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-01 22:26:14 +02:00
Jeromy
27d57264d9 properly handle partial sync responses 2020-04-01 11:35:09 -07:00
Łukasz Magiera
f6c260c49f Merge pull request #1484 from filecoin-project/fix/interop-improvements
several fixes and improvements while debugging interop
2020-04-01 17:51:42 +02:00
Łukasz Magiera
cdd97ce959 Revert ticket compare function to comparing vrf hashes 2020-04-01 17:44:51 +02:00
Jeromy
417d434973 several fixes and improvements while debugging interop 2020-03-31 18:35:23 -07:00
Łukasz Magiera
13f2c21e1d Get network name from genesis 2020-04-01 01:15:49 +02:00
Aayush Rajasekaran
8ec19812e3 Update chain-validation, enable state root validation 2020-03-31 03:09:42 -04:00
Łukasz Magiera
95ee1c1cde Extract sector-storage 2020-03-28 01:32:39 +01:00
Łukasz Magiera
c66d3dfad7 sectorstorage: Untangle from lotus deps 2020-03-27 22:35:33 +01:00
Łukasz Magiera
de1f2be505 Merge pull request #1458 from filecoin-project/feat/merge-sectorbuilder
Merge sectorbuilder into sectorstorage
2020-03-27 18:53:58 +01:00
Jeromy
97a7b449e6 use charge gas safe in places we return errors 2020-03-27 10:11:21 -07:00
Jeromy
672956af5d addressing review 2020-03-26 20:13:32 -07:00
Jeromy
1b50be09af dont use fatal errors in the vm 2020-03-26 20:03:04 -07:00
Travis Person
59e77ba6c8 Merge pull request #1457 from filecoin-project/feat/exitcodes
Update to new sepcs actors, more debug
2020-03-26 17:54:25 -07:00
Travis Person
090261f304 Revert gas exhausted exit code to SysErrOutOfGas 2020-03-27 00:19:34 +00:00
Jakub Sztandera
06cfbf5742 Switch exitcodes
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 22:11:06 +01:00
Łukasz Magiera
e050e0307e Cleanup after dropping sectorbuilder 2020-03-26 20:35:16 +01:00
Aayush Rajasekaran
dc5159ce74 Update chain-validation, make necessary changes 2020-03-26 06:41:02 -04:00
Aayush Rajasekaran
1e1d0676ae Set system actor's initial state correctly 2020-03-26 06:38:45 -04:00
Łukasz Magiera
4be54a976c Merge sectorbuilder into sectorstorage 2020-03-26 03:51:06 +01:00
Łukasz Magiera
6399499e9b Fix sealing sectors with multiple pieces 2020-03-26 02:18:13 +01:00
Jakub Sztandera
edf03c9ba8 Use adt.Empty
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 02:00:25 +01:00
Jakub Sztandera
7a6eb723ad Use correct epoch for vrf
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 01:33:35 +01:00
Jakub Sztandera
300c89f541 Update to new sepcs actors, more debug
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 01:02:13 +01:00
Jeromy
088d693eea code review changes 2020-03-25 12:13:09 -07:00
Aayush Rajasekaran
60ec264470 enable gas validation 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
7b9872c473 don't skip any tests 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
ebcefa80e3 provide msg length to vm::ApplyMessage 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
c951e0cc83 do not reprocess duplicate messages in a block 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
3a0df321d1 actually create new bls keys 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
3896631a1c Remove pre-execution validity checks on messages 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
490f85e690 Send implicit messages for block rewards, cron ticks, state calls, and genesis setup 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
ad15750be3 Charge sender no gas, and penalise miner for certain invalid messages 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
654f933d3f set up builtin actors correctly for validation testing 2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
09a46e5d80 fix some gas charge bugs, and make our new account actor creation follow GFC 2020-03-25 08:25:03 -04:00
Łukasz Magiera
201d0a4b19 Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers 2020-03-25 01:02:23 +01:00
Whyrusleeping
60ea9e6ec8 Merge pull request #1426 from filecoin-project/asr/statewait
Re: #1412: Add a non-blocking version of StateWaitMsg
2020-03-24 16:17:47 -07:00
Jeromy
ec0d0a51db chain validation nil return values should be []byte{} 2020-03-24 13:09:04 -07:00
Łukasz Magiera
66a682b55d Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers 2020-03-24 19:09:02 +01:00
Aayush Rajasekaran
d350a9d415 Re: #1412: Add a non-blocking version of StateWaitMsg
- This commit adds a new method called StateSearchMsg
- We can probably overhaul StateWaitMsg onto this new method at a later point in time
2020-03-24 06:43:15 -04:00
Aayush Rajasekaran
d5b1bfe197 only skip one test 2020-03-24 04:44:50 -04:00
Aayush Rajasekaran
df13cfa52b Only resolve origin to pubkey address when creating a new account actor 2020-03-24 04:43:09 -04:00
Aayush Rajasekaran
753e8ff7f5 Award gas fees to miners correctly 2020-03-24 03:35:58 -04:00
Aayush Rajasekaran
9ccc02d664 Load actor states afresh before making state changes
- Not doing this is causing bugs when reverting, since the actor cache gets reset
2020-03-24 03:33:22 -04:00
Jeromy
14591e718d skip tests so we can get this merged in 2020-03-23 18:52:39 -07:00
Jeromy
9e67bef4bd drop balance checks in block validation 2020-03-23 18:50:58 -07:00
Jeromy
2228f13f99 a couple vm fixes 2020-03-23 18:50:58 -07:00
Jeromy
6fe245a278 use proper exitcodes for caller validation 2020-03-23 18:50:28 -07:00
Aayush Rajasekaran
066b755b6a set up initial account state of new Secp accounts 2020-03-23 18:50:28 -07:00
Aayush Rajasekaran
72c6552b0b Allow invocation of account actor methods 2020-03-23 18:50:28 -07:00
Aayush Rajasekaran
05d43af3fc Only try to resolve origin address during top-level invocation 2020-03-23 18:50:28 -07:00
Jeromy
8bc4195b7a WIP: updating and getting chainval tests passing 2020-03-23 18:50:18 -07:00
Whyrusleeping
d74ede5a79 Merge pull request #1428 from filecoin-project/feat/graphsync-fetching
WIP: integrate graphsync for chainsync requests
2020-03-23 18:47:17 -07:00
Jeromy
719cec13d5 prefer blocksync, fallback to graphsync 2020-03-23 13:46:15 -07:00
Łukasz Magiera
eeec5a1bba Merge pull request #1274 from filecoin-project/feat/doc/actors
doc: add comments related to actor code review
2020-03-23 12:49:41 +01:00
Łukasz Magiera
5e4a7e54df Rename agvmgr+sealmgr to sectorstorage 2020-03-23 12:47:10 +01:00
Jeromy
f1dbd35407 change genesis fields to match interop 2020-03-21 15:25:00 -07:00
Jeromy
f3781e8329 update and rerun cbor gen 2020-03-21 14:17:01 -07:00
whyrusleeping
9d7f19b950 some cleanup 2020-03-20 21:30:24 -07:00
hannahhoward
2e9a052f62 fix(chainsync): support longer graphsync fetches with loop 2020-03-20 21:30:24 -07:00
hannahhoward
34f755b2b9 feat(chainsync): fixes to make graphsync work for chain fetching
- store to chain blockstore (ok for now, since storage provider is a seperate process)
- simplify request fetching and processing
2020-03-20 21:30:24 -07:00
whyrusleeping
1076a1a89d WIP: integrate graphsync for chainsync requests 2020-03-20 21:30:24 -07:00
Jeromy
6fcfd0a4f0 add a test to roundtrip export/import a chain 2020-03-20 18:22:24 -07:00
Jeromy
921f11db34 Rewrite chain export walker function to actually do the right thing 2020-03-20 17:18:57 -07:00
Łukasz Magiera
e6aa01653a Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers 2020-03-20 23:42:46 +01:00
Whyrusleeping
aad449f28a Merge pull request #1425 from filecoin-project/fix/randomness-for-ec
use proper lookback, and proper serialization for randomness generation
2020-03-20 15:03:22 -07:00
Whyrusleeping
a3fd1d4b51 Merge pull request #1401 from filecoin-project/fix/nonce-miss-no-gas
Missmatching nonce does not charge gas
2020-03-20 14:56:33 -07:00
Whyrusleeping
0ca935e0b9 Merge pull request #1417 from filecoin-project/fix/sshot-after-gas
take snapshot after gas transfer so its not reverted on method failure
2020-03-20 14:16:54 -07:00
Whyrusleeping
f9bd0fb2ce Merge pull request #1433 from filecoin-project/feat/serialization-vectors
Integrate updated serialization vectors as tests
2020-03-20 14:11:28 -07:00
whyrusleeping
84fd969710 take snapshot after gas transfer so its not reverted on method failure 2020-03-20 13:50:46 -07:00
Jakub Sztandera
4ba4de3379 Missmatching nonce does not charge gas
It should charge miner but we don't have that mechanism yet.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-20 20:44:45 +01:00
Aayush Rajasekaran
ef288b8a6c Calculate new actor addresses as per updated spec 2020-03-20 15:43:08 -04:00
whyrusleeping
438aac190f use proper lookback, and proper serialization for randomness generation 2020-03-20 12:20:56 -07:00
Whyrusleeping
7b69697439 Merge pull request #1434 from filecoin-project/feat/more-gas
Rework gas charging
2020-03-20 12:18:18 -07:00
Whyrusleeping
9df4fce282 Merge pull request #1438 from filecoin-project/frrist/display-chainval-testname
print chain-validation test name when running
2020-03-20 12:03:53 -07:00
Aayush Rajasekaran
5e46c0b4e9 Use blake2b, not SHA, for VRFs 2020-03-20 11:23:22 -07:00
frrist
100fc47812 print chain-validation test name when running
- makes debugging easier
2020-03-20 10:35:59 -07:00
Jakub Sztandera
ac09a6432c Skip failing tests, update chain-validation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-20 18:21:13 +01:00
Jakub Sztandera
ae40654907 Rework gas charging 2020-03-20 03:26:40 -04:00
whyrusleeping
905fc968bf Integrate updated serialization vectors as tests 2020-03-18 22:53:15 -07:00
Łukasz Magiera
1ed7779701 Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers 2020-03-19 03:28:55 +01:00
whyrusleeping
1fb70fc0e0 add simple test for helping to test state tree interop 2020-03-18 17:23:59 -07:00
Lucas Molas
d21cb96ddb doc: add comments related to actor code review 2020-03-18 16:43:58 -07:00
whyrusleeping
ddf1beac6c change gas limit to be a normal int64 2020-03-18 13:45:37 -07:00
Aayush Rajasekaran
6fda3c877e Re: #1302: Refine invalid message filtering
- This commit slightly weakens the current invalid message check
- The behaviour is that if you can't add a message to your pool, you *probably* won't broadcast it to your peers
- The exceptions are that you will broadcast a message if you fail to validate it because nonce / balance lookup fails
- This commit also lowers the invalid message log to debug (to lessen the annoyance of several invalid messages coming in, and hopefully to prevent confusion among node operators)
2020-03-18 03:14:18 -04:00
Aayush Rajasekaran
993505b461 Enable full validation tests 2020-03-18 02:57:11 -04:00
Aayush Rajasekaran
f22f427cde Put the correct error into ExecutionResult 2020-03-18 02:57:11 -04:00
Aayush Rajasekaran
51cf5d5f1b New Actor Addresses should be generated as per spec
- The pubkey address address of the sender should be used, not the ID address
- We should use the internal callSeqNum as input (was hard-coded to zero)
- The external message nonce should be used, not the actor's nonce in the post-increment state
2020-03-18 02:57:11 -04:00
Łukasz Magiera
e6ec20b4ca Merge branch 'testnet/3' into feat/new-workers 2020-03-13 17:58:13 +01:00
Frrist
7371274ea7 update chain-validation: adds miner workflow test (#1403)
* update chain-validation. adds miner workflow test
* replace real sealing with mocked impl
2020-03-12 10:22:45 -07:00
whyrusleeping
3d6577838c move power deduction out of the loop 2020-03-11 00:29:17 -07:00
Whyrusleeping
9bad73b995 Merge pull request #1388 from filecoin-project/fix/nonce-before-gas
Check for correct nonce before taking gas
2020-03-10 23:58:28 -07:00
Whyrusleeping
d48d073bcf Merge pull request #1394 from filecoin-project/fix/fallbackpost-finally
get fallback post running successfully!
2020-03-10 23:41:41 -07:00
whyrusleeping
16d087cce4 get fallback post running successfully! 2020-03-10 23:30:48 -07:00
Łukasz Magiera
eb61a36fd7 workers: RPC scaffolding 2020-03-11 02:58:02 +01:00
Whyrusleeping
65506376a4 Merge pull request #1390 from filecoin-project/fix/genesis-double-power-accounting
Don't double account for miner power when setting up genesis blocks
2020-03-10 18:56:47 -07:00
Whyrusleeping
61e5b05262 Merge pull request #1386 from filecoin-project/fix/replay-not-found
dont panic when replay fails to find a message
2020-03-10 15:52:40 -07:00
whyrusleeping
14f9724bc9 Don't double account for miner power when setting up genesis blocks 2020-03-10 15:42:41 -07:00
Jakub Sztandera
f3c4288311 Check for correct nonce before taking gas
Otherwise as a miner you are able to include an invalid message forever
and get whole GasLimit of gas from it every time.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-10 21:14:50 +01:00
Jakub Sztandera
cc7d25394c Less noisy mapool add
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-10 21:06:58 +01:00
whyrusleeping
baca881473 dont panic when replay fails to find a message 2020-03-10 12:44:50 -07:00
whyrusleeping
1beab85d61 Drop debug messages 2020-03-09 23:46:13 -07:00