Łukasz Magiera
953effcc43
Merge pull request #3350 from filecoin-project/fix/some-fsm-issues
...
Fix some fsm issues
2020-08-29 02:16:59 +02:00
Łukasz Magiera
a62e44c4e5
Fix lint
2020-08-29 02:13:38 +02:00
Łukasz Magiera
84a632787c
Merge pull request #3313 from filecoin-project/feat/mpool-balance-tracking
...
Message Pool Rudimentary Spam Protection Measures
2020-08-28 22:35:30 +02:00
vyzo
806f7dd15f
windowSize should not exceed blocksync.MaxRequestLength
2020-08-28 23:18:06 +03:00
vyzo
63a60cdd75
be more conservative in increasing the window size, check that we actually had more messages
2020-08-28 23:09:48 +03:00
vyzo
3935fd77ac
remember syncer windowSize
2020-08-28 22:52:40 +03:00
vyzo
4e7fd5b6d7
sync: increase window size when successful fetching messages
2020-08-28 22:03:06 +03:00
vyzo
1f660c9e04
sync: half window size and retry when fetching messages fails
2020-08-28 18:45:20 +03:00
Łukasz Magiera
20ffce5c0d
Merge remote-tracking branch 'origin/master' into fix/some-fsm-issues
2020-08-28 16:47:25 +02:00
lanzafame
64768f093d
rename local recordFailure func
2020-08-28 17:15:11 +10:00
lanzafame
a24db6c584
refactor block validate recordFailure func
2020-08-28 17:11:59 +10:00
lanzafame
050a0ec5e4
further reduce code duplication
2020-08-28 17:01:45 +10:00
lanzafame
0254e4b365
reduce code duplication
2020-08-28 16:53:59 +10:00
lanzafame
094baf8aa9
distinguish local message validation failures from remote
2020-08-28 16:11:24 +10:00
Łukasz Magiera
86c936759b
Merge pull request #3357 from filecoin-project/fix/block-validator-power
...
ignore, don't reject block if we can't determine power
2020-08-28 00:24:53 +02:00
austinabell
39ef3a701b
Remove unsigned message pointer from Runtime
2020-08-27 17:34:45 -04:00
vyzo
708a8b6543
flag to allow add to skip limit check
...
essential for correctness in the revert case
2020-08-28 00:04:21 +03:00
Łukasz Magiera
6c7874c883
Merge remote-tracking branch 'origin/master' into fix/some-fsm-issues
2020-08-27 21:37:08 +02:00
vyzo
6c3d8ec1de
ignore, don't reject block if we can't determine power
2020-08-27 16:53:53 +03:00
Łukasz Magiera
df635579c4
storagefsm: Handle sectors with expired deals better
2020-08-27 13:51:38 +02:00
whyrusleeping
a33784c434
print block 'age' when validating blocks during sync
2020-08-26 14:48:53 -07:00
vyzo
038e83b647
log error if we trip over too many pending messages for actor
2020-08-26 22:55:39 +03:00
vyzo
82ef0529d8
named error for too many pending messages
2020-08-26 22:48:03 +03:00
vyzo
6abfbbddd5
fix tests
2020-08-26 22:44:47 +03:00
vyzo
ad889a7240
rate limit messages per actor by enforcing maximum pending message limit
2020-08-26 22:40:10 +03:00
vyzo
d3e95d6b77
cast min base fee to uint64
2020-08-26 21:37:32 +03:00
vyzo
8db262c941
check gas fee cap for minimum value
2020-08-26 21:23:28 +03:00
vyzo
793eda986b
comment out Value inclusion for required funds tracking
...
we are not sure whether we want it yet.
2020-08-26 21:10:46 +03:00
vyzo
8848c549a0
move msg serialization outside of lock, consistently use curTs
2020-08-26 19:42:56 +03:00
vyzo
4919a005d3
always verify message min gas
2020-08-26 19:37:27 +03:00
vyzo
7a7066896e
better code for getRequiredFunds
2020-08-26 15:37:42 +03:00
vyzo
a2c0c10d2a
correctly account for message replacement in required funds tracking
2020-08-26 15:27:09 +03:00
vyzo
c473d3c682
rename ErrValidationFailure to ErrSoftValidationFailure
...
to make it clear to readers that this failure is soft; we might be out of sync.
2020-08-26 15:16:04 +03:00
vyzo
87e6c0973a
include message Value only in soft validation failures
2020-08-26 15:13:50 +03:00
vyzo
78876947a4
ErrBroadcastAnyway is now ErrValidationFailure
2020-08-26 15:03:13 +03:00
vyzo
b59f58435c
fix tests
2020-08-26 14:58:32 +03:00
vyzo
4adb83eaae
check aggregate pending message required funds against balance
2020-08-26 14:58:26 +03:00
vyzo
4ac9828b0c
track required funds in message set
2020-08-26 14:38:26 +03:00
vyzo
77f6e0d4f8
refactor balance check, apply it in PushWithNonce
2020-08-26 14:23:34 +03:00
vyzo
835dbfe001
check message before adding in PushWithNonce
2020-08-26 14:13:46 +03:00
vyzo
da9630c561
remove duplicate check
...
gas limit is checked against block gas limit in ValidForBlockInclusion
2020-08-26 14:02:34 +03:00
Whyrusleeping
14cda27e9f
Merge pull request #3294 from filecoin-project/feat/sync-tweaking
...
Add some tracing and the ability to tweak message fetch window size
2020-08-25 13:25:22 -07:00
whyrusleeping
a553db4b82
Add some tracing and the ability to tweak message fetch window size
2020-08-25 12:39:17 -07:00
vyzo
6b3282150b
appease linter
2020-08-25 14:03:49 +03:00
vyzo
58cfac9f67
add test for message republish
2020-08-25 13:57:02 +03:00
vyzo
62b15ecc12
remove bug line
2020-08-25 13:41:20 +03:00
vyzo
6b9d392d0e
add another priority selection test
2020-08-25 13:36:03 +03:00
vyzo
9c68123ede
add test for Updates, fix behaviour for closed mpool
2020-08-25 13:29:09 +03:00
vyzo
7049b6478c
add test for Clear
2020-08-25 13:24:11 +03:00
vyzo
0e6d34c0c9
add test for loadLocal
2020-08-25 13:16:55 +03:00
vyzo
a01fa11a26
exercise debug code, fix deadlock
2020-08-25 13:03:50 +03:00
vyzo
7e81081899
initialize mpool ts _before_ loading local messages
2020-08-25 08:49:15 +03:00
Jakub Sztandera
8cc8a277a1
Remove Println
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 04:37:35 +02:00
whyrusleeping
a5c56dde10
add test to verify actor state fix works properly
2020-08-24 19:35:54 -07:00
Jakub Sztandera
7f427b8001
Fix harness weirdness
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 04:12:33 +02:00
Jakub Sztandera
33b12782e4
Take into account messages in current tispet by executing it
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 04:02:06 +02:00
Jakub Sztandera
b2ff231c48
Fix error fmt string
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 03:14:52 +02:00
Jakub Sztandera
d921791c55
Add comment
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 03:13:43 +02:00
whyrusleeping
05d65c3f88
slightly better than panicking
2020-08-24 17:40:12 -07:00
whyrusleeping
cf3298cd04
more correctly handle discrepancies between mempools head and the mining base
2020-08-24 17:21:03 -07:00
Jakub Sztandera
aacfcba400
Check ValidForBlockInclusion in mpool
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 01:01:16 +02:00
Whyrusleeping
672269e9d6
Merge pull request #3269 from filecoin-project/feat/randomize-chain-ticket
...
randomize ticket in genesis creation
2020-08-24 11:59:04 -07:00
Whyrusleeping
f200ac6287
Merge pull request #3252 from filecoin-project/fix/burnt-funds-state
...
fix setup of burnt funds actor state
2020-08-24 11:43:34 -07:00
whyrusleeping
1447a66515
randomize ticket in genesis creation
2020-08-24 11:33:49 -07:00
Łukasz Magiera
b87c89ad16
mod tidy, fix lint
2020-08-24 12:51:55 +02:00
whyrusleeping
27e3f8ee29
fix setup of burnt funds actor state
2020-08-22 18:53:44 -07:00
Łukasz Magiera
0806fd651a
Merge pull request #3183 from filecoin-project/steb/lint-all
...
Lint everything
2020-08-22 21:47:41 +02:00
Łukasz Magiera
bf579a86a0
Merge pull request #3182 from filecoin-project/anorth/versionuint
...
Change Message.Version to be a uint64
2020-08-22 21:29:49 +02:00
vyzo
817358f1bb
better semantics for mpool clear local argument
...
local messages should be kept unless the parameter is true
2020-08-21 23:48:35 +03:00
vyzo
087955e927
add localonly option to MpoolClear
2020-08-21 23:32:41 +03:00
vyzo
e33d398c33
remove pending local messages from the datastore when clearing the mpool
2020-08-21 23:32:41 +03:00
vyzo
3027283756
add MpoolClear api
2020-08-21 23:32:41 +03:00
vyzo
161cb32078
recover from errors in head change
2020-08-21 23:32:41 +03:00
Steven Allen
5733c71c50
Lint everything
...
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.
There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -07:00
whyrusleeping
4bf7619d32
Actually set genesis remainder account balance
2020-08-20 18:59:16 -07:00
anorth
4ce71bce2d
Change Message.Version to be a uint64
2020-08-20 14:37:21 +10:00
Łukasz Magiera
6e492e41d1
Merge pull request #3165 from filecoin-project/fix/validator-ignore-nonce-errors
...
ignore, don't reject messages with nonce that is too low
2020-08-20 00:00:20 +02:00
whyrusleeping
621d675938
fixup tests
2020-08-19 13:32:53 -07:00
whyrusleeping
2ab202a03d
fixup ID allocation and a few other things
2020-08-19 12:54:33 -07:00
vyzo
c7a6e32c96
ignore, don't reject messages with nonce that is too low
...
we seem to have a problem with this leading to many rejected messages and negative scores for
potentially innocent peers.
2020-08-19 13:20:16 +03:00
Sami Mäkelä
99e71badbf
check that accounts aren't overwritten
2020-08-19 13:03:59 +03:00
Sami Mäkelä
e894f360a5
merge
2020-08-19 12:26:19 +03:00
Sami Mäkelä
63ad6bc325
need to merge
2020-08-19 12:25:38 +03:00
Łukasz Magiera
e47e51275a
Merge pull request #3138 from filecoin-project/feat/remainder
...
place the remainder of unallocated funds in a 'remainder' account
2020-08-18 23:52:19 +02:00
whyrusleeping
abca69b476
configurable remainder account
2020-08-18 14:30:49 -07:00
Łukasz Magiera
71aa3a59d9
Merge pull request #3047 from filecoin-project/asr/burn-genesis
...
Do not include the burnt funds actor as a genesis account actor
2020-08-18 23:10:32 +02:00
Łukasz Magiera
574a22de6c
genesis: Set remainder account balance correctly
2020-08-18 22:52:25 +02:00
Łukasz Magiera
1dd554ad71
Merge pull request #3155 from filecoin-project/misc/selection-misc
...
Use conditional probability for miners
2020-08-18 21:56:41 +02:00
vyzo
6d9707c784
fix OptimalSelection3 test
2020-08-18 22:24:07 +03:00
Łukasz Magiera
d23cd2e507
Merge pull request #3136 from filecoin-project/asr/genesis-hardcode
...
Create a testnet version of setupGenesisActors
2020-08-18 21:21:04 +02:00
Jakub Sztandera
e0b72ba049
Reduce number of runs to 1
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 21:10:04 +02:00
Jakub Sztandera
4d01cbfb62
Increase precision of output
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 21:10:04 +02:00
Jakub Sztandera
8d4427a8bc
add best ticket reward to tests
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 21:10:04 +02:00
Jakub Sztandera
8bca545cab
Add test for winnerProba
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 21:10:04 +02:00
Jakub Sztandera
9c98cf8bc1
Fix blockProbabilities
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 21:10:04 +02:00
Jakub Sztandera
8acd926636
Use conditional probability for noWinners, fix tests
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 21:10:04 +02:00
Jakub Sztandera
12f7ead55e
Merge pull request #3144 from filecoin-project/feat/dedup-for-basefee
...
Basefee change depends on unique messages not all messages
2020-08-18 21:08:29 +02:00
Łukasz Magiera
b23cac19ab
Merge pull request #3151 from filecoin-project/asr/specs-update
...
Update to specs-actors v0.9.3
2020-08-18 20:56:51 +02:00
Aayush Rajasekaran
446a4f6272
Update to specs-actors v0.9.3
2020-08-18 14:24:46 -04:00
whyrusleeping
42730bcf1c
handle potential overallocation
2020-08-18 10:56:54 -07:00
Aayush Rajasekaran
214eeccb18
Create a testnet version of setupGenesisActors
2020-08-18 13:56:47 -04:00
Łukasz Magiera
2570712a29
Merge pull request #3135 from filecoin-project/feat/genesis-block-linkage
...
proper genesis block history
2020-08-18 19:28:55 +02:00
Jakub Sztandera
c9fdd4bee2
Fix testgrounds build
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 17:40:53 +02:00
Jakub Sztandera
c841f26256
Basefee change depends on unique messages not all messages
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-18 15:28:50 +02:00
Łukasz Magiera
36d87eb8e9
more checks around genesis CID
2020-08-18 15:04:31 +02:00
Sami Mäkelä
4ae02ef1b9
looks like it's working
2020-08-18 13:58:32 +03:00
Sami Mäkelä
88fbc044b3
adding actors for genesis msig addresses
2020-08-18 13:58:29 +03:00
Aayush Rajasekaran
8942c02f28
Add a reminder comment
2020-08-18 06:01:48 -04:00
vyzo
4287f76ed4
fix deadlock in mpool.Push
2020-08-18 10:19:46 +03:00
whyrusleeping
64e18131c1
place the remainder of unallocated funds in a 'remainder' account
2020-08-17 23:38:58 -07:00
whyrusleeping
13e5b72cdb
proper genesis block history
...
Commit hash originally stamped into the ethereum blockchain:
https://etherscan.io/tx/0xe8f51c9eefb682cd866f059462577b6dd3d2685ff4b6437f6c940ff4f4aaf067
2020-08-17 21:13:43 -07:00
vyzo
ff7f0a9dcd
Merge pull request #3090 from filecoin-project/fix/pubsub-validation-clown-shoes
...
Fix clown shoes in pubsub validation
2020-08-17 23:31:45 +03:00
vyzo
ca552cf83b
deduplicate some block validation logic
2020-08-17 21:03:08 +03:00
Łukasz Magiera
6ef7a30b19
Merge pull request #3089 from filecoin-project/integrate/storage-fsm
...
integrate extern/{storage-fsm,sector-storage} into lotus source tree
2020-08-17 18:37:54 +02:00
Łukasz Magiera
704578c9c2
Merge pull request #3108 from austinabell/msload
...
Remove unnecessary miner state load for checking slashed
2020-08-17 18:11:09 +02:00
austinabell
c3c6fda9d5
Remove unnecessary miner state load for checking slashed
2020-08-17 09:32:47 -04:00
Raúl Kripalani
efdc428d5d
keep storage-fsm (renamed to storage-sealing) and sector-storage in extern.
2020-08-17 14:26:18 +01:00
vyzo
3b6e2bdb7b
trigger early republish from head changes
2020-08-17 10:03:39 +03:00
vyzo
ae88a99c84
add some lightweight validation of local messages
2020-08-17 09:04:22 +03:00
vyzo
884d4ad9df
fix clown shoes pubsub validation: we always accept our own self-published messages
2020-08-16 20:46:19 +03:00
Raúl Kripalani
3c17cd655e
integrate extern/sector-storage into lotus proper.
2020-08-16 11:09:58 +01:00
hannahhoward
aa419155f6
feat(fundmgr): temp fix for funding issues
2020-08-14 19:37:20 -07:00
Aayush Rajasekaran
0359a458e4
Include more info in StateCirculatingSupply
2020-08-14 16:53:30 -04:00
vyzo
a5d2ec0df8
appease linter
2020-08-14 10:12:55 +03:00
vyzo
b844f70a3c
make competitve selection test parameteric on distribution function, add test for Zipf distribution
2020-08-14 10:09:25 +03:00
Aayush Rajasekaran
5702ea236c
Do not include the burnt funds actor as a genesis account actor
2020-08-13 20:19:47 -04:00
Jakub Sztandera
f27a122787
Use Zipf distribution for messages
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 20:22:56 +02:00
vyzo
9aa8791920
make selection2 test less touchy
2020-08-13 20:02:08 +03:00
vyzo
2eff03fa1f
small fixes in optimal selection
...
1. Remove noop updates from the previous dependencies
2. Update subsequent dependencies, which was the intention
2020-08-13 19:49:07 +03:00
Jakub Sztandera
0daed04c07
Don't run the test 50 times
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
09f5a64ce0
use gasPerf for negative performance check
...
it's the same in actually because effPerf<0 iff gasPerf<0, but we should be consistent
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
f3eec33bec
make OptimalSelection3 test pass
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
1aa8b6cab2
make OptimalSelection2 test pass
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
0f5598e59b
compute average boost in tests
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
5e8ae7498a
only adjust next chains if they have positve perf
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
7bbf1c7db2
don't mix negative performing chains with their parent, add some comments
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:10 +02:00
Jakub Sztandera
f35555964d
Better "optimal selection
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:10 +02:00
vyzo
d25f386bb5
mixin the previous chain's effective performance to capture effect of dependencies
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:10 +02:00
Łukasz Magiera
3b23ab952b
gofmt
2020-08-13 13:44:43 +02:00
frrist
69a472c4ea
bug: fix id_address_map table conflicts on reorg
2020-08-12 16:54:45 -07:00
frrist
ce21557d64
bug: fix bug in predicate and add tests
2020-08-12 16:52:08 -07:00
whyrusleeping
b3a31d8823
add function to check entire state tree balance
2020-08-12 15:45:46 -07:00
Steven Allen
3ef3f570fb
Fix lint errors an broken tests
2020-08-12 23:16:44 +02:00
Aayush Rajasekaran
c73d597d87
Merge pull request #2961 from filecoin-project/asr/genesis-premined
...
Revise TotalCircSupply
2020-08-12 17:12:54 -04:00
Łukasz Magiera
12f7e2d9bf
Use a struct for send metadata in MpoolPushMessage
2020-08-12 22:17:29 +02:00
Aayush Rajasekaran
5b280057b8
Move genesis locked funds into filVested
2020-08-12 16:16:35 -04:00
Łukasz Magiera
e1a1b325bc
Merge remote-tracking branch 'origin/next' into feat/max-msg-fee-config
2020-08-12 21:55:03 +02:00
Łukasz Magiera
43586ed9a1
Merge pull request #3000 from filecoin-project/feat/mpool-add-semaphore
...
Add semaphore in push and friends to reduce lock contention
2020-08-12 21:53:59 +02:00
Łukasz Magiera
ba28169356
Merge remote-tracking branch 'origin/master' into next
2020-08-12 21:33:06 +02:00
Aayush Rajasekaran
b6b5a79833
Get FilMined from the reward actor's state, not balance
2020-08-12 15:32:11 -04:00