Commit Graph

3297 Commits

Author SHA1 Message Date
Fridrik Asmundsson
ebb54bc381 fix naming lint 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
ba1ee60d1b Refactor eth.go 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
7f99d15071 Small refactor and cleanup 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
fd69f8bbd8 Check all errors 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
abeb842d93 Address lint errors 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
392ef1beb7 Handle delegatecall 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
2c902db0e1 Handle more edge cases 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
c1eaa2f864 Translate call input/output into Solidity ABI 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson
1b0f54a61b Add new tracing API 2023-08-28 17:48:22 +00:00
Aayush
5bfea36a17 Merge branch 'feat/nv21' into asr/merge-nv21 2023-08-23 11:44:59 -04:00
Aayush
3ea3e49bdd wip: 2 more randomness fetching APIs 2023-08-22 12:32:25 -04:00
Aayush
034f6cf832 wip: 2 more randomness fetching APIs 2023-08-21 16:32:27 -04:00
Andrew Jackson (Ajax)
cb7231cb8a
Merge pull request #11177 from filecoin-project/sbansal/unseal-background
fix: sealing: Run unsealing in the background for better ux
2023-08-21 11:37:59 -05:00
Shrenuj Bansal
9e69576410 log unseal failures 2023-08-16 17:40:27 -04:00
Shrenuj Bansal
38350b8d8a Run unsealing in the background for better ux 2023-08-16 17:20:39 -04:00
Phi
8b5da86727 feat: introduce local nv21 skeleton
Introduce nv21 skeleton for local testing:

- Use local go-state-types with actor_version_checklist changes: https://github.com/filecoin-project/go-state-types/blob/master/actors_version_checklist.md
- Imports mock v12-actors bundle
- Define upgrade heights
- Generate adapters
- Add upgrade schedule and migration
- Add actorstype to the NewActorRegistry in /chain/consensus/computestate.go
- Add upgrade field to api/types.go/ForkUpgradeParams
- Add upgrade to node/impl/full/state.go
- Add network version to chain/state/statetree.go
- make jen
- make docsgen-cli
2023-08-16 20:01:48 +02:00
Łukasz Magiera
c46aea6a36
Merge pull request #11164 from filecoin-project/go-libp2p-v029
update go-libp2p to v0.29.2
2023-08-16 12:15:52 +02:00
Łukasz Magiera
33182967eb
Merge pull request #11142 from filecoin-project/feat/act-precommv2
sealing: Switch to calling PreCommitSectorBatch2
2023-08-14 21:31:24 +02:00
Marten Seemann
2f0fbe26f8 update go-libp2p to v0.29.2 2023-08-14 18:46:28 +07:00
Aayush Rajasekaran
1da18e8058
Merge pull request #10987 from simlecode/feat/add-Eip155ChainID
feat: add Eip155ChainID to StateGetNetworkParams
2023-08-09 20:02:05 -04:00
Łukasz Magiera
a4d22f585f sealing pipeline: Drop legacy single-pc1 submit path 2023-08-08 14:43:00 +02:00
Łukasz Magiera
1c73ac69b4 pc batch: drop individual precommit processing 2023-08-08 13:04:21 +02:00
Łukasz Magiera
fbac220208 feat: chain node: Move consensus slasher to internal service 2023-08-01 12:06:18 -04:00
Aayush
a413a53be2 feat: refactor slashfilter to return bool indicating fault 2023-08-01 12:05:02 -04:00
Łukasz Magiera
fe7cf0c39a feat: chain node: Move consensus slasher to internal service 2023-08-01 17:34:44 +02:00
simlecode
c3f421a9cd feat: add Eip155ChainID to StateGetNetworkParams 2023-07-28 16:03:59 +08:00
Aayush
09b566dde1 fix: daemon: set real beacon schedule when importing chain 2023-07-17 09:36:41 -04:00
Łukasz Magiera
50cf19722a Make Synthetic PoRep work 2023-07-13 15:48:20 +02:00
Łukasz Magiera
2f19a5f66d gen, fix build with new state-types 2023-07-13 15:48:19 +02:00
Łukasz Magiera
518c2cdf6e rename synth porep config to a shorter name 2023-07-13 15:48:16 +02:00
Andrew Jackson (Ajax)
7f306a5b02 Synthetic PoRep Impl 2023-07-13 15:47:59 +02:00
Andrew Jackson (Ajax)
08038540e4 Impl synthPoRep 2023-07-13 15:47:59 +02:00
Andrew Jackson (Ajax)
f4fe4cae9c synthetic porep config 2023-07-13 15:47:59 +02:00
Phi
c7b9633160 feat: introduce local nv21 skeleton
Introduce nv21 skeleton for local testing:

- Use local go-state-types with actor_version_checklist changes: https://github.com/filecoin-project/go-state-types/blob/master/actors_version_checklist.md
- Imports mock v12-actors bundle
- Define upgrade heights
- Generate adapters
- Add upgrade schedule and migration
- Add actorstype to the NewActorRegistry in /chain/consensus/computestate.go
- Add upgrade field to api/types.go/ForkUpgradeParams
- Add upgrade to node/impl/full/state.go
- Add network version to chain/state/statetree.go
- make jen
- make docsgen-cli
2023-07-13 15:47:18 +02:00
Shrenuj Bansal
cbbd7dea0c
Merge pull request #11058 from filecoin-project/sbansal/add-prune-metrics
feat: Add a metric to display pruning of the node's peer
2023-07-10 09:45:41 -04:00
Aayush
802a9f0a78 feat: refactor slashfilter to return bool indicating fault 2023-07-08 11:14:41 -04:00
Shrenuj Bansal
e54b32208c fix 2023-07-07 14:17:21 -04:00
Shrenuj Bansal
1b61d13733 Add temp debug logging 2023-07-07 13:51:15 -04:00
Shrenuj Bansal
60ee56a23e Add a metric to display pruning of the node's peer 2023-07-07 10:41:36 -04:00
Fridrik Asmundsson
b80c0828b9 feat: Make sure we dont store duplidate actor events caused by reorgs 2023-06-30 11:20:57 +00:00
Friðrik Ásmundsson
a2431ff70a
Merge pull request #10815 from filecoin-project/10814-eip-1891
Add EIP-1898 support needed for The Graph compatibility
2023-06-23 08:29:45 +00:00
Fridrik Asmundsson
dda2d7e023 Refactor EthBlockNumberOrHash and remove the number field 2023-06-22 17:18:50 +00:00
Fridrik Asmundsson
f358160cd5 Add EIP-1898 support needed for The Graph compatibility
Fixes: #10814

This PR updates the following RPC methods according to EIP-1898
specs.

The following RPC methods are affected:

- eth_getBalance
- eth_getStorageAt
- eth_getTransactionCount
- eth_getCode
- eth_call

Note that eth_getBlockByNumber was not included in this list in
the spec although it seems it should be affected also?

Currently these methods all accept a blkParam string which can be
one of "latest", "earliest", "pending", or a block number (decimal
or hex). The spec enables caller to additionally specify a json
hash which can include the following fields:

- blockNumber EthUint64: A block number (decimal or hex) which is
  similar to the original use of the blkParam string
- blockHash EthHash: The block hash
- requireCanonical bool) If true we should make sure the block is
  in the canonical chain

Since the blkParam needs to support both being a number/string and
a json hash then this to properly work we need to introduce a new
struct with pointer fields to check if they exist. This is done
in the EthBlockParamByNumberOrHash struct which first tries to
unmarshal as a json hash (according to eip-1898) and then fallback
to unmarshal as string/number.
2023-06-20 09:38:00 +00:00
Jorropo
6c01310728
chore: migrate to boxo
This migrates everything except the `go-car` librairy: https://github.com/ipfs/boxo/issues/218#issuecomment-1529922103

I didn't migrated everything in the previous release because all the boxo code wasn't compatible with the go-ipld-prime one due to a an in flight (/ aftermath) revert of github.com/ipfs/go-block-format. go-block-format has been unmigrated since slight bellow absolutely everything depends on it that would have required everything to be moved on boxo or everything to optin into using boxo which were all deal breakers for different groups.

This worked fine because lotus's codebase could live hapely on the first multirepo setup however boost is now trying to use boxo's code with lotus's (still on multirepo) setup: https://filecoinproject.slack.com/archives/C03AQ3QAUG1/p1685022344779649

The alternative would be for boost to write shim types which just forward calls and return with the different interface definitions.

Btw why is that an issue in the first place is because unlike what go's duck typing model suggest interfaces are not transparent https://github.com/golang/go/issues/58112, interfaces are strongly typed but they have implicit narrowing. The issue is if you return an interface from an interface Go does not have a function definition to insert the implicit conversion thus instead the type checker complains you are not returning the right type.

Stubbing types were reverted https://github.com/ipfs/boxo/issues/218#issuecomment-1478650351

Last time I only migrated `go-bitswap` to `boxo/bitswap` because of the security issues and because we never had the interface return an interface problem (we had concrete wrappers where the implicit conversion took place).
2023-06-19 14:45:05 -07:00
Aayush Rajasekaran
24b958cffd
Merge pull request #10928 from storswiftlabs/slashfilter
Implement a tooling for slasher
2023-06-13 09:15:22 -05:00
Steven Allen
739d61c698 fix: eth: ensure that the event topics are non-nil
Even when empty.

fixes #10910
2023-06-12 14:25:02 -07:00
Shrenuj Bansal
fc719e710f Add comment stating msgIndex is an experimental feature 2023-06-09 11:46:27 -05:00
mx
36b5f485cd Merge branch 'slashfilter' of https://github.com/storswiftlabs/lotus into slashfilter 2023-06-09 10:18:45 +08:00
mx
2fca475dd4 fix: supply extra params for ReportConsensusFaultParams 2023-06-09 10:15:14 +08:00
Fridrik Asmundsson
a27e0a8b41 Prefill GetTipsetByHeight skiplist cache on lotus startup 2023-06-06 15:17:34 -05:00
Phi
db673ef28d Alert if higher then 24
Alert if higher then 24
2023-05-31 09:43:26 -04:00
Phi
2310740584 Add FVM_CONCURRENCY alert
Add FVM_CONCURRENCY alert if its set higher then 24
2023-05-31 09:39:03 -04:00
Łukasz Magiera
b997f4acec
Merge pull request #10854 from filecoin-project/revert-10852-sbansal/revert-10848
Revert "Revert "libp2p: add QUIC and WebTransport to default listen addresses""
2023-05-30 19:34:44 +02:00
Aayush Rajasekaran
ce5e242d76
Merge pull request #10915 from filecoin-project/fix/upgrade-sector-selection
sealing: Improve upgrade sector selection
2023-05-30 13:32:52 -04:00
Łukasz Magiera
2636815311 Merge remote-tracking branch 'origin/master' into revert-10852-sbansal/revert-10848 2023-05-30 15:53:31 +02:00
simlecode
10130a32d7 opt: MinerInfo adds the PendingOwnerAddress field 2023-05-30 13:04:11 +08:00
Łukasz Magiera
090b98ad33 sealing: Attempt to improve upgrade sector selection 2023-05-26 12:31:35 +02:00
Andrew Jackson (Ajax)
aef2ab6315
Merge pull request #10405 from cortze/feat/upgrade-elastic-search-traces-transport
feat: tracer: upgrade elastic search transport for pubsub traces
2023-05-24 10:01:37 -05:00
cortze
42d2f4d7e4 tracer: move es transport to net/http + format 2023-05-22 09:43:07 +02:00
cortze
bb92984dca tracer: simplify the valid Iwant logic 2023-05-22 09:13:10 +02:00
gammazero
f35fa5757a Replace use of storetheindex with go-libipni 2023-05-17 11:41:00 -07:00
cortze
fa8792a65e make CI happpy with format 2023-05-17 14:58:53 +02:00
cortze
d400d33b1e go format code changes 2023-05-17 14:44:19 +02:00
cortze
c2e2725855 update traces, es transport with batches and fasthttp 2023-05-17 11:54:59 +02:00
Phi
7519f9fdf1 fix: Add lotus-miner legacy-markets alert
fix: Add lotus-miner legacy-markets alert
2023-05-15 13:13:06 +02:00
Fridrik Asmundsson
4ca30abeef Add support for blockHash param in eth_getLogs 2023-05-10 16:43:25 -04:00
Łukasz Magiera
b412d8c179
Revert "Revert "libp2p: add QUIC and WebTransport to default listen addresses"" 2023-05-10 22:28:09 +02:00
Friðrik Ásmundsson
b4ea0db04f
Merge pull request #10719 from filecoin-project/10622-add-eth-syncing
feat: Add eth_syncing RPC method
2023-05-10 16:21:11 -04:00
Fridrik Asmundsson
2bc205ed62 feat: Add eth_syncing RPC method
This commit adds eth_syncing RPC method which returns an object
with data about the sync status or false.
2023-05-10 16:08:18 -04:00
Shrenuj Bansal
da2e155b72 Revert "libp2p: add QUIC and WebTransport to default listen addresses"
This reverts commit 0a064c1b3d.
2023-05-10 15:58:30 -04:00
Aayush
fb228ebbff feat: mempool: reintroduce ForEachPendingMessage 2023-05-10 14:19:33 -04:00
Łukasz Magiera
86723a3223
Merge pull request #10671 from filecoin-project/update-libp2p-v027
chore: update go-libp2p to v0.27.3
2023-05-10 13:52:58 +02:00
Marten Seemann
0a064c1b3d libp2p: add QUIC and WebTransport to default listen addresses 2023-05-10 12:07:20 +03:00
Marten Seemann
ca9c873858 return all the public addresses in NatInfo 2023-05-10 11:54:48 +03:00
Marten Seemann
b414124e5e chore: update go-libp2p to v0.27.1 2023-05-10 11:54:47 +03:00
Friðrik Ásmundsson
ceb3f1e41e
Validate that FromBlock/ToBlock epoch is indeed a hex value (#10780)
* Validate that FromBlock/ToBlock epoch is indeed a hex value

* Adding tests
2023-05-09 17:17:23 -04:00
ZenGround0
ed7d1ef493
Merge pull request #10534 from filecoin-project/raulk/fix-parse-block-param-error
fix: Eth RPC: do not occlude block param errors.
2023-05-08 11:51:39 -04:00
Shrenuj Bansal
c7bdf61fb1
Disable lotus markets by default (#10809) 2023-05-03 16:42:23 -04:00
Aayush Rajasekaran
76f231618a
Merge pull request #10777 from filecoin-project/steb/revert-cb
Revert #9858 (consistent broadcast changes)
2023-05-02 10:51:22 -04:00
Aayush Rajasekaran
e291da9adc
Merge pull request #10728 from filecoin-project/sbansal/stagger-commits-set-default
Set default for MaxSectorProveCommitsSubmittedPerEpoch
2023-05-01 10:25:28 -04:00
Steven Allen
bb5ba64cca Revert "Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast"
This reverts commit 8b2208fd9a, reversing
changes made to 2db6b12b78.

Unfortunately, this is rather tricky code. We've found several issues so
far and, while we've fixed a few, there are outstanding issues that
would require complex fixes we don't have time to tackle right now.

Luckily, this code isn't actually needed by the main Filecoin chain
which relies on consensus fault reporting to handle equivocation. So we
can just try again later.
2023-04-27 12:25:30 -07:00
Aayush Rajasekaran
eb0b1c986b
Merge pull request #10713 from filecoin-project/steb/fix-event-subscription
fix: events: don't set GC confidence to 1
2023-04-26 16:14:20 -04:00
ychiao
9ae48022ff
fix: Eth JSON-RPC api: handle messages with gasFeeCap less than baseFee (#10614) 2023-04-24 16:03:04 +01:00
Aayush
5a061e4677 Merge branch 'releases' into asr/merge-release-into-master 2023-04-23 14:58:50 -04:00
Shrenuj Bansal
d39fbb277f Set default for MaxSectorProveCommitsSubmittedPerEpoch 2023-04-21 16:35:31 -04:00
Łukasz Magiera
b44ae9a7d8
Merge pull request #10647 from filecoin-project/sbansal/split-pcb
feat: sealing: Split PCA/PCB batches if gas used exceeds block limit
2023-04-21 18:30:27 +02:00
Steven Allen
c84c07eb74 fix: events: don't set GC confidence to 1
The function/parameter were poorly named and should never have been
exposed. "GC" confidence should always be the same, this parameter
doesn't let us actually set the _confidence_, just the point before
which we no longer support reverts.

fixes #10706
2023-04-20 14:45:55 -07:00
Łukasz Magiera
0a46fc7e73
Merge pull request #10562 from Jorropo/boxo
chore: boxo: migrate from go-libipfs to boxo
2023-04-20 16:24:22 +02:00
Shrenuj Bansal
0c83781a7f Add tests for PCB/PCA batch splitting 2023-04-19 18:44:32 -04:00
ZenGround0
327760acff
chore: build: Merge/v22 into 21 for 23 (#10702)
* chore: update ffi to increase execution parallelism

* Don't enforce walking receipt tree during compaction

* fix: build: drop drand incentinet servers

* chore: release lotus v1.20.4

* Apply suggestions from code review

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>

* feat: Introduce nv19 skeleton

Update to go-state-types v0.11.0-alpha-1

Introduce dummy v11 actor bundles

Make new actors adapters

Add upgrade to Upgrade Schedules

make jen

Update to go-state-types v0.11.0-alpha-2

* feat: vm: switch to the new exec trace format (#10372)

This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).

* feat: implement FIP-0061

* Address review

* Add and test the FIP-0061 migration

* Update actors bundles to fip/20230406

* Update to go-state-types master

* Update to actors v11.0.0-rc1

* - Update go state types
- Keep current expiration defaults on creation, extension some tests
- Update ffi

* ffi experiment

* Integration nv19 migration

- Open splitstore in migration shed tool
- Update state root version

* Post rebase fixup

* Fix

* gen

* nv19 invariant checking

* Try fixig blockstore so bundle is loaded

* Debug

* Fix

* Make butterfly upgrades happen

* Another ffi experiment

* Fix copy paste error

* Actually schedule migration (#10656)

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* Butterfly artifacts

* Set calibration net upgrade height

* Review Response

* Fix state tree version assert

* Quick butterfly upgrade to sanity check (#10660)

* Quick butterfly upgrade to sanity check

* Update butterfly artifacts

* Revert fake fix

* Give butterfly net correct genesis

* Butterfly artifacts

* Give time before upgrade

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* chore:releasepolish v1.22 release (#10666)

* Update butterfly artifacts

* register actors v11

* Update calibration upgrade time

* State inspection shed cmds

* Fix

* make gen

* Fix swallowed errors

* Lint fixup

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* v1.22.0-rc3

* bundle fix

* Feat/expedite nv19 (#10681)

* Update go-state-types

* Modify upgrade schedule and params

* Revert fip 0052

* Update gst

* docsgen

* fast butterfly migration to validate migration

* Correct epoch to match specified date

* Update actors v11

* Update changelog build version

* Update butterfly artifacts

* Fix lotus-miner init to work after upgrade

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* fix:deps:stable ffi for stable release  (#10698)

* Point to stable ffi for stable lotus release

* go mod tidy

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>

---------

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: jennijuju <jiayingw703@gmail.com>
2023-04-19 18:40:18 -04: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
Shrenuj Bansal
0befed7200
Add API and CLI to unseal sector (#10626) 2023-04-17 12:12:15 -04:00
Shrenuj Bansal
1e25d7b453 Split precommit batches if gas used exceeds block limit 2023-04-10 14:52:39 -04:00
ZenGround0
da6b565dc1
Update config default value (#10605)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-04-10 10:13:22 -04:00
Steven Allen
d1364caa84
fix: cap the message gas limit at the block gas limit (#10637)
Technically, if a message is near the block gas limit, this method could
over-estimate past the block gas limit. Instead, cap at the block gas
limit.
2023-04-08 14:57:28 -07:00
zenground0
0314db7894 Update config default value 2023-04-04 20:35:28 +02:00
Shrenuj Bansal
2278a209e2
Add feature to stagger sector prove commit submission (#10543)
* Add feature to stagger sector prove commit submission

* make gen and docsgen as usual

* address comments and lint

* Update comment

Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>

* make gen for stupid comment

* make docsgen

* address comments

---------

Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2023-04-01 19:30:32 -04:00
Aayush Rajasekaran
8b2208fd9a
Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast
feat:networking:  (Synchronous) Consistent Broadcast for Filecoin EC
2023-03-30 09:32:09 -04:00
Jiaying Wang
caa6dd9c41
Merge pull request #10594 from filecoin-project/phi/v1210-rc2
build: release: v1.21.0-rc2
2023-03-29 15:59:56 -04:00
Aayush
66fc6dc3e5 refactor: stop using deprecated io/ioutil 2023-03-29 15:40:49 -04:00