Aayush Rajasekaran
b7a3da4319
fix: sync: iterate over returned messages directly ( #11373 )
2023-11-02 07:57:22 +08:00
Aayush
0ff334912b
Address review
2023-08-09 19:28:24 -04:00
Aayush
52657c5cb0
feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets
2023-08-09 19:28:24 -04:00
Aayush
49f5825296
feat: chainstore: batch writes of tipsets
2023-05-02 17:26:07 -04:00
Steven Allen
d2c3e84d54
feat: sync: harden chain sync ( #10756 )
...
* fix: sync: fail sync instead of logging if we sync the wrong chain
* fix: sync: write headers in the correct order
Just in case. This shouldn't be necessary, but we might as well.
* fix: minus minus
* fix: do put the tipset
Put != Persist
2023-04-26 14:12:45 -07:00
Steven Allen
a97dae8f46
fix: sync: reduce log from error to info
...
And fix the message to account for the fact that we now reject _old_
blocks along with new ones.
We frequently receive "out of date" blocks in hello messages from
syncing and/or out of sync nodes. This isn't an error.
2023-04-25 14:34:13 -07:00
Steven Allen
784214ae05
feat: sync: validate (early) that blocks fall within range ( #10691 )
...
This will reject blocks in pubsub validation if they're either:
1. Too far into the future (5 blocks beyond the expected head).
2. Too far into the past (before finality with respect to our current
head).
Specifically:
1. We were previously rejecting future blocks in the sync logic, but not
in pubsub itself.
2. We never used to check if a block was too _old_.
Motivation: Blocks that are too new/too old can cause us to perform
quite a bit of unnecessary work.
2023-04-22 10:15:31 -07:00
Jorropo
fe42d974a2
chore: all: migrate from go-libipfs to boxo
...
github.com/ipfs/libipfs/blocks was unmigrated to github.com/ipfs/go-block-format due to compatibility issues with the rest of the IPLD stack.
2023-04-18 17:22:18 +02:00
Jorropo
f572852d06
chore: all: bump go-libipfs to replace go-block-format
...
Includes changes from:
- https://github.com/ipfs/go-block-format/pull/37
- https://github.com/ipfs/go-libipfs/pull/58
2023-01-26 17:03:18 +01:00
raulk
cdf3812e40
NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing ( #9998 )
...
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Raul Kripalani <raulk@users.noreply.github.com>
Co-authored-by: Kevin Li <ychiaoli18@users.noreply.github.com>
Co-authored-by: vyzo <vyzo@hackzen.org>
Co-authored-by: Ian Davis <nospam@iandavis.com>
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Jennifer Wang <jiayingw703@gmail.com>
Co-authored-by: Geoff Stuart <geoff.vball@gmail.com>
Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai>
Co-authored-by: Shrenuj Bansal <108157875+shrenujbansal@users.noreply.github.com>
Co-authored-by: Geoff Stuart <geoffrey.stuart@protocol.ai>
Co-authored-by: Aayush Rajasekaran <aayushrajasekaran@Aayushs-MacBook-Pro.local>
Co-authored-by: ZenGround0 <5515260+ZenGround0@users.noreply.github.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-01-13 19:11:13 +00:00
Łukasz Magiera
08b22edd89
fix make gen
2022-08-29 16:25:30 +02:00
Łukasz Magiera
2086b219d2
Don't use go-libp2p-core
2022-08-25 14:20:41 -04:00
Masih H. Derkani
6f686cae11
Upgrade to go-blockstore 1.2.0
and go-cid 0.2.0
...
Upgrade required dependencies and fix breaking changes.
2022-06-29 14:55:22 -04:00
Łukasz Magiera
e65fae28de
chore: fix imports
2022-06-14 17:00:51 +02:00
Steven Allen
9da58c5f6a
fix: mpool: avoid deadlock on unsubscribe
...
When unsubscribing _all_ topics, pubsub will drain the subscription
channel to avoid deadlocks. See
https://github.com/whyrusleeping/pubsub/pull/1 .
fixes #7803
2022-05-10 16:52:17 -04:00
Aayush Rajasekaran
ddc46fc059
Update to filecoin pubsub
2022-05-10 16:51:36 -04:00
Nikola Divic
ae66f57fa0
test: chain syncer & sync manager
...
Added a few tests for some uncovered methods of the syncer and sync
manager. Deleted some dead code (sync.go:getLatestBeaconEntry).
2022-02-11 00:46:59 +01:00
vyzo
dd327f0b22
plumb more contexts
2021-12-17 11:42:09 +02:00
Aayush Rajasekaran
dfb65ed89f
Plumb contexts through
2021-12-11 17:04:00 -05:00
Łukasz Magiera
95b128b7bc
chain: Cleanup consensus logic
2021-09-02 18:09:37 +02:00
ZenGround0
b914e95f34
revert pricelist by version to pricelist by epoch
2021-08-11 09:49:23 -04:00
Aayush Rajasekaran
104626acb7
ValidateBlock: Assert that block header height's are greater than their parents
2021-07-26 11:09:23 -04:00
ZenGround0
f49a8248f0
PriceListByVersion
2021-07-22 09:49:47 -04:00
Łukasz Magiera
dc642d0b7b
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-06-01 21:06:58 +02:00
Aayush Rajasekaran
8d991283f4
Resolve to ID addresses when handling message selection
2021-05-31 18:13:23 -04:00
Steven Allen
8f309b214b
chain: move checkpoint logic into chainstore
...
That way, checkpoints can be enforced by the chainstore, removing a
potential race where an in-progress sync of a fork could bypass a sync
checkpoint.
2021-04-28 15:06:29 -07:00
Aayush Rajasekaran
c1e4eb3b20
Add a whitelisted block
2021-04-10 02:12:38 -04:00
Raúl Kripalani
1ac0c9a926
address review comments.
2021-03-02 21:29:24 +00:00
Raúl Kripalani
b1c348b4a7
address review comments.
2021-03-02 16:31:01 +00:00
Raúl Kripalani
3795cc2bd2
segregate chain and state blockstores.
...
This paves the way for better object lifetime management.
Concretely, it makes it possible to:
- have different stores backing chain and state data.
- having the same datastore library, but using different parameters.
- attach different caching layers/policies to each class of data, e.g.
sizing caches differently.
- specifying different retention policies for chain and state data.
This separation is important because:
- access patterns/frequency of chain and state data are different.
- state is derivable from chain, so one could never expunge the chain
store, and only retain state objects reachable from the last finality
in the state store.
2021-02-28 22:49:44 +00:00
Raúl Kripalani
7f0f7d0b36
Merge branch 'master' into refactor/lib/blockstore
2021-02-28 19:55:23 +00:00
austinabell
3228ae5672
Remove unnecessary database reads in validation check
2021-02-05 15:46:46 -05:00
Raúl Kripalani
b0cbc932bd
consolidate all blockstores in blockstore package.
2021-01-29 20:01:00 +00:00
Łukasz Magiera
260908015f
Merge pull request #5393 from filecoin-project/feat-refactor-bls
...
refactor: switch to filecoin-ffi bls api for bls signatures
2021-01-25 20:56:18 +01:00
Steven Allen
7c9b9e3657
explicitly check miner address protocol
...
This is implicitly checked when verifying the miner signature, but
explicitly checking it here makes it clear that this is a protocol
requirement, and reduces the chances that it will be accidentally
"refactored out".
2021-01-22 18:04:07 -08:00
dignifiedquire
3d9eb226fa
refactor: switch to filecoin-ffi bls api for bls signatures
2021-01-20 16:19:07 +01:00
Łukasz Magiera
b0bb36909b
Merge pull request #4192 from filecoin-project/schomatis/sync/remove-self-bypass
...
fix(sync): remove checks bypass when we submit the block
2021-01-12 14:52:50 +01:00
Lucas Molas
461a3cdebc
fix(sync): enforce ForkLengthThreshold for synced chain ( #5182 )
2020-12-22 12:29:36 -03:00
yaohcn
7c0b6f41d8
fix log format
2020-11-24 19:09:48 +08:00
Aayush Rajasekaran
7838752352
Avoid sending messages to the zero BLS address
2020-11-17 01:42:11 -05:00
Łukasz Magiera
470538b082
Merge pull request #4770 from filecoin-project/fix/winpost-sset
...
Don't use terminated sectors for winning PoSt
2020-11-16 17:16:08 +01:00
Łukasz Magiera
3a3270b37c
nv7 upgrade: Don't use terminated sectors for winning PoSt
2020-11-09 18:52:10 +01:00
Łukasz Magiera
9270ac6358
Make some logs quieter
2020-11-03 13:28:41 +01:00
Jakub Sztandera
e68f69b63b
Call GetHeaviestTipSet() only once when syncing
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-02 22:56:26 +01:00
Steven Allen
8bb69f1e9c
Use pre-computed parent state root for lookback info
...
There's no need to call TipSetState and recompute it.
2020-10-23 19:40:01 -07:00
Jakub Sztandera
16a911bc39
Fix random test failures
...
If block 1 was a null block then blockSet would include genesis which
would lead to us trying to load parent of a genesis block.
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-23 19:33:30 +02:00
Steven Allen
4a550d12d4
Always validate VRFs, even when insecure post validation is enabled
...
We always generate them, we might as well validate them.
2020-10-22 09:19:46 -07:00
Steven Allen
4e730b5ec8
port to v2 imports
2020-10-21 12:16:23 -07:00
whyrusleeping
608010c35d
add some extra logging to try and debug sync issues
2020-10-19 19:09:49 -07:00
Steven Allen
bbc6de94fc
write messages to a temp blockstore when validating
2020-10-14 14:43:52 -07:00