Commit Graph

2103 Commits

Author SHA1 Message Date
vyzo
26f025bc96 some small improvements in the handling of non-performing chains
1. We break the message accumulation the first time we see a chain with gasPerf <= 0
   as it is not profitable to include them in the block
2. When trimming, we remove also trim negative performing messages to make the trimmed
   chain profitable.
2020-08-07 10:33:00 +03:00
vyzo
e977649f29 add regression test for selection trimming 2020-08-07 10:10:54 +03:00
Łukasz Magiera
0612c2eab9 Merge remote-tracking branch 'origin/next' into feat/dyn-base-fee 2020-08-07 04:15:42 +02:00
Jakub Sztandera
884d03f7f1
address feedback
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 04:09:01 +02:00
Jakub Sztandera
467172f437
Accually add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 04:01:58 +02:00
Jakub Sztandera
122ec8c9be
Add CalculateBaseFee tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 03:34:50 +02:00
Jakub Sztandera
05c527b681
Hold tipset lock while selecting messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 02:48:53 +02:00
Jakub Sztandera
aa17d2bdf3
Add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 01:57:21 +02:00
Aayush Rajasekaran
754d6cfea3 Update chain-val 2020-08-06 19:47:23 -04:00
Jakub Sztandera
f55ed9ea09
Update serialization vectors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 01:21:01 +02:00
Łukasz Magiera
402b4b6c70 mpool: Fix SelectMessages hanging 2020-08-07 01:01:45 +02:00
Jakub Sztandera
f45970a0d5
Fix FeeCap estimation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 00:54:58 +02:00
Jakub Sztandera
2b2b632cd6
Make mpool select only profitable messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 00:40:25 +02:00
Łukasz Magiera
07bf155295 Merge remote-tracking branch 'origin/next' into feat/dyn-base-fee 2020-08-06 23:41:54 +02:00
Jakub Sztandera
cb47f877a5
Add todo
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:35:38 +02:00
Łukasz Magiera
5ef7328fe3 Rerun cbor-gen 2020-08-06 23:27:23 +02:00
Jakub Sztandera
5f826a2147
Update gas numbers
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:27:09 +02:00
Jakub Sztandera
94a38cd97d
Fix mpool test
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:14:09 +02:00
Jakub Sztandera
ab08858b45
Delete GasPrice from this world
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:08:42 +02:00
Whyrusleeping
2212c10f3a
Merge pull request #2858 from filecoin-project/asr/sync-fix
Fix collectHeaders when incoming is partially built on latest tipset
2020-08-06 13:46:44 -07:00
Jakub Sztandera
4004c657b9
Fix chain types tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 22:23:54 +02:00
Jakub Sztandera
c29dd72174
add check for feecap and premium to vm.checkMessage
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:45:03 +02:00
Jakub Sztandera
d6765847df
Fix some messagepool tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:25:30 +02:00
Jakub Sztandera
6562b7a4bc
Fix some tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:55 +02:00
Jakub Sztandera
b384ac6943
Compute correct base burns, miner tip and so on
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Jakub Sztandera
722d6e8ffb
Introduce base fee
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Jakub Sztandera
a625943fc3
Fix Weight issue
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Łukasz Magiera
e54a87f91b
Merge pull request #2838 from filecoin-project/feat/message-pool-selection
New message pool selection logic
2020-08-06 20:19:35 +02:00
vyzo
2166e9a0ff account for message Value in balance calculation 2020-08-06 20:54:27 +03:00
Łukasz Magiera
e2d5451ffb
Merge pull request #2715 from filecoin-project/schomatis/blocksync/review
Rewrite internal logic of block sync client
2020-08-06 19:46:58 +02:00
vyzo
e87d8f9543 add basic selection tests 2020-08-06 20:15:15 +03:00
Dirk McCormick
aea1b0e293 fix: lint fixes 2020-08-06 12:04:10 -04:00
Dirk McCormick
4abc7416f6 fix: make DeleteActor(beneficiary) transfer funds to beneficiary (instead of burning funds) 2020-08-06 12:04:10 -04:00
Lucas Molas
7216363d2e log success fixme 2020-08-06 12:40:01 -03:00
Lucas Molas
2c43138043 record global time in client 2020-08-06 12:38:31 -03:00
vyzo
1e80e3ae65 create maximal chains
Merge chains when gasPerf is non-descreasing (instead of increasing) to create maximal chains.
This also obviates the need for stable sort, as the chains are guaranteed to be in decreasing
order for the same actor.
2020-08-06 18:37:28 +03:00
Łukasz Magiera
c6acfa624e
Merge pull request #2834 from filecoin-project/feat/fund-manager-fix
Improve Fund Manager
2020-08-06 16:45:05 +02:00
vyzo
7a8c74fee8 use stable sort for chain sorting
the default non-stable sort may reorder chains with the same gasPerf, which might change the order
of messages per nonce; facepalm.
2020-08-06 17:40:22 +03:00
vyzo
16a1f9b682 message chain creation tests 2020-08-06 17:08:02 +03:00
vyzo
61d027db2a use supplied tipset when looking up actor state 2020-08-06 17:07:37 +03:00
vyzo
30ec4e7524 import cosmetics 2020-08-06 11:17:11 +03:00
Aayush Rajasekaran
6e8d51af02 Fix collectHeaders when incoming is partially built on latest tipset 2020-08-06 02:24:29 -04:00
hannahhoward
9babf34a0c fix(fundmgr): switch to id addresses
in order to observe the balance table correctly, convert to tracking funds by id address
2020-08-05 18:33:11 -07:00
Łukasz Magiera
73b8868046 gofmt 2020-08-06 03:32:59 +02:00
Łukasz Magiera
f8b8ecc0c3 Consensus filter 2020-08-06 03:16:39 +02:00
Lucas Molas
ac25502308 go fmt 2020-08-05 19:47:27 -03:00
Lucas Molas
8e044be7c2 protocol: req: use TipSetKey comment 2020-08-05 19:45:10 -03:00
Lucas Molas
65512193cc clear deadline in server 2020-08-05 19:40:00 -03:00
Łukasz Magiera
e60af00ec4
Merge pull request #2764 from filecoin-project/feat/burn-above-estimate
Burn sclaing amount dependon on how much overestimation there was
2020-08-05 23:20:42 +02:00
vyzo
a08d780bef enhance SelectMessages method to take a target message 2020-08-05 23:16:09 +03:00
vyzo
5f599dcaf5 remove duplicate time log 2020-08-05 21:48:29 +03:00
vyzo
829c7953d5 fix dereference bug 2020-08-05 18:28:04 +03:00
vyzo
a8b0db91e8 implement pruning using the chain selection logic 2020-08-05 13:28:14 +03:00
vyzo
b4be1472c0 use RequiredFunds in chain inclusion balance sanity check 2020-08-05 13:08:07 +03:00
vyzo
06a13681ae satisfy stupid linter 2020-08-05 10:43:49 +03:00
vyzo
50e1650344 fix Trim bug 2020-08-05 10:31:42 +03:00
vyzo
23003c4d55 fix Before bug 2020-08-05 10:28:12 +03:00
vyzo
9b6d822b3e avoid repeatedly reallocating a big for block gas limit, more conservative failed gas estimation 2020-08-05 10:22:40 +03:00
vyzo
9f7deff512 better handling of gas guess errors
don't swallow them, the failed gas guess is too high.
2020-08-05 10:19:32 +03:00
vyzo
6e1bfaffd7 make it compile! 2020-08-05 09:46:48 +03:00
hannahhoward
b2a114a808 test(fundmgr): add FundMgr test 2020-08-04 18:16:25 -07:00
hannahhoward
b4d1b628be feat(fundmgr): add monitoring to FundMgr 2020-08-04 17:29:52 -07:00
hannahhoward
f4720ddb2c feat(state): add predicate for deal id watching 2020-08-04 17:28:05 -07:00
Jakub Sztandera
d9ba8d3671
Change to scaling overestimation burn algorithm
Change the treshold to 1.1

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:12:11 +02:00
Jakub Sztandera
3058f280d9
Fix bad error message
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:10:25 +02:00
Aayush Rajasekaran
9eea11662c
Update chain-val to support burn gaslimit changes
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:10:25 +02:00
Jakub Sztandera
5405a5adc3
Sepearate ComputeGasOutputs into sepearate function, add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:10:25 +02:00
Jakub Sztandera
5ff12a5d2d
Burn remainder of GasLimit over 1.3*gasUsed
GasToBurn = max(0, GasLimit - GasUsed + (3*GasUsed)/10)

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:10:25 +02:00
vyzo
b4ff9ba220 better minGas sanity check 2020-08-04 23:18:51 +03:00
vyzo
89d42b5958 message chain construction 2020-08-04 23:18:51 +03:00
vyzo
e323fa7a8c message chain trimming 2020-08-04 23:18:51 +03:00
vyzo
c7eec94d95 message selection preliminaries 2020-08-04 23:18:51 +03:00
Lucas Molas
7982ab52a7 check connection between fetched segments during sync 2020-08-04 15:06:30 -03:00
Lucas Molas
1ec0ded953 document NewTipSet checks 2020-08-04 14:44:48 -03:00
Lucas Molas
9f82e98f28 check parent height 2020-08-04 14:44:27 -03:00
Jakub Sztandera
a58edeb96f
Tighten up timestamp check
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-03 18:39:27 +02:00
Lucas Molas
c0c692fa22 fix cbor-gen 2020-08-03 12:23:11 -03:00
Lucas Molas
fc32410e5b review server 2020-08-03 12:20:05 -03:00
Lucas Molas
755772e12d review client comments 2020-08-03 12:20:05 -03:00
Lucas Molas
97b37474f9 extra check in toFullTipSets 2020-08-03 12:20:05 -03:00
Lucas Molas
3f6c418dc6 rename validatedResponse to private 2020-08-03 12:20:05 -03:00
Lucas Molas
0e4d5cb67b document CompactedMessages 2020-08-03 12:20:05 -03:00
Lucas Molas
ccaca48140 temporarily make MaxRequestLength a var 2020-08-03 12:20:05 -03:00
Lucas Molas
0d77c96bda extend maximum to fork length 2020-08-03 12:20:05 -03:00
Lucas Molas
76d40ec408 first pass, ready for review 2020-08-03 12:20:04 -03:00
Whyrusleeping
43491cb7ed
Merge pull request #2768 from filecoin-project/fix/add-explanation
Fix/add explanation
2020-08-01 16:59:20 -07:00
lanzafame
f2d1fbdfa5 Add explanation to channel magic 2020-08-02 09:57:34 +10:00
whyrusleeping
9c51b48754 update some numbers 2020-08-01 16:56:38 -07:00
Whyrusleeping
113fcac476
Update chain/messagepool/pruning.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-08-01 16:39:16 -07:00
Whyrusleeping
31296e6cdc
Update chain/messagepool/pruning.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-08-01 16:39:02 -07:00
whyrusleeping
8260184abc more debug message cleanup 2020-08-01 16:35:02 -07:00
whyrusleeping
f71957bcec aayush is too picky 2020-08-01 16:31:56 -07:00
whyrusleeping
78564e8c54 fix mr test 2020-08-01 16:29:26 -07:00
whyrusleeping
2e04dc908c clean up after review 2020-08-01 16:25:13 -07:00
whyrusleeping
255777a4a9 implement dumb pruning 2020-08-01 15:54:21 -07:00
whyrusleeping
f2a3d23798 implement first pruning method, pruning of 'future' messages 2020-08-01 14:57:35 -07:00
whyrusleeping
fe80f4b830 WIP: message pool pruning 2020-08-01 14:57:34 -07:00
Łukasz Magiera
f9863f31fd
Merge pull request #2751 from filecoin-project/misc/windo-cheaper
Make VerifyPost cheaper
2020-07-31 21:44:35 +02:00
Jakub Sztandera
ae29d132ed
Make VerifyPost cheaper
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-31 21:38:23 +02:00
whyrusleeping
b83629c4d5 update to latest cbor-gen 2020-07-31 11:19:30 -07:00
Łukasz Magiera
4cb4e7c2c2 Merge remote-tracking branch 'origin/master' into next 2020-07-31 14:02:04 +02:00
Łukasz Magiera
6458354265
Merge pull request #2718 from filecoin-project/schomatis/make-gen
make gen
2020-07-31 13:54:09 +02:00
Whyrusleeping
d52ad2ea77
Merge pull request #2689 from filecoin-project/asr/deal-collateral
Update specs-actors, support deal provider collateral bounds
2020-07-30 21:58:16 -07:00
Aayush Rajasekaran
c881f287ad Update specs-actors and chain-val...again 2020-07-31 00:29:44 -04:00
Lucas Molas
595de3fccb fix: block validator: check against heaviest tipset 2020-07-30 18:05:28 -03:00
Lucas Molas
f1f9ce5351 make gen 2020-07-30 17:25:18 -03:00
vyzo
dd06e768d3 temporarily disabled broken test 2020-07-30 21:47:12 +03:00
Łukasz Magiera
9ef69c91e4 Merge remote-tracking branch 'origin/next' into asr/deal-collateral 2020-07-30 17:19:33 +02:00
Jakub Sztandera
7f722623ca
Allow messages with not enough funds for transfer to apply
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-30 16:23:30 +02:00
Łukasz Magiera
627d7b5269 Merge remote-tracking branch 'origin/next' into asr/deal-collateral 2020-07-30 14:36:22 +02:00
Łukasz Magiera
4d328cad54 Get things to mostly work 2020-07-30 14:31:50 +02:00
Aayush Rajasekaran
74dd01a8db Fundmanager shouldn't try to add zero 2020-07-29 20:27:22 -04:00
Jakub Sztandera
4a92422f8b
Prevent Pushing messages not valid for block inclusion
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-29 19:15:24 +02:00
Jakub Sztandera
5eb74ba3f7
Revert "Prevent Pushing messages not valid for block inclusion" 2020-07-29 19:06:32 +02:00
Jakub Sztandera
c17c653eb1
Prevent Pushing messages not valid for block inclusion
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-29 18:34:10 +02:00
Aayush Rajasekaran
5e485a085a
Merge pull request #2637 from filecoin-project/gas/tag-verify-post
Use scaling VerifyPost cost
2020-07-28 21:22:23 -04:00
Aayush Rajasekaran
b51e2a868b
Merge branch 'next' into feat/cid-builder 2020-07-28 21:02:30 -04:00
Aayush Rajasekaran
a4fe359c28
Merge pull request #2605 from filecoin-project/asr/vesting-genesis
Correct calculation of TotalCircSupply
2020-07-28 20:43:55 -04:00
Aayush Rajasekaran
890f56ac38 Lock before setting up genesis msigs 2020-07-28 20:35:40 -04:00
Whyrusleeping
b60f2deedb
Merge pull request #2641 from filecoin-project/feat/repub-less
only republish the next few messages from your mempool
2020-07-28 16:53:29 -07:00
whyrusleeping
7b29a1ae73 only republish the next few messages from your mempool 2020-07-28 16:31:05 -07:00
Aayush Rajasekaran
0b1d80d3e3 Rename constants to match CE spec 2020-07-28 17:26:55 -04:00
Aayush Rajasekaran
7153bda0be Correct MiningRewardTotal and calculation of filMined 2020-07-28 17:26:55 -04:00
Aayush Rajasekaran
de867d7a9a Correct calculation of TotalCircSupply 2020-07-28 17:26:55 -04:00
Aayush Rajasekaran
859168015a Use specs actor's MinerNominalPowerMeetsConsensusMinimum 2020-07-28 17:21:05 -04:00
Jakub Sztandera
0d169dd947
Use scaling VerifyPost costs
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-28 22:31:43 +02:00
Jakub Sztandera
5d9c6cd02c
Add proof info to gas trace
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-28 22:31:43 +02:00
Łukasz Magiera
ed04c80bb1 Fix precommit deposit 2020-07-28 20:55:31 +02:00
Łukasz Magiera
927ee2406a Downgrade actors, get tests to pass 2020-07-28 19:51:58 +02:00
Łukasz Magiera
fb59b40507 Fix some tests 2020-07-28 18:16:56 +02:00
Łukasz Magiera
1fd23248ff gofmt 2020-07-28 16:38:26 +02:00
Łukasz Magiera
473a1f91d5 Update specs-actors to 33f4d6e 2020-07-28 16:36:32 +02:00
Łukasz Magiera
09b90773d8 Merge remote-tracking branch 'origin/next' into feat/cid-builder 2020-07-28 16:06:06 +02:00
Łukasz Magiera
8c95821e9c Merge branch 'keyko-io-feat/genesis-rootkey' into next 2020-07-28 15:40:44 +02:00
Łukasz Magiera
09eb3731f2 Fix duplicate vm setup in genesis 2020-07-28 15:38:13 +02:00
Łukasz Magiera
b7139c38ed
Merge pull request #2617 from filecoin-project/feat/cron-on-nulls
stmgr: Execute cron tick on null rounds
2020-07-28 15:36:40 +02:00
Łukasz Magiera
ddbdcaa3d3
Merge pull request #2567 from filecoin-project/feat/block-validation-histogram
Change block validation aggregation type from sum to distribution
2020-07-28 15:26:44 +02:00
Łukasz Magiera
ca36519325 stmgr: Bigger number for cron gas limit 2020-07-28 14:32:30 +02:00
Łukasz Magiera
eac0a1bba9 stmgr: Handle state forks with cron on null blocks correctly 2020-07-28 14:31:28 +02:00
Jose Pablo Fernandez
834ce171d3
Merge branch 'next' into feat/genesis-rootkey 2020-07-28 11:53:00 +02:00
Łukasz Magiera
8889c5cfd3 stmgr: Dedupe cron invocation 2020-07-28 02:28:22 +02:00
Łukasz Magiera
5b6006f8fe stmgr: Execute cron tick on null rounds 2020-07-28 02:25:16 +02:00
Simon Peffers
78739d9417 Fixes for failed CI tests 2020-07-26 00:46:23 -04:00
Simon Peffers
0f3105a01f Integrate blst signature library: https://github.com/supranational/blst 2020-07-25 21:38:18 -04:00
Sami Mäkelä
15481e63dd merge 2020-07-24 12:34:48 +03:00
Sami Mäkelä
d90fac6e09 tests are working now 2020-07-24 12:22:50 +03:00
Steven Allen
bb54dc97b6 Fix incorrect ID CID optimization
Blocks inlined into CIDs can technically contain CIDs themselves. I'm guessing
this check was trying to skip "actor" CIDs (inline cids with raw blocks).
2020-07-23 23:22:44 -07:00
Steven Allen
b7a4dbb07f Support inline CIDs
And use the new CidBuilder from the spec actors.

This patch does not switch over to inline CIDs by default, but paves the way.
2020-07-23 23:12:32 -07:00
lanzafame
9207315b25 Change block validation aggregation type from sum to distribution 2020-07-24 15:47:41 +10:00
Aayush Rajasekaran
5a6e12dc97 Genesis miners need to be registered in the market actor's balance table 2020-07-23 20:34:27 -04:00