Commit Graph

1440 Commits

Author SHA1 Message Date
Ł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
Łukasz Magiera
a9dc2aa58b Merge pull request #1375 from filecoin-project/feat/mpool-debug-future
mpool: add debug logs for future detection
2020-03-10 07:02:41 +01:00
whyrusleeping
bccec5af95 update to latest specs-actors 2020-03-09 22:43:43 -07:00
Travis Person
0fe55f81f6 mpool: add debug logs for future detection 2020-03-10 05:41:24 +00:00
Whyrusleeping
7b5e7178f4 Merge pull request #1369 from filecoin-project/fix/reward-ticket-count
pass ticket count into reward application message
2020-03-09 22:35:46 -07:00
whyrusleeping
85e17fa5b0 fix state cid accounting after 'Transaction' calls 2020-03-09 22:20:46 -07:00
whyrusleeping
114cb2d2aa squash the spec shim and the vmcontext into the new runtime type 2020-03-09 21:44:29 -07:00
Łukasz Magiera
f3798f9d40 Merge pull request #1374 from filecoin-project/fix/state-power-json
make state power a pointer so it marshals properly
2020-03-09 22:48:53 +01:00
whyrusleeping
26ca72e252 make state power a pointer so it marshals properly 2020-03-09 14:41:57 -07:00
Łukasz Magiera
06d18484f6 Merge remote-tracking branch 'origin/master' into feat/update 2020-03-09 09:34:31 +01:00
whyrusleeping
f1ff55f8b6 pass ticket count into reward application message 2020-03-09 00:45:40 -07:00
Whyrusleeping
3a94d9d176 Merge pull request #1354 from filecoin-project/feat/state-compute-trace
implement compute state trace output
2020-03-08 21:22:40 -07:00
whyrusleeping
bf6948f8d6 update to latest specs-actors 2020-03-08 21:21:46 -07:00
whyrusleeping
4260cc38c9 implement compute state trace output 2020-03-08 20:07:25 -07:00
Łukasz Magiera
697ab30304
Merge pull request #1328 from filecoin-project/metrics/rework-default-view
remove high cardinality tags from metrics
2020-03-08 21:40:16 +01:00
whyrusleeping
24bf720a9a Merge branch 'master' into testnet/3 2020-03-07 16:46:12 -08:00
whyrusleeping
34ad13fc22 fix initial reward actor balance 2020-03-06 17:33:24 -08:00
Aayush Rajasekaran
340afc3503 Add information about internal message executions to SimulationResult
- The VM now tracks a list of ExecutionResults to keep track of internal messages
2020-03-06 11:11:06 -08:00
Aayush Rajasekaran
2d63b007f2 Unify MethodCall and ReplayResults into SimulationResult
- Call and Replay now return the same type, which includes both Message and MessageReceipt
2020-03-06 11:10:40 -08:00
Łukasz Magiera
3cab8bd5d1 gofmt 2020-03-06 20:01:28 +01:00
Łukasz Magiera
e51fa5c9ac libs: Use zerocomm from sectorbuilder 2020-03-06 19:50:41 +01:00
Whyrusleeping
05a95cace5 Merge pull request #1336 from filecoin-project/vet/some-go-vet-fixes
some go vet fixes
2020-03-06 00:11:13 -08:00
whyrusleeping
16096e2c71 some go vet fixes 2020-03-05 22:46:07 -08:00
Łukasz Magiera
7d3e16986c sectorbuilder type updates 2020-03-06 06:38:59 +01:00
whyrusleeping
8a7f249aaa update to latest specs-actors 2020-03-05 16:20:57 -08:00
Łukasz Magiera
1c052b7c81 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-06 00:59:12 +01:00
frrist
b8394c3573 update, you guessed it, chain-validation 2020-03-05 13:41:35 -08:00
frrist
00f5ee6064 add TODO for return value checking 2020-03-05 13:41:35 -08:00
frrist
f4b07a7293 enable multisig tests 2020-03-05 13:41:35 -08:00
frrist
a34a6c65e7 fix gas limit check in apply message 2020-03-05 13:41:35 -08:00
frrist
4e41479464 bls key deterministic, enable paych test 2020-03-05 13:41:35 -08:00
Frrist
e4728eb719 update chain-val with latest tests (#1325)
* update chain-val with latest tests
2020-03-05 13:39:28 -08:00
whyrusleeping
2cd06e3ea0 update to latest specs-actors 2020-03-05 13:02:33 -08:00
Łukasz Magiera
fa5bc3a5a9 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-05 20:20:47 +01:00
Adrian Lanzafame
d0c748460e remove high cardinality tags from metrics 2020-03-05 19:47:20 +10:00
whyrusleeping
4e9e3f3dc3 make state tree snapshots properly stack based 2020-03-04 17:19:15 -08:00
whyrusleeping
5076b2b950 fix reward actor and block reward application 2020-03-04 13:21:24 -08:00
Łukasz Magiera
799ff17c7c Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-04 06:37:11 +01:00
Łukasz Magiera
1d3877fab3 sync: Use correct epost randomness 2020-03-04 06:32:33 +01:00
Łukasz Magiera
4e46d00eb6 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-04 04:01:13 +01:00
whyrusleeping
2be2891647 wire up lotus side of make deal for manual commP 2020-03-03 16:18:08 -08:00
Whyrusleeping
0025b3c1dc Merge pull request #1300 from filecoin-project/frrist/chainval-integrate
implement chain-validation driver
2020-03-03 16:10:16 -08:00
whyrusleeping
0da2f81252 get most of the chain validation tests passing 2020-03-03 16:06:41 -08:00
frrist
1c864d1eef fixs after rebase 2020-03-03 16:06:41 -08:00
whyrusleeping
8657b4698f fix invoker tests 2020-03-03 16:06:41 -08:00
frrist
dfad346cff add test skipper and update chain-validation 2020-03-03 16:06:41 -08:00
whyrusleeping
0f6c365411 Do proper shimming for chain validation library 2020-03-03 16:06:41 -08:00
frrist
bd91008462 clean up validation config 2020-03-03 16:06:41 -08:00
frrist
72132c851b update chain-validation version for miner creation 2020-03-03 16:06:41 -08:00
frrist
0de43748f7 better test name 2020-03-03 16:06:41 -08:00
frrist
b60458d236 implement chain-validation driver 2020-03-03 16:06:41 -08:00
whyrusleeping
d6723935b9 fixup to match spec, move constants to common location 2020-03-03 15:48:25 -08:00
lanzafame
4f2baa8953 conform protocol ids to spec
Signed-off-by: lanzafame <adrianlanzafame92@gmail.com>
2020-03-03 11:34:43 +10:00
whyrusleeping
61fcbd1664 remove unnecessary cid casting 2020-03-01 20:38:18 -08:00
whyrusleeping
60b19c51ef more misc fixes 2020-03-01 17:09:38 -08:00
Nate Walck
8283bb994a Add block metrics to incoming pubsub validate funcs 2020-03-01 19:57:16 -05:00