Compare commits

...
Author SHA1 Message Date
i-norden 3a1abdab0f geth debug tracing boilerplate 2023-11-12 11:30:10 -06:00
Aayush Rajasekaran 7344dd5eb3 Merge pull request #11407 from filecoin-project/asr/calibnet-master
chore: forward-port calibnet hotfix to master
2023-11-10 10:26:38 -05:00
Aayush 5b5dd525f5 skip migration cache correctly 2023-11-09 14:14:46 -05:00
Aayush 410bdc389e fix: nv21fix migration: correctly upgrade system actor 2023-11-09 14:14:41 -05:00
Phi-rjan fbafe1c507 Merge pull request #11395 from filecoin-project/fix/update-premigration
fix: migration: set premigration to 90 minutes
2023-11-08 10:22:59 +01:00
Phi 24a714d123 Move premigration to 90 minutes
Move premigration to 90 minutes before upgrade epoch.
2023-11-08 08:22:15 +01:00
Łukasz Magiera b243c405b4 Merge pull request #11353 from CIDgravity/improve-sectors-summary-call
feat: sealing: load SectorsSummary from sealing SectorStats instead of calling API each time
2023-11-07 13:22:18 +01:00
Steven Allen cff785fa37 fix: eth: correctly encode and simplify native input/output encoding (#11382)
* chore: eth: move & rename input/output encoding functions

These are shared functions, so I'm moving them to the utils library.

* fix: eth: correctly encode and simplify native input/output encoding

When generating eth traces, we encode "native" message inputs/outputs
to "solidity ABI" by formatting the inputs/outputs the same way we do in
FEVM's "handle_native_method". However, we had quite a few bugs with the
implementation:

1. We were right-aligning 64bit values in 256bit words, instead of
left-aligning (as we should given that these values are big-endian).
2. The return-value encoding wasn't correctly handling lengths.

This patch:

1. Fixes those bugs.
2. Deduplicates the logic (we're doing _basically_ the same thing in
both cases).
3. Removes all error paths (these functions can't fail).
2023-11-06 09:41:22 -08:00
Florian RUEN c0c4e6bf35 fix: add lk.Lock() and move the map copy to avoid miner crash 2023-11-03 15:38:20 +01:00
Florian RUEN 02929dd166 feat: load SectorsSummmary from SectorStats instead of calling API (faster) 2023-11-03 15:38:19 +01:00
Phi-rjan 12b30c0069 Merge pull request #11361 from filecoin-project/feat/add-mpool-metrics
feat: metric: export Mpool message count
2023-11-03 14:44:19 +01:00
Phi-rjan b1228b51ef fix: worker: listen for interrupt signals in GetStorageMinerAPI loop (#11309)
- Added a goroutine to listen for interrupt signals, which will cancel the current context when an interrupt signal is received. This allows for graceful shutdown of ongoing operations.
2023-11-03 06:39:28 -07:00
Phi 9d58fff806 Update unreleased changelog
Update unreleased changelog
2023-11-03 14:33:31 +01:00
Phi d121760172 Record currentSize on addLocked
Record currentSize on addLocked
2023-11-03 08:59:01 +01:00
Anton Evangelatov e8455567fd readme: bump up golang version (#11347) 2023-11-02 05:39:37 -07:00
Aayush Rajasekaran 29fbfaf13d fix: sync: iterate over returned messages directly (#11373) 2023-11-01 15:08:23 -07:00
Jiaying Wang 5f593b3ae1 Merge pull request #11374 from filecoin-project/jennijuju-patch-5
chore: watermelon: upgrade epoch
2023-11-02 05:30:06 +08:00
Jiaying Wang ad8cfe1da2 update both mainnet and calib upgrade epoch 2023-11-02 03:52:31 +08:00
Jiaying Wang 64a9453db8 Update params_mainnet.go
add main net upgrade epoch
2023-11-02 03:37:43 +08:00
Mikers 72c5a9a574 add support for v12 check invariants and also a default case to reduce future confusion (#11371) 2023-11-01 09:36:00 -07:00
Aayush Rajasekaran 77b6b7ef10 feat: chain: light-weight patch to fix calibrationnet (#11363)
* refactor: make GetEmbeddedBuiltinActorsBundle take network bundle name

* update calibnet actor bundle to v12.0.0-rc.2, but include v12.0.0-rc.1 as calibrationnet-buggy.car

* wip: calibnet unbork migration

* calibnet: add buggy miner actor CID to actorMeta

* fix incorrect buggy calibnet manifest

* make UpgradeWatermelonFixHeight a build param

* calibnet patch: check whether network is calibration from init actor state

* add sanity checks to the v12 calibnet patch upgrade

* address review
2023-10-31 18:29:09 -04:00
Phi d1b8af338e Export Mpool-count
Record the current size of the mpool and export through Prometheus
2023-10-31 08:09:00 +00:00
Steven Allen 48a3076876 test: drand: switch tests to drand testnet (from devnet) (#11359)
At the request of the drand team.
2023-10-30 17:05:02 -07:00
Andrew Jackson (Ajax) 8bb6d423ff Merge pull request #11250 from filecoin-project/release-template-easier
Update RELEASE_ISSUE_TEMPLATE.md
2023-10-30 18:30:17 -05:00
Andrew Jackson (Ajax) 9387ffc593 Update RELEASE_ISSUE_TEMPLATE.md 2023-10-30 18:18:42 -05:00
Łukasz Magiera 3720e79806 Merge pull request #11360 from filecoin-project/fix/add-udp-alert
fix: alert: Check UDPbuffer-size
2023-10-30 12:21:47 +01:00
Phi 7b473f60ae Handle errors from Close() in CheckUDPBufferSize
Added error handling for the Close() method calls in the CheckUDPBufferSize function to satisfy linting rules and improve error logging.
2023-10-30 09:59:59 +00:00
Phi a6ae497c02 Check UDP-buffer-size
Raise alert if UDP-buffer size is not high enough
2023-10-30 09:36:15 +00:00
Steven Allen 87801b5855 feat: shed: fix blockstore prune (#11197)
1. Implement a pass-through for garbage collection on the idstore.
2. Fix the `lotus-shed state-prune` command.

NOTE: the new performance of running a full prune will be significantly
less as this version doesn't batch. However, it should now actually
_work_ and most users will be using the splitstore anyways.
2023-10-27 11:33:18 -07:00
Alejandro Criado-Pérez b6a77dfafc Fix/texts (#11298)
* documentation text corrections

* Text corrections in go files

* make docsgen-cli
2023-10-27 11:32:42 -07:00
Hubert 368278b19c fix typo in rate-limit flag description (#11316) 2023-10-27 11:31:07 -07:00
Volker MischeandSteven Allen 21f8f642c9 refactor:ffi: replace ClearLayerData with ClearCache (#11352)
* refactor: replace ClearLayerData with ClearCache

The `ClearLayerData` FFI call was accidentally introduced with the
Synthetic PoRep. The call does under the hood exactly what `ClearCache`
is doing. This is a first step to remove `ClearLayerData`t also from
the FFI again, in order to reduce the API surface.

* fix types

---------

Co-authored-by: Steven Allen <steven@stebalien.com>
2023-10-27 11:30:07 -07:00
Steven Allen 3f00691f26 fix: api: compute gasUsedRatio based on max gas in the tipset (#11354)
We were computing this based on the max block gas, but this is
incorrect. The new value isn't entirely correct either (we should
probably compute an average of the gas used in each block in the
tipset?), but it's good enough.

fixes #10515
2023-10-27 07:37:51 -07:00
Steven Allen 420f33017e fix: api: compute the effective gas cost with the correct base-fee (#11357)
fixes #11252
2023-10-27 07:37:16 -07:00
Steven Allen 6e22c08c1d fix: api: return errors on failure to lookup an eth txn receipt (#11329)
All these cases here are actually errors and returning `nil` makes this
hard to debug. We likely returned nil in the past to be "best effort"
but, as far as I can tell, we should only hit these error cases if
something is actually wrong.

part of #11325
2023-10-24 12:13:45 -07:00
Ian Norden 84b07519c2 fix: api: exclude reverted events in eth_getLogs results (#11318)
* exclude reverted events from results returned by eth_getLogs

* unit test

* update CHANGELOG.md
2023-10-24 10:05:20 -07:00
Aayush Rajasekaran 018c4e8a38 feat: cli: sort actor CIDs alphabetically before printing (#11345) 2023-10-24 10:03:03 -07:00
guangwu 2d8dbf5bc1 chore: slice loop replace (#11349) 2023-10-24 10:02:28 -07:00
Andrew Jackson (Ajax) 14a7ae339f Merge pull request #11338 from filecoin-project/fix/storage-alloc-err-soft
storage: Return soft err when sector alloc fails in acquire
2023-10-18 09:38:49 -05:00
Aayush Rajasekaran 0374c50728 Merge pull request #11336 from filecoin-project/asr/merge-feat-nv21
chore: merge feat/nv21 into master
2023-10-17 09:39:49 -04:00
Aayush 864eef3e4c fix: cachefiles: add SynthPorep layers 2023-10-17 09:19:46 -04:00
Aayush 6187f6b7ac chore: deps: update to go-state-types v0.12.5 2023-10-17 09:12:54 -04:00
Łukasz Magiera d981baa362 storage: Return soft err when sector alloc fails in acquire 2023-10-17 11:42:41 +02:00
Aayush 40582335e9 feat: re-enable full cachefiles test coverage 2023-10-16 12:28:12 -04:00
Aayush 5e76b05b17 Merge branch 'feat/nv21' into asr/merge-feat-nv21 2023-10-16 11:13:33 -04:00
Łukasz Magiera 9fc3c3351a Merge pull request #9746 from filecoin-project/feat/maximize-feecap-cfg
feat: mpool/wdpost: Maximize feecap config
2023-10-13 14:22:58 +02:00
Aayush Rajasekaran 0e0b553c91 Merge pull request #11331 from filecoin-project/feat/set-calibration-height
chore: release: Set calibration upgrade height
2023-10-12 19:23:49 -04:00
Aayush Rajasekaran 5c68afa90d Update build/params_calibnet.go 2023-10-12 19:23:43 -04:00
Aayush Rajasekaran 2ebd8cd8ad Merge pull request #11330 from filecoin-project/asr/update-deps
chore: deps: update to latest actors and FFI
2023-10-12 19:21:13 -04:00
Phi 5fa44b12e8 chore: build: set calibration upgrade height
chore: build: set calibration upgrade height
2023-10-12 21:42:33 +01:00
Aayush 973cbc30bc chore: deps: update to latest actors and FFI 2023-10-12 16:20:33 -04:00
Aayush Rajasekaran a7f4976ab1 Merge pull request #11314 from filecoin-project/fix/sector-commitment-comment
fix: docs: Update SectorLifetime to be in line with FIP-0052
2023-10-11 15:50:10 -04:00
Aayush Rajasekaran 6ddc674424 Merge pull request #11327 from filecoin-project/asr/limit-partitions
feat: limit PoSted partitions to 3
2023-10-11 13:05:22 -04:00
Aayush 2a644e2c04 feat: limit PoSted partitions to 3 2023-10-11 12:41:55 -04:00
Aayush Rajasekaran 2b367225e4 Merge pull request #11321 from filecoin-project/asr/tweak-equivocation
feat: miner: defensive check for equivocation
2023-10-11 12:29:29 -04:00
Phi db96bc0143 Update comment
Make clear that 1278 days are applicable in nv21 not before.
2023-10-11 16:30:30 +01:00
Łukasz MagieraandAayush Rajasekaran 861134d923 mpool: Fix CapGasFee maxFee handling
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-10-11 16:49:00 +02:00
Aayush 00aad34194 messagepool: refactor CapGasFee logic to be cleaner 2023-10-10 11:20:26 -04:00
Aayush 7778fc2473 feat: miner: defensive check for equivocation 2023-10-10 10:15:04 -04:00
Łukasz Magiera 0787ff3bc3 Merge pull request #11315 from filecoin-project/fix/remove-ec1-bootstrappers
Remove PL's european bootstrap nodes from mainnet.pi
2023-10-09 13:00:55 +02:00
GlacierWalrus 46a3150784 Remove PL's european bootstrap nodes from mainnet.pi
Remove Protocol Labs's EU bootstrap nodes, as they've been decommissioned as
part of a cost reduction project.
2023-10-09 10:25:35 +00:00
Phi ce27d5fcf2 fix: config: update sector lifetime comment
Update SectorLifetime duration comment to be in line with FIP-0052: https://fips.filecoin.io/FIPS/fip-0052.html
2023-10-09 11:17:03 +01:00
Phi-rjan d09d549db7 Merge pull request #11312 from filecoin-project/phi-butterfly-assets
chore: butterfly: Update Butterfly Assets
2023-10-04 17:20:13 +01:00
Phi 276f8bf35c chore: butterfly: Add nv21 assets
Add nv21 butterfly assets
2023-10-04 16:49:35 +01:00
Aayush Rajasekaran d26e734c8e Merge pull request #11310 from filecoin-project/asr/updates
chore: deps: update FFI, FVM, and actors
2023-10-04 09:43:11 -04:00
Aayush 25757a197e chore: deps: update actors to v12.0.0-dev.3 2023-10-03 16:19:51 -04:00
Aayush 59394febe1 chore: deps: update to FFI v1.24.0-rc.1 2023-10-03 16:05:22 -04:00
Łukasz Magiera 1927b26abf fee config: Default MaximizeWindowPoStFeeCap to true 2023-10-03 11:53:26 +02:00
Łukasz Magiera 444e75ef77 feat: mpool/wdpost: Maximize feecap config 2023-10-03 11:32:49 +02:00
Jie Hou e81e5a751c Merge pull request #11301 from filecoin-project/move-partition
Feat: Lotus cli: actor: Support move partition command to move partitions' deadline
2023-10-02 09:27:26 -07:00
Jie Hou 3ca769c3c3 Update go mod 2023-10-02 16:56:56 -07:00
Jie Hou 7f3b2b8bc3 Add doc 2023-10-02 16:56:56 -07:00
Jie Hou 5e1e426882 Add really-do-it 2023-10-02 16:56:56 -07:00
Jie Hou 513ebd2de3 Update go-state-types commit 2023-10-02 16:56:56 -07:00
Jie Hou 66dee78508 Resume filecoin-ffi to right commit 2023-10-02 16:56:56 -07:00
Jie Hou 6f03936678 Remove unnecessary changes 2023-10-02 16:56:56 -07:00
Jie Hou 0a25e90dc8 WIP: Able to make call
WIP: further improve

CHANGELOG

Go mod switch dependency
2023-10-02 16:56:56 -07:00
Phi-rjan 0d240d1c58 Merge pull request #11297 from filecoin-project/fix-update-todo-nv21
chore: config: Update todo in UseSyntheticPoRep
2023-10-02 13:39:05 +01:00
Phi f0fce8f4a5 Remove sentence
Remove sentence about additional computation costs
2023-10-02 13:19:13 +01:00
Łukasz Magiera 0e26a8d99b Merge pull request #11299 from criadoperez/fix/criadoperez
docs: Link the release section in the release flow doc
2023-10-02 11:06:45 +00:00
Friðrik Ásmundsson 3fd57ff7d9 Merge pull request #11270 from filecoin-project/benchmark-binaries
feat: Add lotus-bench cli option to stress test any binary
2023-09-28 10:15:06 +00:00
Friðrik Ásmundsson a791a795e9 Merge pull request #11276 from filecoin-project/setup-grafana-prometheus-docs
feat: Instructions for setting up Grafana/Prometheus for monitoring local lotus node
2023-09-28 10:14:30 +00:00
Fridrik Asmundsson 5b394f0f98 small fixes 2023-09-27 14:06:26 +00:00
Fridrik Asmundsson e0f90274e4 fix spelling 2023-09-27 14:03:50 +00:00
Phi 3d8324d0f8 Remove precomputing line
Remove precomputing line
2023-09-27 08:59:40 +01:00
Alejandro 1d893d6630 Completed TODO in code 2023-09-26 13:03:46 +02:00
Phi e7b0fb3de3 Update todo in config
Updates the TODO in the synthetic config.
2023-09-26 08:22:25 +02:00
Łukasz Magiera d64bc2c9be Merge pull request #11294 from filecoin-project/phi-connect-listen-not-set
fix: worker: Connect when --listen is not set
2023-09-25 15:06:23 +02:00
Phi f1c70720df Handle both IPv4 and IPv6
use net.JoinHostPort(minerIP, minerPort) to handle both IPv4 and IPv6 addresses.
2023-09-25 14:38:59 +02:00
Phi 3f2d2eb659 Connect to newAddress
Connect to newAddress
2023-09-25 14:38:59 +02:00
Łukasz Magiera 121cd97f65 Merge pull request #11288 from cloudxin/patch-1
Update mainnet.pi
2023-09-25 13:21:31 +02:00
Aayush Rajasekaran a0e38c905e Merge pull request #11293 from filecoin-project/phi-butterfly-assets
chore: butterfly: Add preliminary nv21 assets
2023-09-24 10:03:39 -04:00
Phi ba68d09294 Add butterfly assets
Add butterfly assets
2023-09-24 09:05:56 +02:00
Aayush 6801b1c3e9 feat: set butterflynet to upgrade to nv21 at epoch 400 2023-09-23 18:25:16 -04:00
Aayush Rajasekaran 527cba8922 Merge pull request #11291 from filecoin-project/asr/updates
chore: deps: update bulitin-actors, FVM, and go-state-types
2023-09-23 18:23:51 -04:00
Aayush 72cd622221 fix: storage: only check CommD if sector has deals 2023-09-23 17:54:44 -04:00
Steven Allen c6debaadf0 make gen 2023-09-23 17:54:44 -04:00
Steven Allen 2fa5422581 fix: use VerifyDealForActivation in StateComputeCID
Unfortunately, ComputeDataCommitement was deprecated.
2023-09-23 17:54:39 -04:00
Steven Allen 92844c8921 fix recursive test 2023-09-23 14:32:53 -04:00
Aayush 04ebd5177c refactor: GetMaxSectorExpirationExtension depends on network version 2023-09-23 14:09:25 -04:00
Aayush 9b40880a2e chore: deps: update to FFI v1.24.0-dev.1 2023-09-23 12:20:57 -04:00
Aayush b876a2f090 chore: deps: update to builtin-actors v12.0.0-dev.2 2023-09-22 17:15:07 -04:00
Aayush d7d97e7b23 chore: deps: update to go-state-types v0.12.2 2023-09-22 17:13:39 -04:00
Łukasz Magiera a8d693a2c0 Merge pull request #11274 from filecoin-project/fix/update-splitstore-config-comments
fix: config: Update ColdStoreType comments
2023-09-22 15:36:54 +02:00
Phi e8570bd69c Remove double default
Remove double default
2023-09-22 15:24:55 +02:00
Łukasz Magiera ac85a2e23b Merge pull request #11171 from ipfs-force-community/opt/remove-repeat-check
opt: fix duplicate check exitcode
2023-09-22 14:52:34 +02:00
Łukasz Magiera 2acbdb43d7 Merge pull request #11225 from filecoin-project/update-go-libp2p-v031
update go-libp2p to v0.31.0
2023-09-22 14:49:01 +02:00
Łukasz Magiera 444da43228 Merge pull request #11255 from Aloxaf/Aloxaf-patch-2
fix: sealing: typo in FinalizeReplicaUpdate
2023-09-22 14:01:51 +02:00
Łukasz Magiera 99990504b5 Merge pull request #11263 from Icarus9913/libp2p/remove-deprecated-method
fix: deps: stop using go-libp2p deprecated peer.ID.Pretty
2023-09-22 13:59:18 +02:00
renran 2fc2875106 Update mainnet.pi
add venus node boostrap
2023-09-22 16:27:42 +08:00
Jie Hou c11a5bce59 Merge pull request #11277 from filecoin-project/0919_jie_flip_flags
Feat: Lotus Daemon CLI: Auto remove existing chain if importing chain file or snapshot
2023-09-21 11:25:58 -07:00
Jie Hou 49044b4c69 Address review comments, again 2023-09-21 10:00:03 -07:00
Aayush Rajasekaran 70cb445a12 Merge pull request #11273 from filecoin-project/fix/wrap-sign-error
fix: cli: Wrap error in wallet sign
2023-09-21 09:34:39 -04:00
Łukasz Magiera 30e4259eff Merge pull request #11275 from filecoin-project/add-vscode-to-gitignore
fix: Add .vscode to gitignore
2023-09-21 15:10:39 +02:00
Jie Hou 5b9914790c Fix lint 2023-09-21 02:15:26 -07:00
Jie Hou bdffac300a Add to changelog 2023-09-20 09:45:06 -07:00
Jie Hou 10a9eb2155 Address review comments 2023-09-20 09:33:53 -07:00
Fridrik Asmundsson 768b2b3812 Update README.md 2023-09-20 14:15:03 +00:00
Fridrik Asmundsson 113b8b5002 Fix after testing with ubuntu 2023-09-20 11:15:45 +00:00
Phi-rjanandŁukasz Magiera f7c254b3de Update cli/wallet.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2023-09-20 11:17:57 +02:00
Jie Hou 00335441ce Auto remove existing chain if importing chain file or snapshot 2023-09-19 11:24:12 -07:00
Fridrik Asmundsson 26e9703548 Add instructions for setting up Grafana+Prometheus
This PR also includes location where to put our grafana dashboards
which we should maintain in repo.
2023-09-19 17:24:02 +00:00
Andrew Jackson (Ajax) 4fd6eb6e87 Merge pull request #11258 from filecoin-project/feat/implement-SyntheticPoRep
feat: implement Synthetic PoRep
2023-09-19 12:05:04 -05:00
Łukasz Magiera 5ce0285457 bundle-gen 2023-09-19 18:21:22 +02:00
Łukasz Magiera efd1e47004 itests: remove obsolete nv12 pledge test 2023-09-19 16:43:34 +02:00
Łukasz Magiera 935fbc53c2 ci: get params in pledge tests 2023-09-19 15:58:02 +02:00
Łukasz Magiera 3cebd99d4c pipeline: debugging C2 with synth porep 2023-09-19 15:09:46 +02:00
Phi 8b77839d38 Make gen
Make gen
2023-09-19 13:21:07 +02:00
Fridrik Asmundsson d23b96fc32 Add .vscode to gitignore 2023-09-19 10:57:32 +00:00
Phi e5f32f288d Update ColdStoreType comments
Update comments to say that "discard" is the default mode in SplitStore.
2023-09-19 12:32:41 +02:00
Łukasz Magiera a016f4cbe8 mod tidy 2023-09-19 12:28:20 +02:00
Łukasz Magiera 01de96d230 fix lint 2023-09-19 12:12:04 +02:00
Łukasz Magiera 3f076bfc16 fix exec traces with new ffi 2023-09-19 11:58:13 +02:00
Phi 7e40f8636b Wrap error in wallet sign if msig
Wrap error when a msig is trying to sign a msg, explaining that msigs needs to propose & approve.
2023-09-19 10:57:35 +02:00
Łukasz Magiera ea81c05669 update ffi 2023-09-19 10:55:50 +02:00
Friðrik Ásmundsson 8aaa8de975 Merge pull request #11269 from filecoin-project/throttle-splitstore-purging
fix: Add time slicing to splitstore purging to reduce lock congestion
2023-09-18 16:54:30 +00:00
Aayush Rajasekaran 35ceb02c50 Merge pull request #11261 from filecoin-project/eth_filert_flake_debug
eth_filter flake debug
2023-09-18 11:57:12 -04:00
Aayush Rajasekaran 89a0b25377 Merge pull request #11271 from filecoin-project/fix/unsealing-print
fix: cli: Add print to unseal cmd
2023-09-18 11:55:07 -04:00
Fridrik Asmundsson 2d7a9b0551 Moved work duration to a constant 2023-09-18 15:43:01 +00:00
Friðrik Ásmundsson 26b35b7f8e feat: Add ETA to lotus sync wait (#11211) 2023-09-15 10:29:27 -07:00
Fridrik Asmundsson 087d799547 Increase time spent pausing to 4sec 2023-09-15 10:57:43 +00:00
Phi 6892c35aec Add print to unseal cmd
Add print to unseal cmd
2023-09-15 09:22:18 +08:00
Fridrik Asmundsson 861731ee7c Add support to easily benchmark binary for understanding their latencies/histogram 2023-09-14 14:17:42 +00:00
Fridrik Asmundsson 131f87afb1 Update changelog 2023-09-14 13:58:01 +00:00
Fridrik Asmundsson d9755dfb1c Add time slicing ot splitstore purging to reduce lock congestion 2023-09-14 13:39:15 +00:00
Aayush Rajasekaran e06604d342 Merge pull request #11262 from filecoin-project/steb/fix-dial-spam
fix: networking: avoid dialing when trying to handshake peers
2023-09-12 10:35:22 -04:00
Icarus9913 2a8ea957fa stop using go-libp2p deprecated peer.ID.Pretty
Signed-off-by: Icarus9913 <icaruswu66@qq.com>
2023-09-12 13:13:34 +08:00
Aayush 89dede32ac drop unused imports 2023-09-11 13:50:55 -04:00
Steven Allen cfaeb2718f fix: networking: avoid dialing when trying to handshake peers
Also, avoid handshaking with peers that don't support the handshake
protocol.
2023-09-08 14:52:14 -07:00
Aayush Rajasekaran f06d67c5a2 Merge pull request #11253 from filecoin-project/shed/add-Mpool-select-timing
fix: shed: additional metrics in `mpool miner-select-messages`
2023-09-08 12:18:13 -04:00
Andrew Jackson (Ajax) 7ef93448fb eth_filter flake debug 2023-09-08 11:17:51 -05:00
Aayush Rajasekaran d70674c369 Merge pull request #11259 from filecoin-project/asr/quick-fix
fix: test: temporarily exempt SynthPorep constants from test
2023-09-08 12:17:17 -04:00
Aayush 45eb890917 fix: test: temporarily exempt SynthPorep constants from test 2023-09-08 11:51:30 -04:00
Phi 024dd5e08e Merge branch 'feat/nv21' into feat/implement-SyntheticPoRep 2023-09-08 16:41:39 +02:00
Aloxaf 0dd7976ffb fix: sealing: typo in FinalizeReplicaUpdate 2023-09-08 10:15:58 +08:00
Phi d771aa353e Update comment
Update comment
2023-09-07 11:27:28 +02:00
Phi 7c61e890c5 Add timing in miner-select-messages
Add timing in `lotus-shed mpool miner-select-messages` cmd. And printing amount of message in the mpool
2023-09-07 11:19:10 +02:00
Aayush Rajasekaran 8ab6eaa6e3 Merge pull request #11230 from filecoin-project/asr/test-seal-and-verify-3-needs-to-stop
feat: skip TestSealAndVerify3 until it's fixed
2023-09-06 14:48:38 -04:00
Andrew Jackson (Ajax) d02b91e610 Update RELEASE_ISSUE_TEMPLATE.md 2023-09-06 11:58:35 -05:00
Aayush Rajasekaran 4ea712c011 Merge pull request #11241 from filecoin-project/asr/fix-miner-logs
fix: miner: correct duration logs in mineOne
2023-09-06 11:45:10 -04:00
Mikers 5e5a81bf23 add go linter - "unused" (#11235)
* add go linter - "unused"

* use _ to name unused but needed padding variable

* remove unused code

* add queue test to appease unused linter

* remove unused code in test

* remove unused func

* remove unused struct identified by linter

* remove unused variable

* remove unused code

* remove unused file

* remove unused struct

* remove unused function

* remove unused observe peers function in raft

* remove unused declareFaults function

* annotate nolint:unused on needed methods
2023-09-05 12:19:43 -10:00
Andrew Jackson (Ajax) ef9a9175a1 Merge pull request #11247 from filecoin-project/bumpTo1235
chore: build: bump master to v1.23.5-dev
2023-09-05 12:19:59 -05:00
Andrew Jackson (Ajax) 20266857e6 v1.23.5-assets 2023-09-05 12:08:30 -05:00
Andrew Jackson (Ajax) 14fba589bc 1235 2023-09-05 11:32:11 -05:00
Aayush 82b13afed6 fix: miner: correct duration logs in mineOne 2023-09-05 12:10:14 -04:00
Aayush Rajasekaran 9567dee00c Merge pull request #11228 from filecoin-project/asr/log-slow-block
feat: miner: log detailed timing breakdown when mining takes longer than the block's timestamp
2023-09-05 12:07:28 -04:00
Andrew Jackson (Ajax) 70895afa3e Merge pull request #11011 from filecoin-project/fix/snap-unseal
Snapdeals unsealing fixes
2023-09-05 10:25:34 -05:00
Phi-rjan 37b8afd197 Merge pull request #11224 from filecoin-project/fix/DataCid-env-check
fix: worker: Convert `DC_[SectorSize]_[ResourceRestriction]` if set
2023-09-05 12:44:35 +02:00
Jiaying Wang 4ded4cf49e Merge pull request #11232 from filecoin-project/update-changelog-pr-template
docs: Update PR template to callout remembering to update CHANGELOG
2023-09-01 18:33:35 -04:00
Andrew Jackson (Ajax) b73c016f6d unseal - comments 2023-09-01 17:15:56 -05:00
Aayush Rajasekaran d590c53400 Merge pull request #11157 from filecoin-project/asr/add-time-to-base
feat: miner: implement FRC-0051
2023-09-01 15:30:41 -04:00
Aayush 114a3bbf3f add some logs 2023-09-01 15:02:13 -04:00
Aayush b68ced7b19 address review 2023-09-01 15:01:22 -04:00
Aayush 43d1d62fc6 Make EquivocationDelaySecs a build param 2023-09-01 15:01:22 -04:00
Aayush 668d615be6 Add comments, re-select messages if refreshing base 2023-09-01 15:01:22 -04:00
Aayush 91d2c02765 feat: miner: implement FRC-0051 2023-09-01 15:01:22 -04:00
Fridrik Asmundsson 5fb41d7098 Update PR template to callout remembering to update CHANGELOG 2023-09-01 18:17:28 +00:00
Aayush b92cff74f2 feat: skip TestSealAndVerify3 until it's fixed 2023-09-01 10:08:55 -04:00
Aayush f3b3ff0dd2 feat: miner: log detailed timing breakdown when mining takes longer than the block's timestamp 2023-08-31 10:28:38 -04:00
Jennifer Wang 7e6da3d76f rebase 2023-08-31 09:51:52 -04:00
Jennifer Wang 0d5c99cb3c revert some ffi updates 2023-08-31 09:46:10 -04:00
Łukasz Magiera 077f3f0c33 ffiwrapper: Fix sector key regen 2023-08-31 09:46:10 -04:00
Łukasz Magiera 8ea44e82d1 ffiwrapper: Correctly create unsealed file when doesn't exist 2023-08-31 09:46:10 -04:00
Łukasz Magiera e74eb6af09 make the linter happy 2023-08-31 09:46:10 -04:00
Jennifer Wang ad6b0575c1 make gen, mod tidy 2023-08-31 09:46:10 -04:00
Łukasz Magiera a965fc660e fix build 2023-08-31 09:46:10 -04:00
Jennifer Wang 4b78c4ea1e ffiwrapper: Fix sector acquire logic in unsealing 2023-08-31 09:46:10 -04:00
Łukasz Magiera 6167bcc8ce ffiwrapper: Fix sector acquire logic in unsealing 2023-08-31 09:46:10 -04:00
Łukasz Magiera fa0f117edd ffiwrapper: Fix multiple bugs in snapdeals unsealing 2023-08-31 09:46:10 -04:00
Łukasz Magiera bcc2d7fd10 ffiwrapper: Fix RegenerateSectorKey 2023-08-31 09:46:10 -04:00
Jennifer Wang b0b39424e4 ffiwrapper: Test lower-level GenerateSDR 2023-08-31 09:46:10 -04:00
Marten Seemann 41dd8954aa update go-libp2p to v0.31.0 2023-08-31 11:18:17 +07:00
Aayush Rajasekaran d71d647aaf Merge pull request #11100 from filecoin-project/traceapi
Add new tracing API
2023-08-30 11:34:06 -04:00
Phi f3da600b28 Make lint-happy
Make lint-happy
2023-08-30 11:32:20 +02:00
Phi 20fe979857 Check if DC_[SectorSize]_[ResourceRestriction] is set
Check if DC_[SectorSize]_[ResourceRestriction] is set and convert to DC_[ResourceRestriction] to make sure its enforced by the scheduler.
2023-08-30 11:14:13 +02:00
Łukasz Magiera cf0ff92008 Merge pull request #11214 from filecoin-project/rvagg/one-and-only-one-ROOT
fix(client): single-root error message
2023-08-30 09:37:40 +02:00
Aayush Rajasekaran 9d9de747a9 Merge pull request #11221 from filecoin-project/ci/go1.20
fix: dockerfile: Bump to Go 1.20.7 image
2023-08-29 14:24:05 -04:00
Łukasz Magiera 1e8e63e39e fix: dockerfile: Bump to Go 1.20.7 image 2023-08-29 18:58:36 +02:00
Łukasz Magiera a9396624a7 Merge pull request #11215 from filecoin-project/backport/nv21/feat/act-precommv2
Backport: feat: sealing: Switch to calling PreCommitSectorBatch2
2023-08-29 16:06:27 +02:00
Łukasz Magiera d3b31d5b39 Merge pull request #11216 from filecoin-project/chore/actor-type-proxies
chore: chain/actors: Use type proxies instead of versioned GST imports
2023-08-29 16:06:03 +02:00
Łukasz Magiera 4ee20965fa chore: chain/actors: Use type proxies instead of versioned GST imports 2023-08-29 15:28:16 +02:00
Fridrik Asmundsson 0096d521c3 fix decoding toplevel output in trace_replayBlockTransactions 2023-08-29 12:27:08 +00:00
Łukasz Magiera 2ebd080d5e itests: Port deadline-toggling itest to nv20 2023-08-29 13:47:20 +02:00
Łukasz Magiera d94b1ca721 itests: Drop sealing itests for legacy network versions 2023-08-29 13:47:20 +02:00
Łukasz Magiera 3887bf97a4 sealing pipeline: Only set pc commd when deals are present 2023-08-29 13:47:20 +02:00
Łukasz Magiera 556815f844 sealing pipeline: Set commd in precommit params 2023-08-29 13:47:20 +02:00
Łukasz Magiera 1c447b265b sealing pipeline: Fix unit tests 2023-08-29 13:47:18 +02:00
Łukasz Magiera ecb6deea09 sealing pipeline: Drop legacy single-pc1 submit path 2023-08-29 13:46:29 +02:00
Łukasz Magiera 79b6ffe651 ci: Drop legacy cc-replace itests 2023-08-29 13:46:29 +02:00
Łukasz Magiera d6aed7ba83 pc batch: drop individual precommit processing 2023-08-29 13:46:29 +02:00
Łukasz Magiera 7db6f31cca sealing: pc batch: Call PreCommitSectorBatch2 2023-08-29 13:46:29 +02:00
Fridrik Asmundsson 144bbdfd3b Added trace api as experimental feature to changelog 2023-08-29 11:26:52 +00:00
Phi 37f6cd3ca5 Register SynthPoRep in ResourceTable
Register SynthPoRep in ResourceTable such that task-resource limitations are also applied to SynthPoRep-sectors (i.e PC1_32G_MAX_CONCURRENT)
2023-08-29 13:08:00 +02:00
Fridrik Asmundsson 13e1b4b3df Added todo to support native actors calling another when created 2023-08-29 10:38:21 +00:00
Rod Vagg b6fe914748 fix(client): single-root error message 2023-08-29 14:46:39 +10:00
Fridrik Asmundsson 930e9b957c fix lint 2023-08-28 18:47:45 +00:00
Fridrik Asmundsson 57e825901e Update FFI 2023-08-28 17:51:47 +00:00
Fridrik Asmundsson aef0ecf2d2 Run make gen 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson ed407689e6 Parse input/output for delegate call + other smaller things 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson 029a4a72b8 Address most recent comments 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson 10a5480895 Decode output using top level trace 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson ee3cdf0e97 Fix use filecoin addr + other small refactor
After changing in prev commit to use to ethereum addresses the
comparison does not make sense against builtin actors. This
fixes that by storing also the filecoin addresses in each trace

Also renamed filecoin related fields to Filecoin prefix.

Also remove requirement call to InvokeContract needed to come
from a evm actor
2023-08-28 17:48:22 +00:00
Fridrik Asmundsson cf255127a4 Decode eth param/return values and change them to ethbytes type 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson cb5e6e0cd1 The From/To address should be in eth format 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson 8d8891a431 Moved tracing types to ethtypes to address circular dependencies 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson ef7bcfec06 Do not compute message index as traces should be in message execution order 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson a1b890c8c7 return wrapped errors 2023-08-28 17:48:22 +00:00
Fridrik Asmundsson 4068e0710d Do not return interface{} from trace api methods 2023-08-28 17:48:22 +00:00
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 Rajasekaran c4214e23bf Merge pull request #11206 from AnomalRoil/fix/ctxonlongops
fix: chain: cancel long operations upon ctx cancelation
2023-08-28 13:33:08 -04:00
Aayush Rajasekaran a79f96a531 Merge pull request #11212 from filecoin-project/fix/master-cli-ci
ci: Use larger executor for cli tests
2023-08-28 10:28:50 -04:00
Łukasz Magiera f8faa85cba make gen 2023-08-28 16:12:14 +02:00
Łukasz Magiera d83956aa6d ci: Ensure params in sealer tests 2023-08-28 13:43:50 +02:00
Łukasz Magiera 4223e411b6 ci: Use larger executer for cli tests 2023-08-28 13:24:00 +02:00
Łukasz Magiera bce5535679 Merge pull request #11182 from filecoin-project/TestSealerDLBefore
Take Download out of Sealer time
2023-08-25 10:27:42 +02:00
Aayush Rajasekaran 1c9344d805 Merge pull request #11202 from gammazero/fix/update-cached-message-sequence
fix: chain: Do not update message info cache until after message validation
2023-08-24 10:59:47 -04:00
Łukasz Magiera ae2ae3b9ed Merge pull request #11189 from filecoin-project/update-go-libp2p-v0300
update go-libp2p to v0.30.0
2023-08-24 16:15:26 +02:00
Yolan Romailler 13ade62e27 fix: cancel long operations upon ctx cancelation 2023-08-24 15:30:33 +02:00
Aayush Rajasekaran 50cd87e953 Merge pull request #11201 from filecoin-project/asr/merge-nv21
chore: merge feat/nv21 into master
2023-08-24 09:25:45 -04:00
Łukasz Magiera 366329b085 Merge pull request #11087 from filecoin-project/fix/pc1-retr-loop
fix: sealing pipeline: Fix PC1 retry loop
2023-08-24 11:08:39 +02:00
gammazero 03826aac87 fix doc check 2023-08-23 19:05:21 -07:00
gammazero 7774ca0179 Add sequence number DoS test 2023-08-23 16:53:21 -07:00
gammazero ca23a4406c Do not update message info cache until after message validation
The sequence number used for replay detection was being updated before message validation confirmed that the message originated from the correct host. This would allow one host A to create a message with the ID of another host B that could then update the cached sequence number for B. While the message from A would fail validation and be ignored, the cached sequence number for B would get updated. This would lead to a temporary DoS for host B as its messages were incorrectly rejected as replays.

This fixes the issue by setting the cached sequence number after message validation.
2023-08-23 14:30:22 -07:00
Aayush 5bfea36a17 Merge branch 'feat/nv21' into asr/merge-nv21 2023-08-23 11:44:59 -04:00
Łukasz Magiera 882f00fbf3 sealing: retrySoftErr: Better comment on ctx handling 2023-08-23 17:29:18 +02:00
Phi-rjan c1304dee25 Merge pull request #11176 from filecoin-project/nv-skeleton
chore: nv-skeleton for feat/nv21-branch
2023-08-23 09:11:26 +02:00
Marten Seemann 413008a98f bump qtls to v0.3.3 2023-08-23 11:43:02 +07:00
Aayush 60dc1458ce chore: stmgr: migrations: do not log noisily on cache misses 2023-08-22 17:03:02 -04:00
Aayush 49b1235d69 update test-vectors 2023-08-22 17:01:58 -04:00
Aayush Rajasekaran 0ff655a0a0 Merge pull request #11196 from filecoin-project/chore/update-test-vectors
chore: test-vectors: update
2023-08-22 16:59:01 -04:00
Steven Allen d581f58896 chore: test-vectors: update
Update the test-vectors repo to the "last" release. This release deletes
most of the code (that depended on an ancient version of lotus anyways)
as we now rely on the "fvm" test vectors for all but historical tests.
2023-08-22 13:17:46 -07:00
Aayush 41bad60e9e update to go-state-types v0.12.1 2023-08-22 15:48:25 -04:00
Aayush Rajasekaran 62f52c672c Merge pull request #11194 from filecoin-project/steb/fix-tagged-releases
fix: build: use tagged releases
2023-08-22 15:37:15 -04:00
Steven Allen eae61009b0 fix: build: use existing upstream branches
Unfortunately, we can't _yet_ merge the schema branch. But we will in a
moment. But this at least fixes go-state-types

These dependencies were based on branches which no longer exist.
2023-08-22 11:56:37 -07:00
Aayush 53ba50f58f update test-vectors 2023-08-22 14:52:59 -04:00
Aayush 3b15661f98 update FFI to support nv21 2023-08-22 13:42:07 -04:00
Aayush 5a901b5eb6 fix tvx 2023-08-22 13:17:31 -04:00
Aayush 89f66dde93 refactor: move vm.Rand to rand.Rand 2023-08-22 12:32:43 -04:00
Aayush 947384041a fixup conformance tests to incorporate randomness changes 2023-08-22 12:32:37 -04:00
Aayush 3ea3e49bdd wip: 2 more randomness fetching APIs 2023-08-22 12:32:25 -04:00
Aayush a6213f8825 fix: refactor rand_replay 2023-08-22 12:32:21 -04:00
Aayush 2e9f4dc2ae Refactor: Rand: Return randomness digest to VM 2023-08-22 12:32:13 -04:00
Aayush 5ff0db9650 Refactor: Rand: Rename DrawRandomness to DrawRandomnessFromBase 2023-08-22 12:32:00 -04:00
Aayush 7cfcaf0f8f Refactor: Rand: return randomness base without hashing 2023-08-22 12:31:56 -04:00
Aayush 8e69ebb1f6 update FFI to support nv21 2023-08-22 12:28:44 -04:00
Aayush Rajasekaran 7491956197 Merge pull request #11167 from filecoin-project/asr/randomness
feat: refactor: return randomness base to FVM without hashing
2023-08-22 12:15:24 -04:00
Aayush 2f113e58ca fix tvx 2023-08-22 12:03:26 -04:00
Aayush 7e6ed09628 refactor: move vm.Rand to rand.Rand 2023-08-22 11:34:28 -04:00
Aayush c90faf0754 fixup conformance tests to incorporate randomness changes 2023-08-22 10:08:38 -04:00
Łukasz Magiera 5281a6d307 Merge pull request #11188 from filecoin-project/shed-msg-add-exec-trace
feat: shed: Add exec traces to `lotus-shed msg`
2023-08-22 13:50:29 +02:00
Łukasz Magiera 5f5c6a08a4 Merge pull request #11191 from filecoin-project/nonsense/remove-trace-goroutine
fix: markets/dagstore: remove trace goroutine for dagstore wrapper
2023-08-22 12:30:13 +02:00
Phi 825064669d Continue if msg not found on-chain
Continue if msg not found on-chain
2023-08-22 10:56:50 +02:00
Aayush 034f6cf832 wip: 2 more randomness fetching APIs 2023-08-21 16:32:27 -04:00
Aayush 91ee13b461 fix: refactor rand_replay 2023-08-21 16:28:59 -04:00
Aayush e5fbba7958 Refactor: Rand: Return randomness digest to VM 2023-08-21 15:44:49 -04:00
Aayush 98a82d3dfe Refactor: Rand: Rename DrawRandomness to DrawRandomnessFromBase 2023-08-21 15:03:46 -04:00
Aayush 05ac9453cd Refactor: Rand: return randomness base without hashing 2023-08-21 15:03:46 -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
Anton Evangelatov 9028df409c fix: markets/dagstore: remove trace goroutine for dagstore wrapper 2023-08-21 17:55:45 +02:00
Łukasz Magiera 1fe7493897 Merge pull request #11183 from LexLuthr/lexluthr/ddo-gateway
#11181: feat: Lotus Gateway: add allocation and claim related GET APIs to gateway
2023-08-21 16:06:15 +02:00
Phi e1ed24ddd0 Put exec-trace behind flag
Put exec-trace behind flag
2023-08-21 13:55:49 +02:00
Łukasz Magiera 92f31ee0be Merge pull request #11187 from filecoin-project/fix/lotus-wallet-build
fix: build: Allow lotus-wallet to be built independently
2023-08-21 13:39:31 +02:00
Łukasz Magiera 2ee879d1ec Merge pull request #11190 from filecoin-project/fix/wallet-sigint
fix: wallet: Make import handle SIGINT/SIGTERM
2023-08-21 13:38:23 +02:00
Phi 5edc7dcdb3 Consider SIGTERM as well
Consider SIGTERM as well
2023-08-21 10:37:42 +02:00
Marten Seemann c42e57b51c downgrade go.mod to Go 1.19 2023-08-21 15:02:37 +07:00
Marten Seemann 93f95d2ef9 Revert "stop using deprecated functions from the math/rand package"
This reverts commit d50cf4eb64.
2023-08-21 15:02:06 +07:00
Phi c1fd48a14b Make lotus wallet import respect sigint
Make `lotus wallet import` respect sigint
2023-08-21 09:10:47 +02:00
Marten Seemann d50cf4eb64 stop using deprecated functions from the math/rand package 2023-08-21 13:53:46 +07:00
Marten Seemann bca0ec4f9c update go-libp2p v0.30.0 2023-08-21 10:44:37 +07:00
Phi 539a524271 Make exec-trace human readable
Make exec-trace human readable
2023-08-20 20:11:27 +02:00
Phi 51be40291a Add BUILD_DEPS to lotus-wallet
Add BUILD_DEPS to lotus-wallet
2023-08-20 19:58:33 +02:00
Phi c1231125e9 Print receipt
Print receipt
2023-08-20 19:54:17 +02:00
Phi 925498f938 Add exec-trace and receipt
Add exec-trace and receipt to the lotus-shed msg command
2023-08-20 10:06:00 +02:00
LexLuthr bcc8b9d02f add allocation and claim APIs 2023-08-18 11:28:01 +04:00
Andrew Jackson (Ajax) c48bf864a4 Take Download out of Sealer time 2023-08-17 22:34:08 -05:00
Aayush c5bece66df update FFI to support nv21 2023-08-17 10:21:08 -04:00
Aayush 44e20681cd make jen 2023-08-17 10:01:50 -04:00
Phi d680475486 go-mod tidy
go-mod tidy
2023-08-17 15:51:17 +02:00
Aayush Rajasekaran cbbb76b2f0 Merge pull request #11169 from filecoin-project/asr/client-can-allocate
feat: test: Test that verified clients can directly transfer datacap, creating allocations
2023-08-17 09:51:12 -04:00
Aayush Rajasekaran 1eec81622c Merge pull request #11168 from filecoin-project/asr/more-migration-check
feat: test: Add more post-migration sanity checks
2023-08-17 09:42:05 -04:00
Aayush e8020e8f4e feat: test: Test that verified clients can directly transfer datacap, creating allocations 2023-08-17 09:40:29 -04:00
Łukasz Magiera 23cd5832c7 Merge pull request #11180 from filecoin-project/macSealTest
mac seal test
2023-08-17 15:10:37 +02:00
Andrew Jackson (Ajax) 76bca6c392 mac seal test 2023-08-17 07:30:19 -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
Łukasz Magiera 3189ea942c fix deps 2023-08-16 20:11:15 +02:00
Phi dde30a125f Set local devnet-genesis to nv20
Set local devnet-genesis to nv20
2023-08-16 20:02:11 +02: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 80928586d1 Merge pull request #11140 from filecoin-project/fix/wallet-balance-cmd
fix: cli: Only display `warning` if behind sync
2023-08-16 15:57:34 +02:00
Łukasz Magiera 22f490132e Merge pull request #11141 from filecoin-project/fix/worker-IPv6
fix: worker: Support IPv6 formatted API-keys
2023-08-16 15:55:05 +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
Aayush Rajasekaran b226a7dbff Merge pull request #11159 from filecoin-project/asr/fix-frc-0051
fix: chainstore: do not get stuck in unhappy equivocation cases
2023-08-15 13:58:26 -04:00
simlecode a750e63a7b opt: fix duplicate check exitcode 2023-08-15 16:28:03 +08:00
Aayush e6b0231ab5 Add more post-migration sanity checks 2023-08-14 18:11:47 -04:00
Aayush Rajasekaran fa0e512510 Merge pull request #11149 from filecoin-project/feat/nv21-migrations-optimized-tree
Feat/nv21 migrations optimized tree diff algorithm
2023-08-14 17:05:27 -04: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
Łukasz Magiera b11fba3561 itests: Port deadline-toggling itest to nv20 2023-08-14 20:25:36 +02:00
Marten Seemann 2f0fbe26f8 update go-libp2p to v0.29.2 2023-08-14 18:46:28 +07:00
Aayush 12e076e9ea fix: chainstore: do not get stuck in unhappy equivocation cases 2023-08-11 17:32:39 -04:00
Aayush Rajasekaran 7b43f90a3b Merge pull request #11158 from filecoin-project/asr/miner-refactors
feat: miner: 2 minor refactors
2023-08-11 13:20:25 -04:00
Aayush 3566e96b55 refactor: pass more specialized params to computeTicket 2023-08-11 09:52:26 -04:00
Aayush 20e831b9ea refactor: drop unused param from IsRoundWinner 2023-08-11 09:48:09 -04:00
Łukasz Magiera 2c7c4ee845 Merge pull request #11155 from filecoin-project/asr/deflake
feat: deflake: TestGetBlockByNumber
2023-08-11 12:52:59 +02:00
Aayush Rajasekaran 49010a9b9a Merge pull request #11104 from filecoin-project/asr/frc-0051
feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets
2023-08-09 21:50:10 -04:00
Aayush 69f3580ca2 add more test cases covering chainstore equivocation 2023-08-09 21:00:50 -04:00
Mikers f57b5bdedc spelling 2023-08-09 14:28:29 -10:00
Mikers 0b68348738 initial skeleton for nv21 migrations test. migration succesfully executes. todo @aayush and @zen add relevant tests 2023-08-09 14:18:05 -10: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
Aayush 2cbdedc209 add more test cases covering chainstore equivocation 2023-08-09 19:40:53 -04: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 62032e7c2a feat: deflake: TestGetBlockByNumber 2023-08-09 19:25:32 -04:00
Aayush Rajasekaran 93b0ea2108 Merge pull request #11154 from filecoin-project/asr/merge-releases-into-master
chore: merge releases into master
2023-08-09 18:23:55 -04:00
Aayush 32f21258a1 Merge branch 'releases' into asr/merge-releases-into-master 2023-08-09 18:11:18 -04:00
Aayush Rajasekaran 7bb1f98ac6 Merge pull request #11109 from filecoin-project/release/v1.23.3
release: v1.23.3
2023-08-09 18:02:15 -04:00
Aayush Rajasekaran bcde3bd60e Merge pull request #11152 from filecoin-project/steb/eth-gateway-filter-id-error
fix: gateway: return an error when an Eth filter is not found
2023-08-09 17:25:03 -04:00
Phi 3cec54f774 Make TestWalletBalance happy
Set up an expected call to ChainHead
2023-08-09 21:25:52 +02:00
Steven Allen a626b3e62c fix: gateway: return an error when an Eth filter is not found
Previously, we'd just return nothing.
2023-08-09 12:14:45 -07:00
Aayush 9c27d675db fix: docker: use correct golang 1.19.12 tag 2023-08-09 12:23:51 -04:00
Aayush 34104d05d0 Update Changelog to mention bump in minimum Go version 2023-08-09 11:18:58 -04:00
Aayush 5ee435d7d3 Update Changelog to remove references to ProbeLab experiment 2023-08-09 11:17:48 -04:00
Phi 18ae6bd18b Unify IsSyncDone
Unify IsSyncDone in cli/sync.go and cli/wallet.go
2023-08-09 17:13:25 +02:00
Aayush Rajasekaran 46233e41f7 Merge pull request #11151 from filecoin-project/mikers/go-1.19.12
fix: v1.23.3: go version increase
2023-08-09 10:41:37 -04:00
Mikers 70b1bca173 remove deprecated structchecklinter, TOOD add support for linter named "unused" 2023-08-08 13:29:29 -10:00
Mikers 2a9506d7a3 increase golang version to 1.19.12 2023-08-08 13:12:53 -10:00
Aayush Rajasekaran 9310cd6036 Merge pull request #11147 from filecoin-project/asr/fix-test-rest
fix: CI: make test-unit-rest actually be the rest of the tests
2023-08-08 15:38:29 -04:00
Aayush Rajasekaran 0c34deb884 fix: CI: make test-unit-rest actually be the rest of the tests 2023-08-08 14:13:44 -04:00
Łukasz Magiera aa7220d9e8 itests: Drop sealing itests for legacy network versions 2023-08-08 18:51:30 +02:00
Aayush Rajasekaran 87458af858 Merge pull request #11145 from filecoin-project/update-logging
fix: downgrade harmless warning to debug
2023-08-08 12:22:09 -04:00
Aayush Rajasekaran 4aeae936d9 Merge pull request #11146 from filecoin-project/asr/bump-libp2p
chore: deps: update to go-libp2p 0.27.9
2023-08-08 12:14:53 -04:00
Aayush Rajasekaran a1c27038ed chore: deps: update to go-libp2p 0.27.9 2023-08-08 11:41:14 -04:00
nemo c6d31c0d6d fix: downgrade harmless warning to debug 2023-08-08 10:52:35 -04:00
Aayush Rajasekaran 4359b2bea9 Merge pull request #11137 from filecoin-project/asr/libp2p-bump
chore: deps: update go-libp2p to v0.27.8
2023-08-08 10:37:58 -04:00
Łukasz Magiera 98aff9dcc6 sealing pipeline: Only set pc commd when deals are present 2023-08-08 15:35:19 +02:00
Łukasz Magiera 40cfe626b8 sealing pipeline: Set commd in precommit params 2023-08-08 15:12:50 +02:00
Łukasz Magiera 41fac326b1 sealing pipeline: Fix unit tests 2023-08-08 15:06:43 +02:00
Łukasz Magiera a4d22f585f sealing pipeline: Drop legacy single-pc1 submit path 2023-08-08 14:43:00 +02:00
Łukasz Magiera bb2ac5c22d ci: Drop legacy cc-replace itests 2023-08-08 13:53:24 +02:00
Phi 94e48ae860 Add IPv6 check and format appropriately
Add IPv6 check and format appropriately
2023-08-08 13:18:36 +02:00
Łukasz Magiera 1c73ac69b4 pc batch: drop individual precommit processing 2023-08-08 13:04:21 +02:00
Phi c4798a604a Make lint happy
Address the errcheck lint error by checking the return from conn.Close()
2023-08-08 12:49:04 +02:00
Łukasz Magiera ef2be0b546 sealing: pc batch: Call PreCommitSectorBatch2 2023-08-08 12:40:08 +02:00
Phi b6ba3b23bb fix: worker: Support IPv6
Add support for IPv6 in MINER_API_INFO env.
2023-08-08 12:21:59 +02:00
Phi 826ef40626 Only display chain sync in progress if behind sync
Only display `chain sync in progress` if behind sync
2023-08-08 10:06:19 +02:00
Mikers cd9fdcf781 update go state types to use the experiment speed up branch in order to test and validate it 2023-08-07 11:12:30 -10:00
Łukasz Magiera 884246677b Merge pull request #11046 from filecoin-project/fix/fsm-commfail-loop
fix: sealing: Fix RetryCommitWait loop when sector cron activation fails
2023-08-07 12:11:57 -07:00
Phi 9539f59e09 Add new butterfly-assets
Add new butterfly-assets
2023-08-07 16:29:29 +02:00
Phi dbb166b840 Set upgrade epoch on Butterfly earlier
Set upgrade epoch on Butterfly earlier
2023-08-07 14:59:23 +02:00
Aayush 443620bcbf chore: deps: update go-libp2p to v0.27.8 2023-08-04 13:49:11 -04:00
Mike Seiler 7f4d8b3052 add go-state-types with nv21 migration code 2023-08-03 23:59:30 +00:00
Phi 607e8cc84c Updated Butterfly-assets
Updated Butterfly-assets as the butterfly-network has been reset.
2023-08-03 16:14:17 +02:00
Łukasz Magiera c8f8095601 update ffi with synth porep fixes 2023-08-03 10:29:02 +02:00
Łukasz Magiera f620310bfe address review 2023-08-02 17:04:58 +02:00
Łukasz Magiera 683432e6e0 Merge pull request #11119 from filecoin-project/chore/cleanup-compunscid
chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID
2023-08-02 06:45:35 -07:00
Mikers 4f0e2f3276 Added CPU profiling option to lotus-shed
This commit includes the following updates:

- Added a new 'pprof' flag to the command-line arguments in main.go. This flag allows the user to specify a file name for writing CPU profile information, enabling performance analysis.

- Implemented functionality to start CPU profiling in the 'Before' function. If a file name is provided via the 'pprof' flag, the function creates the specified file and begins CPU profiling.

- Added an 'After' function to stop CPU profiling once the program execution is finished.

These changes provide a way to analyze the CPU usage of the 'lotus-shed' application, which can be valuable for performance tuning and optimization.
2023-08-02 01:20:06 +00:00
Mikers 1eca520076 Added support for Filecoin network version 21 (v12 state types)
This commit includes the following updates:

- Imported v12 of the filecoin state types in migrations.go. This allows the system to interpret and operate on the latest structure of filecoin state information, ensuring compatibility with the latest version of the Filecoin network.

- Updated the 'getMigrationFuncsForNetwork' function to include a case for network.Version21, enabling the use of the UpgradeActorsV12 and PreUpgradeActorsV12 functions for network migration. These changes ensure the system correctly handles migrations when the network upgrades to version 21.

- Implemented a new 'checkNv21Invariants' function to check the invariants for version 21 of the Filecoin network. This function:

  1. Loads the new state root from the actor store.
  2. Retrieves the actor code IDs for the current state version (v12).
  3. Loads the actor tree from the state root and checks state invariants using the actor code IDs.
  4. Logs any error messages generated during the invariant check.
  5. Finally, prints a message with the time taken to complete the checks.

By checking these invariants, we can ensure the system's state is consistent and valid after migrating to network version 21.
2023-08-01 14:23:55 -10:00
Aayush 3b9139d01e feat: changelog: add consensus slasher as a highlight 2023-08-01 16:54:19 -04:00
Aayush Rajasekaran 46ad7476af Merge pull request #11127 from filecoin-project/asr/backport-slasher
chore: backport improvements to the consensus slasher
2023-08-01 15:23:02 -04:00
Łukasz Magiera fbac220208 feat: chain node: Move consensus slasher to internal service 2023-08-01 12:06:18 -04:00
Aayush 50a86f2161 feat: improvements to the consensus slasher 2023-08-01 12:05:06 -04:00
Aayush a413a53be2 feat: refactor slashfilter to return bool indicating fault 2023-08-01 12:05:02 -04:00
Aayush 0f6207a755 feat: slasher: print error on failure 2023-08-01 12:04:57 -04:00
Aayush Rajasekaran d082940d54 Merge pull request #11126 from filecoin-project/feat/move-cons-slasher
feat: chain node: Move consensus slasher to internal service
2023-08-01 11:59:40 -04:00
Łukasz Magiera fe7cf0c39a feat: chain node: Move consensus slasher to internal service 2023-08-01 17:34:44 +02:00
Łukasz Magiera 6636da1299 itests: Use Must-Post mining in TestDealsWithSealingAndRPC 2023-08-01 16:34:21 +02:00
Aayush 286482fd99 fix: failing test: Tweak TestWindowPostV1P1NV20 test condition 2023-08-01 09:34:44 -04:00
Łukasz Magiera 9b4992b834 Merge pull request #11123 from mtrisic/fix/sector-import-randomness-mismatch
sector import: fix evaluating randomness when importing a sector
2023-08-01 04:40:18 -07:00
Mladen Trišić 9459c612fb sector import: fix evaluating randomness when importing a sector passing SubmitCommit state 2023-08-01 12:05:39 +02:00
Łukasz Magiera 8ce69d1397 Merge pull request #11121 from filecoin-project/asr/fix-test
fix: failing test: Tweak TestWindowPostV1P1NV20 test condition
2023-08-01 01:59:08 -07:00
ZenGround0 d900acc506 Merge pull request #11078 from filecoin-project/shed/zip-partition-info
feat:shed:gather partition metadata
2023-07-31 18:18:16 -04:00
Aayush b88e4abe05 fix: failing test: Tweak TestWindowPostV1P1NV20 test condition 2023-07-31 16:07:09 -04:00
Aayush 4872ad66a7 feat: FVM: do not error on unsuccessful implicit messages 2023-07-31 15:37:54 -04:00
Aayush Rajasekaran 8e56357450 Merge pull request #11120 from filecoin-project/asr/shut-up-disputer
feat: FVM: do not error on unsuccessful implicit messages
2023-07-31 15:37:12 -04:00
Aayush Rajasekaran e567b27ec3 Merge pull request #11098 from filecoin-project/asr/tracer-deets
feat: changelog: add details of tracer experiment
2023-07-31 15:29:51 -04:00
Aayush cd958e4f6e feat: FVM: do not error on unsuccessful implicit messages 2023-07-31 15:26:37 -04:00
Aayush RajasekaranandFriðrik Ásmundsson 6635833aec Update CHANGELOG.md
Co-authored-by: Friðrik Ásmundsson <fridrik01@gmail.com>
2023-07-31 15:19:23 -04:00
zenground0 482c90412d Lint 2023-07-31 11:12:56 -06:00
zenground0 6a07def34a gen 2023-07-31 10:53:07 -06:00
Łukasz Magiera bf36ca93bb legacy syscalls: Cleanup ComputeUnsealedSectorCID 2023-07-31 12:43:47 +02:00
simlecode c3f421a9cd feat: add Eip155ChainID to StateGetNetworkParams 2023-07-28 16:03:59 +08:00
Aayush Rajasekaran 1e019da56b Merge pull request #11107 from filecoin-project/asr/releasev1.23.3
chore: release v1.23.3
2023-07-27 19:30:43 -04:00
Aayush 9177b84602 chore: release v1.23.3 2023-07-27 18:38:50 -04:00
Friðrik Ásmundsson 3f93b86ebe Merge pull request #11088 from filecoin-project/backfill-events-cli
Add new lotus-shed command for backfillling actor events
2023-07-25 10:43:40 +00:00
Aayush 02a0c9c6f3 feat: changelog: add details of tracer experiment 2023-07-24 10:49:37 -04:00
Fridrik Asmundsson 719215122b Address PR feedback and move each epoch inside own tx 2023-07-24 14:18:31 +00:00
Fridrik Asmundsson 8a5950b3e9 Add new lotus-shed command for backfillling actor events 2023-07-24 11:37:30 +00:00
zenground0 df17f709a4 Record faulty status of sectors 2023-07-21 13:07:25 -06:00
Aayush Rajasekaran 977390e3c0 Merge pull request #11082 from filecoin-project/asr/fixup-rlpdecode
fix: ethtypes: handle length overflow case
2023-07-21 12:37:20 -04:00
Aayush 990b5a0bad fix: ethtypes: handle length overflow case 2023-07-21 12:26:29 -04:00
zenground0 8c4e705df3 Count all precommit sector numbers that we are checking 2023-07-21 09:30:45 -06:00
zenground0 2776e29042 Gather info about overhead operations in deadline summary 2023-07-21 08:53:24 -06:00
ZenGround0 15faab8412 Merge pull request #11075 from filecoin-project/bench/amt-churn
feat:lotus-bench:AMT benchmarking
2023-07-20 19:27:27 -04:00
zenground0 4d8f8d2600 Review Response 2023-07-20 16:59:11 -06:00
Phi-rjan 9624dc53f8 Merge pull request #11032 from filecoin-project/feat/remove-existing-chain 2023-07-20 18:41:25 +02:00
Łukasz Magiera 0a83896589 sealing pipeline: Better retry for soft errors 2023-07-19 09:51:59 -07:00
Łukasz Magiera d127208b85 sealing pipeline: Fix PC1 retry loop 2023-07-18 13:04:06 -07:00
Aayush Rajasekaran 2ddb52e103 feat: daemon: import: only setup stmgr if validating chain (#11084) 2023-07-18 08:03:34 -10:00
Łukasz Magiera 7adf8237f6 add synthPoRep support to bench simple 2023-07-18 10:27:40 -07:00
Aayush Rajasekaran d40946fb8c Merge pull request #11081 from filecoin-project/steb/bare-cbor
feat: vm: allow raw "cbor" in state and use the new go-multicodec
2023-07-18 12:53:44 -04:00
Aayush Rajasekaran 9e5e77b778 Merge pull request #11083 from filecoin-project/asr/shut-up
chore: stmgr: migrations: do not log noisily on cache misses
2023-07-18 10:33:39 -04:00
Aayush e17af657da chore: stmgr: migrations: do not log noisily on cache misses 2023-07-18 10:22:30 -04:00
Phi c4b469bf86 Update butterfly-bootstraps
Update butterfly-bootstraps
2023-07-18 13:38:33 +02:00
Phi 9aaa00b32d Add butterfly artifacts
Add butterfly artifacts
2023-07-17 22:54:17 +02:00
Steven Allen 1fc47eb7d8 feat: vm: allow raw "cbor" in state and use the new go-multicodec
1. Switch to go-multicodec as the source of multicodec code information.
This gives us a central, generated source of multicodec codes.
2. Use this library inside the VM and shapshot logic to consistently
allow CBOR, in addition to DagCBOR.
3. Remove the hard-coded CBOR constant.
2023-07-17 11:24:01 -07:00
Aayush Rajasekaran 3af9fde0b4 Merge pull request #11080 from filecoin-project/asr/fix-drand-sched
fix: daemon: set real beacon schedule when importing chain
2023-07-17 14:13:47 -04:00
Phi 4534416aa3 Update butterfly-schedule
Update butterfly-schedule
2023-07-17 17:56:59 +02:00
Aayush 09b566dde1 fix: daemon: set real beacon schedule when importing chain 2023-07-17 09:36:41 -04:00
Aayush Rajasekaran a1ded51024 Merge pull request #10998 from filecoin-project/update-libp2p-v028
chore: update go-libp2p to v0.28.1
2023-07-17 09:33:10 -04:00
Aayush e197d27f20 chore: deps: update go-libp2p to v0.28.1 2023-07-15 11:39:17 -04:00
Friðrik Ásmundsson 23d705e33b Merge pull request #11079 from filecoin-project/11053-decoderlp-panic
fix: DecodeRLP can panic
2023-07-15 11:13:14 +00:00
Fridrik Asmundsson 871d1ba547 fix: DecodeRLP can panic 2023-07-14 11:49:50 +00:00
Łukasz Magiera 03078cdb56 Merge pull request #11059 from filecoin-project/asr/deflake
feat: deflake: Use MockProofs
2023-07-14 09:19:18 +02:00
Steven Allen 5743ed0151 test: fix fevm recursive call
We've now lost 2 recursive calls, but that really shouldn't make a
difference.
2023-07-13 22:26:25 -07:00
Łukasz Magiera 9eb4bb8559 make gen 2023-07-13 17:44:14 +02:00
zenground0 38b21a713a Lint 2023-07-13 08:41:34 -06:00
Łukasz Magiera 85b78f9ffd update ffi to use lowercased synth challenges file name 2023-07-13 15:48:20 +02:00
Łukasz Magiera 34996df465 update state-types to include fixed MaxProveCommitDuration policy 2023-07-13 15:48:20 +02:00
Łukasz Magiera a39694741e ffiwrapper: Test synth porep 2023-07-13 15:48:20 +02:00
Łukasz Magiera b649ebddd5 TestPledgeSynth: must-post mining 2023-07-13 15:48:20 +02:00
Łukasz Magiera f7d51da567 docsgen 2023-07-13 15:48:20 +02:00
Łukasz Magiera 85efa3ef51 Use state-types with correct v12 migration 2023-07-13 15:48:20 +02:00
Łukasz Magiera 50cf19722a Make Synthetic PoRep work 2023-07-13 15:48:20 +02:00
Łukasz Magiera c58ab3e582 more correct actor bundles 2023-07-13 15:48:20 +02:00
Łukasz Magiera f8c151094f itests: Add test for synth-porep pledge 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
Łukasz Magiera c7dd001c64 ffiwrapper: Synth cleanup fixes 2023-07-13 15:48:16 +02:00
Łukasz Magiera a43f066b55 fix deps 2023-07-13 15:48:15 +02:00
Andrew Jackson (Ajax) 1a799aec37 fixes 2023-07-13 15:48:08 +02:00
Andrew Jackson (Ajax) 8281b26f94 Synthetic PoRep provider interface solution 2023-07-13 15:47:59 +02:00
Andrew Jackson (Ajax) 7f306a5b02 Synthetic PoRep Impl 2023-07-13 15:47:59 +02:00
Andrew Jackson (Ajax) 5ed8a5c0ac clearSynthProofs 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
Andrew Jackson (Ajax) b43665a3c1 synthPoRep in PreferredSeal..() 2023-07-13 15:47:58 +02:00
Andrew Jackson (Ajax) 1db45f46ae synthetic-porep subpackages 2023-07-13 15:47:20 +02:00
Phi 68a03c4181 Set local devnet-genesis to nv20
Set local devnet-genesis to nv20
2023-07-13 15:47:20 +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
zenground0 6eadc0ee57 gen 2023-07-13 07:37:51 -06:00
zenground0 eaf0200fe1 amt bench in good state 2023-07-12 23:58:02 -06:00
Aayush Rajasekaran 5aeb27ed94 Merge pull request #11063 from storswiftlabs/slasher
feat: daemon: improvemens to the consensus slasher
2023-07-12 16:59:30 -04:00
Aayush Rajasekaran 43ac79944f Merge pull request #11067 from filecoin-project/asr/releasev1.23.3
chore: build: release v1.23.3-rc2
2023-07-11 13:50:51 -04:00
Aayush 19160d2343 chore: build: release v1.23.3-rc2 2023-07-11 11:53:14 -04:00
Aayush Rajasekaran 67406a817b Merge pull request #11066 from filecoin-project/asr/backport
Add tmp indices to events table while performing migration to V2
2023-07-11 11:41:53 -04:00
Aayush Rajasekaran 807a5dbaa8 Merge pull request #11016 from filecoin-project/sbansal/invert-validation-switch-checks
refactor: Make all validation error actions explicit
2023-07-11 11:31:40 -04:00
Fridrik Asmundsson 655ea1e0b5 Add tmp indices to events table while performing migration to V2
After the migration we also perform db administration on the
events DB to reduce its file size on disk.

(cherry picked from commit 0d7621be56)
2023-07-11 10:25:32 -04:00
Aayush Rajasekaran 25c591fd6c Merge pull request #11064 from filecoin-project/11056-speedup-event-migration
fix: events: Improve performance of event migration from V1 to V2
2023-07-11 10:23:14 -04:00
Fridrik Asmundsson 0d7621be56 Add tmp indices to events table while performing migration to V2
After the migration we also perform db administration on the
events DB to reduce its file size on disk.
2023-07-11 10:16:47 +00:00
mx e9f57ae77f feat: daemon: improvemens to the consensus slasher 2023-07-11 16:40:28 +08:00
zenground0 9bd0e9ed58 Fix classic bug 2023-07-10 16:32:37 -06:00
zenground0 3f4429a5ef match json parsing 2023-07-10 16:00:03 -06:00
zenground0 921bdb85ab correct json parsing of addr 2023-07-10 15:54:07 -06:00
zenground0 921e5520ea debug 2023-07-10 15:32:19 -06:00
zenground0 cff7716707 Tool for measuring partition summaries 2023-07-10 15:28:14 -06:00
Aayush Rajasekaran 3e905d9532 Merge pull request #11055 from filecoin-project/asr/v1.23.3
fix: docs: correct 1.23.3 CHANGELOG
2023-07-10 17:16:33 -04:00
Shrenuj Bansal d463abae2f Merge pull request #11000 from filecoin-project/sbansal/update-release-template
chore: Extract stable release and post release portion outside of RC testing in template
2023-07-10 10:54:45 -04:00
Aayush Rajasekaran 3f71298c4b Merge pull request #11054 from filecoin-project/asr/max-event-length
feat: types: apply a max length when decoding events
2023-07-10 10:37:30 -04:00
Aayush Rajasekaran 7a93a70e6e Merge pull request #11060 from filecoin-project/asr/slasher-improvements
feat: slasher: improve UX
2023-07-10 10:30:18 -04:00
Aayush 5d072409f8 feat: deflake: Use MockProofs 2023-07-10 10:26:51 -04: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 4bc032430b feat: slasher: improve UX 2023-07-08 13:40:38 -04:00
Aayush Rajasekaran e58b1dfda2 Merge pull request #10979 from filecoin-project/asr/slasher-improvements
feat: daemon: improvemens to the consensus slasher
2023-07-08 13:05:34 -04:00
Aayush 7180b52d2c feat: improvements to the consensus slasher 2023-07-08 11:21:35 -04:00
Aayush 802a9f0a78 feat: refactor slashfilter to return bool indicating fault 2023-07-08 11:14:41 -04:00
Aayush 4cfdf8e83c feat: slasher: print error on failure 2023-07-08 11:14:41 -04:00
Aayush 07965467ee feat: fvm: apply a max length when decoding events 2023-07-08 11:05:01 -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
ZenGround0 1358d70128 Merge pull request #11012 from filecoin-project/feat/stat-snapshot
feat:profiling:state summary and visualization
2023-07-06 16:28:05 -04:00
Aayush 40198535c5 fix: docs: correct 1.23.3 CHANGELOG 2023-07-06 09:42:45 -04:00
Łukasz Magiera 537d31416e Merge pull request #11031 from filecoin-project/feat/shed-block-json
feat: shed: command for decoding block headers
2023-07-06 11:55:02 +02:00
Łukasz Magiera e30f8af2d1 make gen 2023-07-06 09:35:10 +02:00
Łukasz Magiera 402895fdf0 itests: Test too-slow sector sealing cleanup 2023-07-06 09:27:09 +02:00
Łukasz Magiera a5f66b5605 Merge pull request #11045 from filecoin-project/fix/tune-down-log-lvl
fix: stores: Tune down StorageDeclareSector` log-lvl
2023-07-06 08:21:13 +02:00
Łukasz Magiera a03746c5df Merge pull request #11047 from filecoin-project/arajasek-patch-2
feat: docs: include FFI steps in lotus RELEASE_ISSUE_TEMPLATE
2023-07-06 08:19:39 +02:00
Shrenuj Bansal bc5637c60a keep default action as reject and make all error actions explicit 2023-07-05 12:13:01 -04:00
Aayush Rajasekaran 5a45410884 Merge pull request #11051 from filecoin-project/asr/v1.23.3
chore: build: release v1.23.3-rc1
2023-07-04 17:33:38 -04:00
Aayush RajasekaranandJiaying Wang 0c5400f7f6 fix: changelog: v1.23.1-rc1 is a release candidate
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
2023-07-04 17:22:18 -04:00
Aayush Rajasekaran 4240990c6c Merge pull request #11049 from filecoin-project/asr/v1.23.4
chore: build: update to v1.23.4-dev
2023-07-04 17:21:35 -04:00
Aayush ab72562a68 chore: build: release v1.23.3-rc1 2023-07-04 17:00:23 -04:00
Jiaying Wang 1a2a2314b3 Update and rename epic.md to task.md 2023-07-04 16:26:15 -04:00
Jiaying Wang 8ad89188fe Create epic.md 2023-07-04 16:24:30 -04:00
Aayush 13a65fdf56 feat: docs: add more steps to the release template 2023-07-04 16:08:21 -04:00
Aayush 126869ed98 chore: build: update to v1.23.4-dev 2023-07-04 15:51:09 -04:00
Aayush Rajasekaran d5ae0905f9 feat: docs: include FFI steps in lotus RELEASE_ISSUE_TEMPLATE 2023-07-04 15:03:58 -04:00
Aayush Rajasekaran a5791ff963 Merge pull request #11040 from filecoin-project/steb/update-ffi
chore: update ffi & fvm
2023-07-04 14:57:56 -04:00
Łukasz Magiera 9b52b06ea9 fix: sealing: Fix RetryCommitWait loop when sector cron activation fails 2023-07-04 13:35:49 +02:00
Phi 2061c32a2e Check error
Check error
2023-07-04 11:53:28 +02:00
Phi dedfa143ce Extract removeExistingChain to seperate func
Extract removeExistingChain to seperate func
2023-07-04 11:30:06 +02:00
Phi 13224e3e0b Remove unused function
Remove unused clearSplitStoreDir function
2023-07-04 11:07:50 +02:00
Phi 8220e7f82f Tune down log-lvl
Tune down log-lvl
2023-07-04 09:35:49 +02:00
Steven Allen 75383cf57d chore: ffi: update fvm
- Updates to wasmtime 10.
- Unifies some dependencies between fvm v2 and v3 (slightly smaller
  binary).
- Supports instance pool oversubscription when FVM concurrency is
  enabled. This should allow users to specify high concurrency values
  without running out of address space.
2023-06-30 12:23:09 -07:00
Shrenuj Bansal 017f20c346 Merge pull request #11039 from filecoin-project/sbansal/build-version
chore: Update build version to 1.23.3-dev
2023-06-30 15:01:46 -04:00
Aayush Rajasekaran 225cf0fa7f Merge pull request #11038 from filecoin-project/sbansal/merge-releases-into-master
chore: merge releases back into master
2023-06-30 12:53:18 -04:00
Shrenuj Bansal 3e36893537 Merge branch 'releases' into sbansal/merge-releases-into-master 2023-06-30 12:33:38 -04:00
Shrenuj Bansal 05b2e2196f Update build version to 1.23.3-dev 2023-06-30 12:16:30 -04:00
Łukasz Magiera 7b21420831 feat: shed: command for decoding block headers 2023-06-30 14:24:07 +02:00
Phi 5201744199 feat: snapshot: remove existing chain
Remove existing chain on a snapshot-import

log info instead of print

log info instead of print

Remove defer lock

Remove defer lock, and explicitly close the lockedRepo instead
2023-06-30 14:14:16 +02:00
Friðrik Ásmundsson 8577dcb475 Merge pull request #11015 from filecoin-project/fix-dedup
feat: Make sure we don't store duplidate actor events caused to reorgs in events.db
2023-06-30 11:56:20 +00:00
Fridrik Asmundsson b80c0828b9 feat: Make sure we dont store duplidate actor events caused by reorgs 2023-06-30 11:20:57 +00:00
zenground0 3f0ddcc553 Cleanup plotting script 2023-06-29 13:22:16 -06:00
zenground0 ab72f2e230 Lint 2023-06-28 22:35:28 -06:00
Aayush Rajasekaran 30a9f63165 Merge pull request #11002 from filecoin-project/feat/dealbounds-calc
sealing: Use only non-assigned deals when selecting snap sectors
2023-06-28 16:13:33 -04:00
Aayush Rajasekaran 2df1697be8 Merge pull request #11006 from beck-8/not_display_privatekey
chore: not display privatekey
2023-06-28 16:11:46 -04:00
Aayush Rajasekaran 49f8b030da Merge pull request #11020 from filecoin-project/mikers/chore/update-state-invariants
chore: shed: update actor version
2023-06-28 16:11:09 -04:00
mike seiler a1bfdfbc04 Refactor state invariant checks for different actor versions
This commit refactors the code in `invariants.go` to support state invariant checks for different actor versions. The code now includes checks for versions 10 and 11 of the actors. The `CheckStateInvariants` function is invoked based on the actor version, passing the appropriate parameters. This change ensures that state invariant checks are performed correctly for different actor versions.

The changes made are as follows:
- Added imports for actor versions 10 and 11.
- Added `case` statements for versions 10 and 11 in the switch statement.
- Invoked `CheckStateInvariants` function with the correct parameters for each version.
- Handled errors returned by the `CheckStateInvariants` function.

These changes enhance the flexibility and compatibility of the code with different actor versions, improving the accuracy of state invariant checks.
2023-06-28 12:50:15 -07:00
Shrenuj Bansal 8347235b55 Merge pull request #11018 from filecoin-project/sbansal/merge-1.23.2-into-releases
chore: merge release/v1.23.2 into releases
2023-06-28 15:35:12 -04:00
Shrenuj Bansal 9f73150e4d Merge pull request #11014 from filecoin-project/sbansal/1.23.2-cl-and-build-version
chore: build version and changelog for 1.23.2
2023-06-28 14:37:49 -04:00
Shrenuj Bansal 2c3282d4ba small typo 2023-06-28 14:08:11 -04:00
Shrenuj Bansal bd43d9fdfe Update CHANGELOG.md 2023-06-28 13:52:19 -04:00
Shrenuj Bansal be3281bdcf Invert msg validation check to explicitly specify reject errors 2023-06-28 13:35:21 -04:00
Shrenuj Bansal 1337d83b8f chore: build version and changelog for 1.23.2 2023-06-28 12:59:52 -04:00
Aayush dbf944b488 fix: pubsub: do not treat ErrExistingNonce as Reject 2023-06-28 12:50:52 -04:00
zenground0 d2b2fba799 Remove debug pprof serving 2023-06-28 10:11:47 -06:00
zenground0 3cacbdfa18 Lint fixes 2023-06-28 09:52:47 -06:00
zenground0 016661b657 More cleanup 2023-06-28 09:17:57 -06:00
zenground0 3897bf14d1 Cleanup 2023-06-28 09:15:38 -06:00
zenground0 0cfdc9b5b6 Refactor for cleanup + measure top level HAMT churn 2023-06-27 17:57:00 -06:00
beck 2cf19d41af not display privatekey 2023-06-28 03:29:58 +08:00
zenground0 77ea7ef90d Tweak path stuff 2023-06-27 11:29:14 -06:00
zenground0 4aa977f119 Touch up pathing 2023-06-27 11:00:20 -06:00
zenground0 8f3123d75b Churn json output is working 2023-06-27 00:54:02 -06:00
zenground0 36a88f45fc Output is buggy but halfway there 2023-06-25 17:36:21 -06:00
zenground0 d599833b64 WIP 2023-06-25 15:55:41 -06:00
Łukasz Magiera c79acf9ca4 sealing: Use only non-assigned deals when selecting snap sectors 2023-06-23 18:40:46 +02: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
Łukasz Magiera 168d022018 Merge pull request #10921 from Jorropo/boxo2
chore: migrate to boxo
2023-06-22 10:44:05 -05:00
Łukasz Magiera b8b9158074 make gen 2023-06-22 10:43:56 +02:00
Shrenuj Bansal 8b849e6ad9 Merge pull request #10999 from filecoin-project/sbansal/merge-releases-to-master-20230621
chore: merge releases back into master
2023-06-21 16:43:43 -04:00
Fridrik Asmundsson eed38a3c21 Fix lint errors 2023-06-21 15:34:39 +00:00
Shrenuj Bansal 5f6977af1a Extract stable release and post release portion outside of RC testing in template 2023-06-21 09:44:37 -04:00
Shrenuj Bansal e4b8425656 Merge branch 'releases' into sbansal/merge-releases-to-master-20230621 2023-06-21 09:34:57 -04:00
Shrenuj Bansal 26dbe515d7 Merge pull request #10996 from filecoin-project/sbansal/1.23.1_to_releases
merge v1.23.1 to releases
2023-06-20 23:34:47 -04:00
Shrenuj Bansal b68e3a1bc1 Merge pull request #10990 from filecoin-project/sbansal/1.23.1-final-cut
chore: Update build version and changelog for final 1.23.1 cut
2023-06-20 16:11:38 -04:00
Phi a4271f2f51 Link to LOTUS_FVM_CONCURRENCY docs
Add link to LOTUS_FVM_CONCURRENCY docs
2023-06-20 18:17:55 +02:00
Phi bd22319418 Remove old upgrade warnings
Remove old upgrade warnings. Instead call-out that users should read the upgrade warnings section in the v1.23.0 release if upgrading from v1.22.1
2023-06-20 18:15:09 +02:00
Phi 1cd7c44346 Update changelog
Update changelog before publishing
2023-06-20 14:29:41 +02: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
hannahhoward cc207ede88 refactor(deps): use forked kubo-api-client 2023-06-19 14:45:06 -07:00
hannahhoward 95383c1235 chore(deps): upgrade kubo to rc 2023-06-19 14:45:06 -07:00
hannahhoward 96699fae92 chore(deps): update to tagged go-fil-markets 2023-06-19 14:45:06 -07:00
hannahhoward cf10e290d4 chore(deps): update to v0.10.0 boxo 2023-06-19 14:45:06 -07:00
Adin Schmahmann 73f09878e1 chore(blockstore): switch ipfs blockstore from go-ipfs-http-api to kubo/client/rpc 2023-06-19 14:45:06 -07: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
Shrenuj Bansal 63d631ddf5 Changelog 2023-06-19 17:25:24 -04:00
Shrenuj Bansal ff10fb9c21 Update build version and changelog for final 1.23.1 cut 2023-06-19 11:35:13 -04:00
Aayush Rajasekaran 517c0a53b1 Merge pull request #10978 from filecoin-project/asr/deflake-finalize-early
feat: deflake TestDealsWithFinalizeEarly
2023-06-15 09:56:08 -04:00
Aayush 44aadb7962 feat: deflake TestDealsWithFinalizeEarly 2023-06-14 11:29:14 -04:00
Aayush Rajasekaran 4ca5b0ede9 Merge pull request #10973 from filecoin-project/asr/fix-existing-nonce
fix: pubsub: do not treat ErrExistingNonce as Reject
2023-06-13 09:25:11 -05:00
Aayush Rajasekaran 24b958cffd Merge pull request #10928 from storswiftlabs/slashfilter
Implement a tooling for slasher
2023-06-13 09:15:22 -05:00
Aayush 2a6d0e5f6e fix: pubsub: do not treat ErrExistingNonce as Reject 2023-06-13 10:13:24 -04:00
mx 48912e8f09 fix: chain error 2023-06-13 09:46:36 +08:00
Aayush Rajasekaran 1ba0e4b997 feat: deflake TestDMLevelPartialRetrieval (#10972) 2023-06-12 16:49:13 -07:00
Aayush Rajasekaran 1e29616832 Merge pull request #10971 from filecoin-project/fix/10910
fix: eth: ensure that the event topics are non-nil
2023-06-12 16:37:41 -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 a81bb4a6f4 Merge pull request #10969 from filecoin-project/sbansal/msgindex-comment-rel
Add comment stating msgIndex is an experimental feature
2023-06-09 12:58:36 -05:00
Shrenuj Bansal 5b31b79d58 Merge pull request #10968 from filecoin-project/sbansal/msgindex-comment
Add comment stating msgIndex is an experimental feature
2023-06-09 12:53:40 -05:00
Shrenuj Bansal 5e8cae9b5c Add comment stating msgIndex is an experimental feature 2023-06-09 11:49:52 -05:00
Shrenuj Bansal fc719e710f Add comment stating msgIndex is an experimental feature 2023-06-09 11:46:27 -05:00
Łukasz Magiera 28951e5919 Merge pull request #10965 from filecoin-project/steb/use-ts-from-height
feat: cli(compute-state) default to the tipset at the given epoch
2023-06-09 09:19:50 -05:00
huangxinheng@storswift.com 173dad45ed fix: docs gen 2023-06-09 02:34:10 +00: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
Steven Allen dfd3b10182 feat: cli(compute-state) default to the tipset at the given epoch
Previously, we'd use the current head if not otherwise specified, even
when the user specified a epoch. Now:

1. If the user specifies nothing, we use head head's epoch.
2. If the user specifies a tipset and no epoch, we use that tipset and
the epoch of that tipset.
3. If the user specifies an epoch and no tipset, use the tipset at that
epoch (based on the current head).
4. Finally, if the user species both, use both (allowing the
epoch/tipset to disagree).
2023-06-08 13:53:17 -05:00
swift-mx e3c796c848 Merge branch 'master' into slashfilter 2023-06-08 18:56:49 +08:00
mx 16b9787db9 fix: handle the parent-grinding mining fault 2023-06-08 18:49:39 +08:00
Friðrik Ásmundsson 594c52b965 Merge pull request #10950 from filecoin-project/upgrade-urface-dependency
Upgrade urfave dependency which now supports DisableSliceFlagSeparato…
2023-06-07 16:31:02 -05:00
Fridrik Asmundsson b6c1400d21 Run go mod tidy to remove unused dependencies 2023-06-07 15:47:58 -05:00
Fridrik Asmundsson 4d90d0475f Upgrade urfave dependency which now supports DisableSliceFlagSeparator flag 2023-06-07 15:47:58 -05:00
Friðrik Ásmundsson 9e4f1a4d23 Add new lotus-shed command for computing eth hash for a given message cid (#10961) 2023-06-06 17:53:04 -05:00
Friðrik Ásmundsson 7fea1795d6 Merge pull request #10955 from filecoin-project/prefill-skiplist-on-lotus-startup
Prefill GetTipsetByHeight skiplist cache on lotus startup
2023-06-06 15:29:47 -05:00
Fridrik Asmundsson a27e0a8b41 Prefill GetTipsetByHeight skiplist cache on lotus startup 2023-06-06 15:17:34 -05:00
Aayush Rajasekaran 424bab336c Merge pull request #10932 from filecoin-project/backfill-txhash
Add lotus-shed command for backfilling txhash.db
2023-06-06 12:17:47 -04:00
Łukasz Magiera 86c3a69904 Merge pull request #10948 from filecoin-project/asr/update-libp2p
chore: deps: update to go-libp2p 0.27.5
2023-06-06 10:06:49 -05:00
Shrenuj Bansal e2d784132f Merge pull request #10956 from filecoin-project/sbansal/1.23.1-rc4
chore: update changelog title and comments
2023-06-05 19:07:07 -04:00
Shrenuj Bansal 11b17e7e9e update changelog 2023-06-05 18:06:15 -05:00
Aayush Rajasekaran b5e2ee7d2f Merge pull request #10954 from filecoin-project/sbansal/1.23.1-rc4
chore: update build version and changelog for 1.23.1-rc4
2023-06-05 18:01:33 -04:00
Shrenuj Bansal aa0237949e chore: update build version and changelog for 1.23.1-rc4 2023-06-05 16:18:23 -05:00
ZenGround0 fc0df4afb8 Merge pull request #10951 from filecoin-project/update-makefile-gen
Small improvement to make gen output
2023-06-05 11:57:35 -04:00
Fridrik Asmundsson 5daaa3fe46 Small improvement to make gen output 2023-06-03 12:59:50 -05:00
Fridrik Asmundsson 26b4866841 Move back to lotus-shed and add subcategory for indexes 2023-06-03 12:22:25 -05:00
Fridrik Asmundsson e414acb1f5 Address review comments 2023-06-03 11:20:47 -05:00
Fridrik Asmundsson 4e55147895 Run docsgen-cli 2023-06-03 11:20:47 -05:00
Fridrik Asmundsson c38193af73 Add lotus evm command for backfilling txhash.db 2023-06-03 11:20:47 -05:00
Jiaying Wang 8b2814bd89 Merge pull request #10949 from filecoin-project/asr/update-libp2p-backport
chore: deps: update to go-libp2p 0.27.5
2023-06-03 11:08:36 -04:00
Aayush Rajasekaran 324807a86d chore: deps: update to go-libp2p 0.27.5 2023-06-03 10:09:17 -04:00
Aayush Rajasekaran de64fda524 chore: deps: update to go-libp2p 0.27.5 2023-06-03 10:08:03 -04:00
Aayush Rajasekaran cc66654a6c Merge pull request #10941 from filecoin-project/fix-msgindex-backfill
fix: improve perf of msgindex backfill
2023-06-01 17:00:12 -04:00
Fridrik Asmundsson 9240776237 fix: improve perf of msgindex backfill 2023-06-01 14:36:05 +00:00
Shrenuj Bansal f8b05f98a1 Merge pull request #10938 from filecoin-project/sbansal/v1.23.1-rc3
Update changelog and build version
2023-05-31 16:47:08 -04:00
Shrenuj Bansal a750f29a30 Update changelog and build version 2023-05-31 16:23:48 -04:00
Aayush Rajasekaran f4f0dd9ee3 Merge pull request #10937 from filecoin-project/jen/libp2p2
devs: update libp2p
2023-05-31 15:21:00 -04:00
jennijuju 7831ec64d7 update libp2p 2023-05-31 14:32:33 -04:00
Marten Seemann 3a7b52a66f update go-libp2p to v0.27.3 2023-05-31 14:32:33 -04:00
Marten Seemann 48365f4f08 return all the public addresses in NatInfo 2023-05-31 14:32:33 -04:00
Marten Seemann 80d39f6616 chore: update go-libp2p to v0.27.1 2023-05-31 14:32:33 -04:00
Łukasz Magiera 6e7dc9532a Merge pull request #10933 from filecoin-project/feat/fvm-concurrency-alert
feat: alert: Add FVM_CONCURRENCY alert
2023-05-31 20:14:45 +02:00
Łukasz Magiera 84535ca6fe Merge pull request #10936 from filecoin-project/jen/libp2p
deps: update libp2p
2023-05-31 20:14:06 +02:00
jennijuju eeac1aa17d update libp2p 2023-05-31 13:40:25 -04:00
Shrenuj Bansal 05d3dc811a Merge pull request #10934 from filecoin-project/sbansal/backport-v1.23.1-rc3
feat: chainstore: sharded mutex for filling chain height index
2023-05-31 13:38:21 -04:00
Jakub Sztandera 80aa96ec25 Appease the linter
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2023-05-31 12:48:34 -04:00
Jakub Sztandera b65c93b2b4 feat: chainstore: sharded mutex for filling chain height index
This PR introduces as sharded mutex within the ChainIndex#GetTipsetByHeight.
It also replaces a go map with xsync.Map which doesn't require locking.

The lock is taken when it appears that ChainIndex filling work should be
started. After claiming the lock, the status of the cache is rechecked,
if the entry is still missing, the fillCache is started.

Thanks to @snissn and @arajasek for debugging and taking initial stabs at this.

Supersedes #10866 and 10885

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2023-05-31 12:48:25 -04: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
swift-mx 2fd8602c5a Merge branch 'master' into slashfilter 2023-05-31 10:02:01 +08:00
Łukasz Magiera 6cc506f5cf Merge pull request #10923 from filecoin-project/feat/sectors-upgradebounds-cli
feat: miner cli: sectors list upgrade-bounds tool
2023-05-30 20:34:38 +02:00
Łukasz Magiera 120502408c Merge pull request #10761 from filecoin-project/10752-bench-rpc
Add new RPC stress testing tool (lotus-bench rpc) with rich reporting
2023-05-30 19:37:38 +02: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 96fa081ca6 Merge pull request #10913 from filecoin-project/feat/piecereader-perf
feat: piecereader: Allow parallel access
2023-05-30 18:49:41 +02:00
swift-mx 196cd0b739 fix: add more log for error 2023-05-31 00:06:50 +08:00
Łukasz Magiera 042bbfa415 deps: Update go-fil-markets to v1.28.2 2023-05-30 17:59:29 +02:00
swift-mxandAayush Rajasekaran 42aa8451f8 fix: error log
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-05-30 23:54:07 +08:00
Łukasz Magiera 3c67d0f720 Merge pull request #10929 from filecoin-project/protofire-more-methods
#10559: feat: Lotus Gateway: add MpoolPending, ChainGetBlock and MinerGetBaseInfo
2023-05-30 17:38:30 +02:00
Łukasz Magiera 3d0e6d0363 Merge remote-tracking branch 'origin/master' into protofire-more-methods 2023-05-30 17:16:32 +02:00
Łukasz Magiera fa36613a5e Merge branch 'more-methods' of github.com:protofire/lotus into protofire-more-methods 2023-05-30 17:01:52 +02:00
Łukasz Magiera 87ae60a2bc Merge pull request #10650 from filecoin-project/vyzo/test/mpool-select
Add timing test for mpool select with a large mpool dump
2023-05-30 17:00:06 +02:00
Łukasz Magiera 183e35f7b7 Merge pull request #10925 from filecoin-project/asr/drop-orange-check
feat: slashfilter: drop outdated near-upgrade check
2023-05-30 16:56:43 +02:00
Łukasz Magiera 8be9e5345b Merge pull request #10927 from simlecode/opt/add_PendingOwnerAddress
opt: MinerInfo adds the PendingOwnerAddress field
2023-05-30 16:55:50 +02:00
Łukasz Magiera 047898f64d Merge pull request #10926 from filecoin-project/asr/deflake-miningloop
feat: itest: force PoSt more aggressively around deadline closure
2023-05-30 16:54:03 +02:00
Aayush Rajasekaran 3d061ba0ae Merge pull request #10649 from filecoin-project/asr/test-gas-reward
test: messagepool: gas rewards are negative if GasFeeCap too low
2023-05-30 10:25:35 -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
Łukasz Magiera 1c10a6e238 update go-fil-markets 2023-05-30 15:49:59 +02:00
huangxinheng@storswift.com d365f7b0a1 fix: docs gen 2023-05-30 07:01:24 +00:00
mx 425661772d style:Refactoring slashfilter 2023-05-30 14:33:35 +08:00
swift-mx 99c98b5de0 Merge pull request #2 from filecoin-project/master
merge latest Code
2023-05-30 14:21:25 +08:00
simlecode 3bed440d2d chore: make docsgen 2023-05-30 13:25:44 +08:00
simlecode 10130a32d7 opt: MinerInfo adds the PendingOwnerAddress field 2023-05-30 13:04:11 +08:00
Aayush Rajasekaran b76b5ef4b7 Merge pull request #10863 from AnomalRoil/fix/fuzz/48208
fix: types: error out on decoding BlockMsg with extraneous data
2023-05-29 16:58:41 -04:00
Aayush Rajasekaran a12dbaac8e Merge pull request #10879 from filecoin-project/jen/fixinterop
update interop upgrade schedule
2023-05-29 16:57:02 -04:00
Jennifer Wang f5daf95261 update interop 2023-05-29 16:46:02 -04:00
Aayush Rajasekaran 7b921c6761 Merge pull request #10732 from filecoin-project/tests/test-postv11-worker
itests: Test PoSt V1_1 on workers
2023-05-29 16:45:29 -04:00
Aayush 782e09a37d feat: itest: force PoSt more aggressively around deadline closure 2023-05-29 16:32:49 -04:00
Aayush Rajasekaran e25d834a17 Merge pull request #10924 from parthibanb224/patch-1
Update gas_balancing.md
2023-05-29 13:26:58 -04:00
Aayush Rajasekaran 84bba333c4 Merge pull request #9070 from filecoin-project/asr/batch-clever
feat: cli: Make compact partitions cmd better
2023-05-29 13:19:14 -04:00
Aayush c0942ebc2c feat: cli: Make compact partitions cmd better 2023-05-29 13:06:25 -04:00
Aayush Rajasekaran 867a7b1c01 Merge pull request #10628 from filecoin-project/asr/exec-trace-compute
fix: include extra messages in ComputeState InvocResult output
2023-05-29 12:56:43 -04:00
Aayush 10ed18ba12 test: messagepool: gas rewards are negative if GasFeeCap too low 2023-05-29 12:54:04 -04:00
Aayush Rajasekaran 0ec2acbf20 Merge pull request #10652 from filecoin-project/asr/mpool-fee-too-low
feat: pubsub: treat ErrGasFeeCapTooLow as ignore, not reject
2023-05-29 12:53:38 -04:00
Aayush 228b306370 feat: slashfilter: drop outdated near-upgrade check 2023-05-29 11:12:19 -04:00
Łukasz Magiera 17915dce5a sealing: Don't select sectors with no deals lined up for upgrading 2023-05-27 13:03:21 +02:00
Fridrik Asmundsson e1b69f84d6 Cleanup after removing urface upgrade 2023-05-27 10:55:10 +00:00
Fridrik Asmundsson b563a36a99 Address review comments 2023-05-27 10:55:10 +00:00
Fridrik Asmundsson 4b0ca30daf Add --watch option to see progress while benchmark is running 2023-05-27 10:55:10 +00:00
Fridrik Asmundsson dcc72a43ee Also report on json errors (not only http errors) 2023-05-27 10:55:10 +00:00
Fridrik Asmundsson d0e9502bfe small fixes 2023-05-27 10:55:10 +00:00
Fridrik Asmundsson 78d7ccd391 Add new RPC stress testing tool (lotus-bench rpc) with rich reporting
This benchmark is designed to stress test the rpc methods of a lotus node so that we can simulate real world usage and measure the performance of rpc methods on the node.

This benchmark has the following features:
* Can query each method both sequentially and concurrently
* Supports rate limiting
* Can query multiple different endpoints at once (supporting different concurrency level and rate limiting for each method)
* Gives a nice reporting summary of the stress testing of each method (including latency distribution, histogram and more)
* Easy to use

To use this benchmark you must specify the rpc methods you want to test using the --method options, the format of it is:

  --method=NAME[:CONCURRENCY][:QPS][:PARAMS] where only METHOD is required.

Here are some real examples:
  lotus-bench rpc --method='eth_chainId' // run eth_chainId with default concurrency and qps
  lotus-bench rpc --method='eth_chainId:3'  // override concurrency to 3
  lotus-bench rpc --method='eth_chainId::100' // override to 100 qps while using default concurrency
  lotus-bench rpc --method='eth_chainId:3:100' // run using 3 workers but limit to 100 qps
  lotus-bench rpc --method='eth_getTransactionCount:::["0xd4c70007F3F502f212c7e6794b94C06F36173B36", "latest"]' // run using optional params while using default concurrency and qps
  lotus-bench rpc --method='eth_chainId' --method='eth_getTransactionCount:10:0:["0xd4c70007F3F502f212c7e6794b94C06F36173B36", "latest"]' // run multiple methods at once`,

Fixes: https://github.com/filecoin-project/lotus/issues/10752
2023-05-27 10:55:10 +00:00
Friðrik Ásmundsson b269a1ba35 Merge pull request #10877 from filecoin-project/lotus-shed-cancel-context
feat: run lotus-shed commands in context that is cancelled on sigterm
2023-05-27 10:30:52 +00:00
Fridrik Asmundsson a4c94957e6 Update message when user hits CRTL+C to not imply handling SIGSTOP but SIGTERM/SIGKILL 2023-05-27 10:10:30 +00:00
PARTHIBAN 7af42796db Update gas_balancing.md
correct the sentences
2023-05-26 20:12:10 +05:30
Łukasz Magiera 4b5a665422 Merge remote-tracking branch 'origin/master' into feat/piecereader-perf 2023-05-26 13:00:42 +02:00
Łukasz Magiera 090b98ad33 sealing: Attempt to improve upgrade sector selection 2023-05-26 12:31:35 +02:00
Łukasz Magiera 14f9770859 feat: miner cli: sectors list upgrade-bounds tool 2023-05-26 12:29:36 +02:00
Łukasz Magiera fdd013c103 Merge pull request #10920 from filecoin-project/lotus-fountain-dealsize
fix:lotus-fountain:set default data-cap same as MinVerifiedDealSize
2023-05-26 09:35:13 +02:00
Jiaying Wang 9900dbe1de Merge pull request #10918 from filecoin-project/asr/backport
Check if epoch is negative in GetTipsetByHeight
2023-05-25 19:28:43 -04:00
Łukasz Magiera b58daf5340 piecereader: address review 2023-05-25 16:05:36 +02:00
Jianhui Xie 479018e3b3 set default data-cap same as MinVerifiedDealSize 2023-05-24 22:09:29 -07:00
Jianhui Xie 41203f7b8e pass the right g-recaptcha data 2023-05-24 21:06:03 -07:00
Shrenuj Bansal a509ca23ec Check if epoch is negative in GetTipsetByHeight 2023-05-24 12:38:44 -04: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
Łukasz Magiera 8c8e287be0 Merge pull request #10896 from filecoin-project/feat/chainindex-sharded-mutex
feat: chainstore: sharded mutex for filling chain height index
2023-05-24 12:49:16 +02:00
Aayush Rajasekaran f99fbc1e87 Merge pull request #10912 from simlecode/fix/not-unlock
fix: not call RUnlock
2023-05-23 17:17:14 -04:00
Łukasz Magiera 5e58f64380 piecereader: Fix double buffer free 2023-05-23 16:45:46 +02:00
Łukasz Magiera f0fec13ec9 piecereader: Metrics fixes 2023-05-23 14:15:46 +02:00
Łukasz Magiera 326a0356a4 piecereader: Add metrics 2023-05-23 13:32:17 +02:00
Łukasz Magiera 6c62e6d8e2 fix tests/lint 2023-05-23 12:26:13 +02:00
Łukasz Magiera 587c3fde58 piecereader: Fix parallel buffer access, close readers in readInto 2023-05-23 12:26:13 +02:00
Łukasz Magiera cd75ea0fe4 piecereader: Retune to allow parallel ReadAt calls 2023-05-23 12:26:13 +02:00
Łukasz Magiera 8b2ef40f4e storage: Weave end offset into unsealed reader code 2023-05-23 12:26:13 +02:00
Łukasz Magiera 6b4a46d273 Merge pull request #10893 from simlecode/opt/output-events-root
opt: cli: If present, print Events Root
2023-05-23 11:50:21 +02:00
Łukasz Magiera 17d2c71c0f Merge pull request #10905 from filecoin-project/maciej/fountain-fix
Calibration faucet UI improvements
2023-05-23 11:49:18 +02:00
simlecode 6ec413b7ad fix: not call RUnlock 2023-05-23 17:43:39 +08:00
Yolan Romailler 00e34436b3 Addressing code review comments
Signed-off-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
2023-05-22 21:47:55 +02:00
ZenGround0 2922959f0b Merge pull request #10841 from gammazero/use-go-libipni
chore: chain: replace storetheindex with go-libipni
2023-05-22 14:16:30 -04:00
Maciej Witowski c233b4317d Small UI improvements for faucet 2023-05-22 17:34:07 +02:00
Maciej Witowski fff151f07e Fix button color so it doesn't look disabled when hovering over 2023-05-22 17:16:30 +02:00
cortze d9a65223ab tidy dependencies 2023-05-22 11:59:39 +02: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
Jakub Sztandera cad743ec54 Appease the linter
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2023-05-19 20:02:47 +02:00
Jakub Sztandera dfa7fc7723 feat: chainstore: sharded mutex for filling chain height index
This PR introduces as sharded mutex within the ChainIndex#GetTipsetByHeight.
It also replaces a go map with xsync.Map which doesn't require locking.

The lock is taken when it appears that ChainIndex filling work should be
started. After claiming the lock, the status of the cache is rechecked,
if the entry is still missing, the fillCache is started.

Thanks to @snissn and @arajasek for debugging and taking initial stabs at this.

Supersedes #10866 and 10885

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2023-05-19 19:49:22 +02:00
Łukasz Magiera 9321e0fd14 Merge pull request #10894 from filecoin-project/feat/lotus-info-alerting
Add alerts to `Lotus info` cmd
2023-05-19 15:59:03 +02:00
Phi 40e51baadc Add alerts to Lotus info cmd
Add alerts to `Lotus info` cmd
2023-05-19 14:31:40 +02:00
simlecode 3207c69528 opt: cli: If present, print Events Root 2023-05-19 16:56:11 +08:00
Phi-rjan bd85a6a72f Merge pull request #10860 from filecoin-project/phi-fix-args-redeclare
fix: cli: make redeclare cmd work properly
2023-05-18 19:13:07 +02:00
Phi e65de697f0 make docsgen-cli
make docsgen-cli
2023-05-18 18:27:53 +02:00
Phi b08dbde2da Update redeclare cmd on Lotus-Workers
Update redeclare cmd on Lotus-Workers
2023-05-18 18:04:10 +02:00
Łukasz Magiera 6ced5e2944 Merge pull request #10880 from filecoin-project/jen/makedeephappy
fix: shed remove datacap not working with ledger
2023-05-18 16:10:17 +02:00
Jennifer Wang de0726fcb0 make ledger sign work 2023-05-17 22:01:04 -04:00
gammazero 0a0f540189 mod tidy 2023-05-17 11:42:34 -07: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
Łukasz Magiera aaa376c5e4 Merge pull request #10878 from filecoin-project/sbansal/neg-epoch-check
Check if epoch is negative in GetTipsetByHeight
2023-05-17 11:07:14 +02:00
Shrenuj Bansal b0d1385273 Check if epoch is negative in GetTipsetByHeight 2023-05-16 21:19:03 -04:00
Łukasz Magiera 0e7f9cf99b Merge pull request #10867 from filecoin-project/refactor/gfm-v1.28.0
chore: update go-fil-markets
2023-05-17 00:13:36 +02:00
Łukasz Magiera 34ebb257e8 Merge pull request #10868 from filecoin-project/feat/add-legacy-markets-alert
feat: alerts: Add lotus-miner legacy-markets alert
2023-05-16 23:41:24 +02:00
Fridrik Asmundsson 0131781808 feat: run lotus-shed commands in context that is cancelled on sigterm 2023-05-16 11:25:57 +00: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
Phi a29e8226c7 Set drop-missing to true
Set drop-missing to true
2023-05-15 11:51:43 +02:00
Jacob Heun af0303ff7d chore: update go-fil-markets 2023-05-15 10:27:13 +02:00
Yolan Romailler 0d7d906abf Adding extra data check on DecodeBlockMsg
fix: types: error out on decoding BlockMsg with extraneous data
Fixes OSS-fuzz issue 48208: lotus:fuzz_block_msg

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
2023-05-12 21:32:44 +02:00
JesseXie bc6017194d Merge pull request #10856 from filecoin-project/lotus-fountain-add-datacap
feat:fountain:add grant-datacap support
2023-05-12 11:20:26 -07:00
Jianhui Xie 4f3b6175c0 follow the new style for html from master branch 2023-05-12 10:59:28 -07:00
Jianhui Xie 9486aa98db fixed the merged break for to->cmd/lotus-fountain/main.go 2023-05-12 10:48:18 -07:00
Jiaying Wang befc82d3cd Merge pull request #10861 from filecoin-project/asr/deflake-logs
feat: itests: add logs to blockminer.go failure case
2023-05-12 13:47:03 -04:00
JesseXie 9b0cbbb0a8 Merge branch 'master' into lotus-fountain-add-datacap 2023-05-12 10:42:39 -07:00
Aayush Rajasekaran 1dd24fe18f Merge pull request #10782 from filecoin-project/10781-add-blockhash-param-to-ethgetLogs
feat: eth: Add support for blockHash param in eth_getLogs
2023-05-12 12:58:46 -04:00
Aayush Rajasekaran b3d0b1803f Merge pull request #10784 from filecoin-project/maciej/fountain
lotus-fountain: make compatible with 0x addresses #10560
2023-05-12 12:17:56 -04:00
Aayush 760a27dd4b feat: itests: add logs to blockminer.go failure case 2023-05-12 12:17:31 -04:00
Aayush Rajasekaran 2bbc098bff Merge pull request #10858 from filecoin-project/asr/deflake-sector-import
feat: deflake sector_import_simple
2023-05-12 11:09:06 -04:00
Phi f671654bdd Make redeclare cmd work
- Fix an issue where `lotus-miner storage redeclare --all` required an argument
- Actually implement the logic to redeclare a single sectors in a single storage path
2023-05-12 16:35:00 +02:00
Aayush Rajasekaran a0ebd8bb16 Merge pull request #10857 from filecoin-project/asr/feat-deadlock-2
fix: splitstore: remove deadlock around waiting for sync
2023-05-11 16:36:04 -04:00
Aayush f39478140a feat: deflake sector_import_simple 2023-05-11 15:08:12 -04:00
Aayush f4a3207ede fix: splitstore: remove deadlock around waiting for sync 2023-05-11 09:32:40 -04:00
Jianhui Xie 96c1ab413f run gofmt to clean the imports error 2023-05-11 00:06:05 -07:00
Jianhui Xie 0ec3d44276 add grant-datacap support for lotus fountain 2023-05-10 23:30:43 -07:00
Maciej Witowski 08e6e04145 Unify error handling 2023-05-10 22:21:15 -04:00
Maciej Witowski dbb892d89f lotus-fountain: make compatible with 0x addresses #10560 2023-05-10 22:21:15 -04:00
Shrenuj Bansal 5a1738c9ba Merge pull request #10853 from filecoin-project/sbansal/1.23.1-rc2
Changelog and build version for 1.23.1-rc2
2023-05-10 17:38:27 -04:00
Fridrik Asmundsson 4ca30abeef Add support for blockHash param in eth_getLogs 2023-05-10 16:43:25 -04:00
Łukasz Magiera 825564a994 itests: Deflake TestNetBlockIPAddr 2023-05-10 22:35:36 +02:00
Łukasz Magiera b412d8c179 Revert "Revert "libp2p: add QUIC and WebTransport to default listen addresses"" 2023-05-10 22:28:09 +02:00
Shrenuj Bansal 5aea90776c update changelog 2023-05-10 16:25:05 -04: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
Shrenuj Bansal a1a012039a Merge pull request #10852 from filecoin-project/sbansal/revert-10848
Revert "libp2p: add QUIC and WebTransport to default listen addresses"
2023-05-10 16:17:49 -04:00
Shrenuj Bansal 67df60f26f Changelog and build version for 1.23.1-rc2 2023-05-10 16:14:42 -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 86f32d1c1f Merge pull request #10851 from filecoin-project/sbansal/backport-1.23.1-rc2
Backport changes for 1.23.1-rc2
2023-05-10 16:04:48 -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
Łukasz MagieraandSteffen Butzer 60d576241c fix: sched: Address GET_32G_MAX_CONCURRENT regression (#10850)
* Fix 1.21 regression: GET_32G_MAX_CONCURRENT + mixed prepared/executing leads to stuck scheduler

If you have 12 GET tasks and GET_32G_MAX_CONCURRENT=1, sealing jobs will only show assigned tasks for GET of the miner
and is stuck.
I believe this to be a regression of 1.21 unifying the counters, in the case of GETs where PrepType and TaskType
both being seal/v0/fetch leading to a state where tasks are blocked since already counted towards the limit.

* itests: Repro issue from PR #10633

* make counters int (non-working)

* fix: worker sched: Send taskDone notifs after tasks are done

* itests: Make TestPledgeMaxConcurrentGet actually reproduce the issue

* make the linter happy

---------

Co-authored-by: Steffen Butzer <steffen.butzer@outlook.com>
2023-05-10 15:45:50 -04:00
Łukasz MagieraandSteffen Butzer 6fd93ed170 fix: sched: Address GET_32G_MAX_CONCURRENT regression (#10850)
* Fix 1.21 regression: GET_32G_MAX_CONCURRENT + mixed prepared/executing leads to stuck scheduler

If you have 12 GET tasks and GET_32G_MAX_CONCURRENT=1, sealing jobs will only show assigned tasks for GET of the miner
and is stuck.
I believe this to be a regression of 1.21 unifying the counters, in the case of GETs where PrepType and TaskType
both being seal/v0/fetch leading to a state where tasks are blocked since already counted towards the limit.

* itests: Repro issue from PR #10633

* make counters int (non-working)

* fix: worker sched: Send taskDone notifs after tasks are done

* itests: Make TestPledgeMaxConcurrentGet actually reproduce the issue

* make the linter happy

---------

Co-authored-by: Steffen Butzer <steffen.butzer@outlook.com>
2023-05-10 15:43:42 -04:00
Phi f03c06964f Make docsgen-cli
Make docsgen-cli
2023-05-10 15:27:45 -04:00
Phi 4e49b8b671 Hide lotus-miner legacy markets cmds
Hide lotus-miner legacy markets cmds
2023-05-10 15:27:39 -04:00
Łukasz Magiera 0cfb69b95a ci: run release on ci/ branches, include m1 2023-05-10 15:21:34 -04:00
Łukasz Magiera 9558df7cda temp drop m1 from releases 2023-05-10 15:21:27 -04:00
Łukasz Magiera 779975c3a9 ci: Debugging m1 build 2023-05-10 15:21:19 -04:00
Aayush Rajasekaran 298b2b4785 Merge pull request #10840 from filecoin-project/asr/splitstore-warm
feat: fix deadlock in splitstore-mpool interaction
2023-05-10 14:57:49 -04:00
Aayush 52e7546e98 address review: make warmupEpoch an atomic.Int64 2023-05-10 14:46:26 -04:00
Aayush fb228ebbff feat: mempool: reintroduce ForEachPendingMessage 2023-05-10 14:19:33 -04:00
Aayush 92dcfe530b feat: splitstore: access warmupepoch atomically instead of locking 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
Łukasz Magiera 4a155a9e1f Merge pull request #10848 from filecoin-project/libp2p-quic-webtransport
libp2p: add QUIC and WebTransport to default listen addresses
2023-05-10 12:23:17 +02:00
Łukasz Magiera ea9a8bf83f Merge pull request #10749 from filecoin-project/ci/1.23-release-artifacts
fix: ci: Debugging m1 build
2023-05-10 11:20:07 +02:00
Marten Seemann 0a064c1b3d libp2p: add QUIC and WebTransport to default listen addresses 2023-05-10 12:07:20 +03:00
Marten Seemann 85e76f925e update go-libp2p to v0.27.3 2023-05-10 11:54:48 +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
Łukasz Magiera 4302bc02d6 ci: run release on ci/ branches, include m1 2023-05-10 10:32:21 +02:00
Łukasz Magiera dc805eb749 temp drop m1 from releases 2023-05-10 10:32:21 +02:00
Łukasz Magiera 9617fb6899 ci: Debugging m1 build 2023-05-10 10:32:21 +02: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
Łukasz Magiera 70d2899ead itests: wdpost: Address review 2023-05-09 19:11:15 +02:00
Łukasz Magiera 8fcf59facc itests: Test PoSt V1_1 on workers 2023-05-09 19:02:51 +02:00
Łukasz Magiera 5c26a3da1f Merge pull request #10772 from simlecode/fix/remove-invalid-field
fix: remove invalid field UpgradePriceListOopsHeight
2023-05-09 19:01:24 +02:00
Aayush Rajasekaran 7c98160b81 Merge pull request #10847 from filecoin-project/asr/deflake-ethbalance
feat: deflake eth_balance_test
2023-05-09 12:48:45 -04:00
Aayush a4235e2b3d feat: deflake eth_balance_test 2023-05-09 12:35:09 -04:00
Aayush Rajasekaran ff8d81d0bc Merge pull request #10846 from filecoin-project/fix/tests-storage-unit-syncds
fix: tests: Use mutex-wrapped datastore in storage tests
2023-05-09 12:20:30 -04:00
Łukasz Magiera 488b7966e7 Merge pull request #10785 from filecoin-project/maciej/fountain-ui
Make lotus-fountain UI slightly friendlier
2023-05-09 18:13:34 +02:00
Łukasz Magiera 07e5abbd3e Merge pull request #10825 from filecoin-project/10682-read-perm-for-subscribe-and-filter-methods
Make (un)subscribe and filter RPC methods require only read perm
2023-05-09 18:11:30 +02:00
Łukasz Magiera 2f469c2f58 fix: tests: Use mutex-wrapped datastore in storage tests 2023-05-09 18:06:41 +02:00
Aayush Rajasekaran ea7bbbc4ae Merge pull request #10845 from filecoin-project/deps/jsonrpc-v0.3.1
deps: Update go-jsonrpc to v0.3.1
2023-05-09 11:23:58 -04:00
Łukasz Magiera 02163fbc92 Merge branch 'master' of github.com:filecoin-project/lotus 2023-05-09 17:20:43 +02:00
Łukasz Magiera bdd339d4ed Merge branch 'ianconsolata-id/remove-dockerfile.lotus' 2023-05-09 17:20:13 +02:00
Łukasz Magiera ad73b312e1 Merge branch 'id/remove-dockerfile.lotus' of github.com:ianconsolata/lotus into ianconsolata-id/remove-dockerfile.lotus 2023-05-09 17:19:55 +02:00
Łukasz Magiera bd29359d12 Merge pull request #10838 from ianconsolata/id/fix-dockerignore
_build_ Add checked in file to dockerignore ignore list
2023-05-09 17:14:09 +02:00
Łukasz Magiera 73315c45fb deps: Update go-jsonrpc to v0.3.1 2023-05-09 17:11:07 +02:00
Łukasz Magiera 3b4fa779ac Merge pull request #10797 from filecoin-project/sealerFlagForDataCid3
feat: sealing: flag to run data_cid untied from addpiece
2023-05-09 16:26:00 +02:00
simlecode f24d669cff fix: remove invalid field UpgradePriceListOopsHeight 2023-05-09 09:21:05 +08:00
Andrew Jackson (Ajax) 313c701be6 nit: docs space 2023-05-08 15:39:47 -05:00
Aayush Rajasekaran 106d354689 Merge pull request #10843 from filecoin-project/asr/deflake-paych
feat: deflake paych_api_test
2023-05-08 14:48:31 -04:00
Aayush c6fb2b416a feat: deflake paych_api_test 2023-05-08 14:36:43 -04:00
Andrew Jackson (Ajax) 30fae764ae doc 2023-05-08 12:22:25 -05:00
Andrew Jackson (Ajax) 6a66a11e54 comment responses 2023-05-08 11:36:43 -05: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
Phi-rjan 5697645748 Merge pull request #10837 from filecoin-project/feat/ux-friendly-batch-cmd
feat: cli: More ux-friendly batching cmds
2023-05-08 17:40:01 +02:00
Phi-rjan 0476632282 Merge pull request #10842 from filecoin-project/fix/hide-legacy-markets-cmd
fix: cli: Hide legacy markets cmds
2023-05-08 17:39:01 +02:00
Phi 55a8cbd22c Make docsgen-cli
Make docsgen-cli
2023-05-08 13:42:53 +02:00
Phi 426bfb795a Hide lotus-miner legacy markets cmds
Hide lotus-miner legacy markets cmds
2023-05-08 13:13:18 +02:00
Aayush Rajasekaran fc71ba507f Merge pull request #10839 from filecoin-project/asr/deflake-observers
feat: chainstore: exit early in MaybeTakeHeavierTipset
2023-05-05 14:08:01 -04:00
Aayush 596b01fba2 feat: chainstore: exit early in MaybeTakeHeavierTipset 2023-05-05 13:56:48 -04:00
Aayush Rajasekaran 9ae42929d7 Merge pull request #10829 from filecoin-project/steb/fix-deploy-flake
fix: itest: fix eth deploy test flake
2023-05-05 09:58:39 -04:00
Aayush Rajasekaran 49e1910050 Merge pull request #10836 from filecoin-project/mikers/messagepool/nitfix2
style: mempool: chain errors using xerrors.Errorf
2023-05-05 09:54:42 -04:00
Phi 059cbedb40 Add missing else bracket
Add missing else bracket
2023-05-05 15:21:44 +02:00
Phi 075d068ccd Add errcheck
Add errcheck
2023-05-05 14:59:25 +02:00
Phi 93618c0687 cli: Add more ux-friendly batching cmd
cli: Add more ux-friendly batching cmd
2023-05-05 14:20:09 +02:00
Maciej Witowski c6bda331b8 Make lotus-fountain UI slightly friendlier
CSS generated by ChatGTP
2023-05-05 13:23:08 +02:00
Mike Seiler 9c05a1f734 chain errors using xerrors.Errorf 2023-05-04 23:50:07 -10:00
Steven Allen d7deb9a3eb fix: itest: fix eth deploy test flake
This fixes the flakyness by:

1. Disconnecting the client from the miner before submitting the
message. That way, we force it to get stuck in the message pool.
2. Removing the logic that asks lotus for the "latest" block. We have
other tests that exercise "latest".

fixes #10824
2023-05-04 14:51:25 -07:00
Ian Davis 5343b0f508 Add checked in file to dockerignore ignore list 2023-05-04 20:05:29 +01:00
Friðrik Ásmundsson e6c8072f50 Merge pull request #10827 from filecoin-project/10585-address-review-comments
10585 address review comments
2023-05-04 18:32:04 +00:00
Ian Davis d566620de8 Remove previously DEPRECATED Dockerfile.lotus
It was replaced by Dockerfile
2023-05-04 19:31:46 +01:00
Fridrik Asmundsson 171f1f716a Update changelog 2023-05-04 17:50:25 +00:00
Aayush Rajasekaran 45f3e694a0 Merge pull request #10826 from filecoin-project/asr/deflake-msgindex
feat: deflake msgindex_test.go
2023-05-04 13:39:46 -04:00
Aayush Rajasekaran 9da534c75c Merge pull request #10816 from filecoin-project/asr/deflake-ethhistory
feat: deflake TestEthFeeHistory
2023-05-04 13:38:09 -04:00
Fridrik Asmundsson 4e8ee737fc Address review comments 2023-05-04 17:10:26 +00:00
Aayush Rajasekaran c940f597a4 Merge pull request #10817 from filecoin-project/asr/log-eth-api
feat: make RunClientTest louder when deals fail
2023-05-04 12:59:40 -04:00
Fridrik Asmundsson 6574213914 Make (un)subscribe and filter RPC methods require only read perm 2023-05-04 16:09:57 +00:00
Aayush b45409262f feat: deflake msgindex_test.go 2023-05-04 12:04:28 -04:00
Friðrik Ásmundsson dec3af7d7f Merge pull request #10585 from filecoin-project/10584-make-execution-cache-size-configurable
feat: Make execution trace configurable via env variable
2023-05-04 14:07:35 +00:00
Aayush b6b3998864 feat: deflake TestEthFeeHistory 2023-05-04 10:01:40 -04:00
Aayush Rajasekaran 1c1a28e1c3 Merge pull request #10823 from filecoin-project/fix/beneficiary-clearer-args-input
fix: cli: Change arg wording in change-beneficiary cmd
2023-05-04 09:57:59 -04:00
Phi efdc32f60e Change arg from minerAddress to minerID
Change arg from minerAddress to minerID
2023-05-04 15:21:05 +02:00
Shrenuj Bansal e8dcf9f838 update cl (#10819) 2023-05-03 19:07:15 -04:00
Shrenuj Bansal a03535ae20 Update changelog.md for release/v1.23.1 2023-05-03 18:32:10 -04:00
Shrenuj Bansal fadc94f253 Update build version for release/v1.23.1 2023-05-03 17:20:57 -04:00
Mikers c1d22d8b32 refactor: streamline error handling in CheckPendingMessages (#10818) 2023-05-03 11:12:47 -10:00
Shrenuj Bansal a4685b7bac update build version on master to 1.23.2-dev 2023-05-03 17:01:13 -04:00
Aayush 6a1b523ba1 feat: make RunClientTest louder when deals fail 2023-05-03 16:49:23 -04:00
Shrenuj Bansal c7bdf61fb1 Disable lotus markets by default (#10809) 2023-05-03 16:42:23 -04:00
Mikers 742062f84c perf: mempool: lower priority optimizations (#10693)
* release the read lock earlier as it is not needed for chaincomputebasefee

* chain/messagepool/selection.go change to read lock in SelectMessages

* tighten up locks in chain/messagepool/repub.go and two questions on whether curTsLks are needed as comments

* include suggestion from @Jorropo to preallocate our msgs array so that we only need to make a single allocation

* mp.pending should not be accessed directly but through the getter

* from @arajasek: just check whether the sender is a robust address (anything except an ID address is robust) here, and return if so. That will:

be faster
reduce the size of this cache by half, because we can drop mp.keyCache.Add(ka, ka) on line 491.

* do not need curTslk and clean up code comments
2023-05-03 16:31:39 -04:00
Phi-rjan 093d350df3 Merge pull request #10812 from filecoin-project/fix/set-head-cmd
Change args check
2023-05-03 20:52:52 +02:00
Phi 7b72968968 Update args
Update args
2023-05-03 19:37:08 +02:00
Phi 034888c58e Changing to if args.present
Changing to if args.present
2023-05-03 19:03:54 +02:00
Łukasz Magiera ab0e261e1b Merge pull request #10810 from filecoin-project/asr/batch-deal-stop
chore: drop flaky TestBatchDealInput subcase
2023-05-03 19:02:32 +02:00
Shrenuj BansalandJacob Crowther 78800a4e77 fix: sealing: Make lotus-worker report GPU usage to miner during ReplicaUpdate task (#10806)
* Make lotus-worker report GPU usage to miner during ReplicaUpdate task

* make gen

---------

Co-authored-by: Jacob Crowther <jcrowthe@users.noreply.github.com>
2023-05-03 12:28:03 -04:00
ZenGround0 a3a429edad Merge pull request #10811 from filecoin-project/fix/no-yielding-with-txnlock
fix:splitstore:Don't block when potentially holding txnLk as writer
2023-05-03 12:07:20 -04:00
Phi f094e61b4a Remove args check
Remove args check in `lotus chain set`
2023-05-03 17:56:34 +02:00
zenground0 bca0023756 Don't block when potentially holding txnLk as writer 2023-05-03 09:55:22 -06:00
Aayush 17c43caacf chore: drop flaky TestBatchDealInput subcase 2023-05-03 11:51:42 -04:00
Łukasz Magiera 3ff8a09183 feat: worker: Ensure tempdir exists (#10433) 2023-05-03 10:59:41 -04:00
Aayush Rajasekaran 76776e5cc1 Merge pull request #10800 from filecoin-project/asr/speedup-persist
feat: chainstore: batch writes of tipsets
2023-05-02 17:54:33 -04:00
Aayush 49f5825296 feat: chainstore: batch writes of tipsets 2023-05-02 17:26:07 -04:00
Aayush Rajasekaran f189256a62 Merge pull request #10744 from filecoin-project/jennijuju-patch-4
chore: changelog clean up
2023-05-02 16:36:12 -04:00
Jiaying Wang 3390e3536d Update CHANGELOG.md 2023-05-02 14:23:24 -04:00
Aayush Rajasekaran ff0fa3471f chore: refactor: drop unused IsTicketWinner (#10801) 2023-05-02 11:22:02 -07:00
Andrew Jackson (Ajax) a884bb15bd docs: lotus-worker data-cid 2023-05-02 13:05:21 -05: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
Andrew Jackson (Ajax) 8c31ea1814 feat: sealing: data_cid flag untied from addpiece 2023-05-01 19:41:44 -05:00
Aayush Rajasekaran c05204f1d8 Merge pull request #10786 from filecoin-project/asr/calibnet-hack
chore: deps: update to FVM 3.3.1
2023-05-01 12:37:59 -04:00
Aayush b4c2c249db chore: deps: update to FVM 3.3.1 2023-05-01 10:37:43 -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
Aayush 0d8a3cbaf8 feat: shed tool to report on any consensus mismatches in history 2023-04-28 13:47:24 -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 727a71186b Merge pull request #10764 from filecoin-project/asr/flaky-tests
fix: deflake: use 2 miners for flaky tests
2023-04-27 11:14:57 -04:00
Aayush e91bb642e7 fix: deflake: use 2 miners for flaky tests 2023-04-27 08:43:03 -04:00
Łukasz Magiera 9d2d53b58e fix: prover: Propagate skipped sectors in local PoSt 2023-04-27 09:26:12 +02:00
Steven Allen e351d77ff8 test: eth: deflake multiblock lookup test (#10769)
- Increase epoch times to give the miners a chance to see each other's
blocks.
- Wait longer for a multi-block tipset.
- Reduce the initial wait (we're increasing the block times and I don't
really feel like waiting around).
2023-04-26 15:10:43 -07: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
Aayush Rajasekaran cf8587522a Merge pull request #10714 from filecoin-project/fix/tvx-post-fvm
fix: tvx: make extract-multiple support the FVM
2023-04-26 16:17:33 -04:00
Aayush Rajasekaran 7903224ae5 Merge pull request #10680 from filecoin-project/steb/blockstore-has-check
feat: badger: add a has check before writing to reduce duplicates
2023-04-26 16:17:16 -04: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
Aayush Rajasekaran 88ff21a211 Merge pull request #10759 from filecoin-project/steb/reduce-log-spam
fix: sync: reduce log from error to info
2023-04-26 15:47:55 -04:00
Aayush Rajasekaran 2af8b6e30e Merge pull request #10762 from filecoin-project/asr/add-reminder
shed: migrations: add reminder about continuity testing tool
2023-04-26 10:35:04 -04:00
Aayush 33ca0f1f79 shed: migrations: add reminder about continuity testing tool 2023-04-26 09:50:16 -04: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 7162c656cc fix: chain: record heaviest tipset before notifying (#10694)
Clearly this hasn't caused any issues, but I'm pretty sure we should be
updating the current head _before_ notifying about it.
2023-04-25 11:56:26 -07:00
Łukasz Magiera aeee542fb9 Merge pull request #10696 from filecoin-project/fix/nil-terminate-wait
fix: sealing pipeline: Allow nil message in TerminateWait
2023-04-25 19:28:52 +02:00
Łukasz Magiera 7e34b49b5d Merge pull request #10661 from filecoin-project/fix/cleanup-temp-failed-fetch
fix: storage: Remove temp fetching files after failed fetch
2023-04-25 19:28:33 +02:00
Łukasz Magiera 1e04ccb342 Merge pull request #10636 from filecoin-project/feat/snapimport-resume
feat: daemon: Auto-resume interrupted snapshot imports
2023-04-25 18:38:43 +02:00
Łukasz Magiera 24945a906a httpreader: Make linter happy 2023-04-25 11:29:16 +02:00
Łukasz Magiera a7d29c9564 httpreader: also resume on UnexpectedEOF 2023-04-25 09:31:20 +02:00
Łukasz Magiera 71f184f5cb feat: daemon: Auto-resume interrupted snapshot imports 2023-04-25 09:31:19 +02:00
Aayush Rajasekaran 28d0274f46 Merge pull request #10746 from filecoin-project/asr/refactor-shed-market
feat: shed: refactor market cron-state command
2023-04-24 11:24:33 -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 fd7a0e1922 feat: shed: refactor market cron-state command 2023-04-24 11:02:43 -04:00
ZenGround0 3a6c385b50 Merge pull request #10742 from filecoin-project/asr/merge-release-into-master
chore: merge releases into master
2023-04-23 18:26:31 -04:00
zenground0 c5f2e99e79 go mod tidy 2023-04-23 15:51:34 -06:00
zenground0 c8e78f7911 Fix lint after merge 2023-04-23 15:43:53 -06:00
Aayush 5a061e4677 Merge branch 'releases' into asr/merge-release-into-master 2023-04-23 14:58:50 -04:00
Aayush Rajasekaran d1d4b35adf Merge pull request #10727 from filecoin-project/asr/release-1230
feat: release 1.23.0
2023-04-23 14:40:18 -04:00
Aayush 5e6e011fe2 fix: FEVM_tests: update recursive limits 2023-04-23 14:21:26 -04:00
zenground0 f3969cdc25 Update splitstore test helpers usage of create miner 2023-04-23 12:14:52 -06:00
Aayush 4ff1d1dc8d feat: itests should run on latest network version 2023-04-23 13:59:14 -04:00
Aayush df80c4cde2 Merge branch 'releases' into asr/release-1230 2023-04-23 12:10:41 -04:00
Aayush Rajasekaran 06946a8fce Merge pull request #10739 from filecoin-project/release/v1.22.1
feat: release 1.22.1
2023-04-23 11:57:20 -04:00
Aayush Rajasekaran 23fccc6cb6 Merge pull request #10737 from filecoin-project/asr/release-1221
feat: release 1.22.1
2023-04-23 11:55:24 -04:00
Aayush Rajasekaran 4a4ae9db66 Merge pull request #10738 from filecoin-project/jen/changelog1
chore: update changelog
2023-04-23 10:57:52 -04:00
jennijuju 7a4624bbd9 update changelog 2023-04-23 22:51:47 +08:00
Aayush 821836d939 feat: release 1.22.1 2023-04-23 10:44:29 -04:00
Aayush Rajasekaran d4239d66ce Merge pull request #10736 from filecoin-project/asr/-fix-1221
feat: Update FFI, test disputing nv20 window posts fails
2023-04-23 10:44:06 -04:00
Aayush dc0ce8f11a Update FFI to 1.22.1 2023-04-23 10:42:01 -04:00
Aayush 4430a138b6 feat: test disputing nv20 window posts fails 2023-04-23 10:41:57 -04: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
Hector Sanjuan 875c09840b chainstore: Fix raw blocks getting scanned for links during snapshots (#10684)
We have to save raw blocks to the snapshot, but we should not be scanning them
for additional links as if they were CBOR blocks.

This cleans the logic a bit (we were checking that the parent was a CBOR block
before queueing up the children, but then scanning the children... it was weird).

Additionally, more verbose logging is added for the next time ScanForLinks
fails (currently very little info was given).

Our ScanForLinks callback should only enqueue CBOR for further processing.
2023-04-21 15:16:26 -07:00
Aayush Rajasekaran 5794b22eb6 Merge pull request #10729 from filecoin-project/asr/update-ffi
chore: deps: update to FFI v1.23.0
2023-04-21 17:15:46 -04:00
Aayush 8dec6a1672 fix: test: Simulate call on parents's parents 2023-04-21 16:55:55 -04:00
Aayush 4d2765e5ba chore: deps: update to FFI v1.23.0 2023-04-21 16:42:31 -04:00
Shrenuj Bansal d39fbb277f Set default for MaxSectorProveCommitsSubmittedPerEpoch 2023-04-21 16:35:31 -04:00
Aayush Rajasekaran b06cba18f4 Merge pull request #10726 from filecoin-project/asr/prep-1230
feat: set version to 1.23.0
2023-04-21 16:21:42 -04:00
Friðrik Ásmundsson 9d5d6a5f3d Merge pull request #10700 from filecoin-project/10538-opt-ethgettransactioncount
perf: Address performance of EthGetTransactionCount
2023-04-21 20:13:56 +00:00
Fridrik Asmundsson 4028c05fea address review comment 2023-04-21 20:03:13 +00:00
Phi b7484121fc Reduce LOTUS_FMV_CONCURRENCY
Reduce LOTUS_FMV_CONCURRENCY
2023-04-21 22:02:33 +02:00
Phi 19d8f79a3d Small v1.23.0 changelog changes
Small v1.23.0 changelog changes
2023-04-21 21:58:47 +02:00
Aayush abbb74ca35 feat: set version to 1.23.0 2023-04-21 15:46:17 -04:00
Aayush Rajasekaran 73566254bd Merge pull request #10725 from filecoin-project/asr/merge-releases-into-23
chore: merge releases into release/v1.23.0
2023-04-21 15:36:58 -04:00
Aayush 2f48759457 Merge branch 'releases' into release/v1.23.0 2023-04-21 15:12:23 -04:00
Aayush Rajasekaran 0d8659e76f Merge pull request #10724 from filecoin-project/asr/update-cids-releases
fix: docs: correct v11 actor code IDs in changelog
2023-04-21 14:37:27 -04:00
Aayush Rajasekaran ac78c39c30 Merge branch 'releases' into asr/update-cids-releases 2023-04-21 14:37:18 -04:00
Aayush Rajasekaran 5d4c237e01 Merge pull request #10723 from filecoin-project/chore/fix-changelog-cids
actor cids in changelog
2023-04-21 14:31:12 -04:00
zenground0 12d5d3465b Moar fix 2023-04-21 12:29:36 -06:00
zenground0 711ef3b208 actor cids in changelog 2023-04-21 12:24:10 -06:00
Aayush Rajasekaran 8be0b10d9d Merge pull request #10722 from filecoin-project/asr/finalize-22
feat: release 1.22.0
2023-04-21 14:17:50 -04:00
Aayush Rajasekaran 9dbc42fc54 Merge pull request #10721 from filecoin-project/chore/attempt-finalize-release
build: release: v1.22.0 prep
2023-04-21 13:53:15 -04:00
Phi e409ac8421 Fix typo
Fix typo
2023-04-21 19:42:07 +02:00
Phi c2e37859b5 Update changelog.md
Update changelog.md
2023-04-21 19:40:01 +02:00
zenground0 776f98d9f5 Update release version 2023-04-21 11:10:05 -06:00
zenground0 d45ee8dc54 Test that we reverted activation bug fix 2023-04-21 10:58:27 -06:00
Aayush Rajasekaran 885153fcfa Merge pull request #10720 from filecoin-project/asr/update-gst
chore: deps: update to go-state-types v0.11.1
2023-04-21 12:46:19 -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
Aayush d8ca0bff38 chore: deps: update to go-state-types v0.11.1 2023-04-21 12:11:23 -04:00
Aayush Rajasekaran 01dabf09db chore: deps: update to actors v11.0.0 (#10718) 2023-04-21 12:08:31 -04:00
Łukasz Magiera afc64ebc5e Merge pull request #10715 from siriusyim/fix/window-post-prooftype
update: builtin to builtin11 in wdpost worker
2023-04-21 17:30:52 +02:00
Aayush Rajasekaran a48a1e31e9 Merge pull request #10716 from filecoin-project/asr/backport-post-worker
fix: PoSt worker: use go-state-types for proof policies
2023-04-21 10:12:02 -04:00
Aayush bb381c201c fix: PoSt worker: use go-state-types for proof policies 2023-04-21 09:51:25 -04:00
Fridrik Asmundsson 553da395e4 perf: Increase noncecache in MessagePool
Bumped from 256 to 32k entries which should be about 6MB of cached
entries given average nonceCacheKey of 200 bytes
2023-04-21 11:56:05 +00:00
Fridrik Asmundsson 953d56e216 perf: Address performance of EthGetTransactionCount
We have observed that EthGetTransactionCount is one of the hotspots
on Glif production notes, and we are seeing regular 10-20 second
latencies when calling this rpc method.

I tracked the high latency spikes and they were correlated when
we were running ExecuteTipSet while following the chain.

To address this, we should not rely on tipset computation to get
nounce and instead look at the parent tipset and then count the
messages sent from the 'addr'.
2023-04-21 11:55:46 +00:00
Łukasz Magiera a503a0edaa Merge pull request #10690 from filecoin-project/fix/remove-pointless-panic
fix: remove pointless panic
2023-04-21 13:47:12 +02:00
sirius 07416e8c0c update: builtin to builtin11 in wdpost worker 2023-04-21 12:19:06 +08: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
Steven Allen 54d8ddf3c1 fix: tvx: fvm vm.Flush 2023-04-20 13:50:16 -07:00
Steven Allen 7b6f6843a7 fix: tvx: correctly lookup actor codes in extract-many 2023-04-20 13:27:44 -07:00
Łukasz Magiera e16fc110d9 Merge pull request #10709 from filecoin-project/jen/bumpmasteragain
chore: build: bump matser version to v1.23.1-dev
2023-04-20 19:28:36 +02:00
Jiaying Wang f269c0fb5d Merge pull request #10707 from filecoin-project/asr/lightning-upgrade
feat: build: set Lightning and Thunder upgrade epochs
2023-04-21 00:30:15 +08:00
jennijuju 00a025449b bump matser version to v1.23.1-dev 2023-04-21 00:17:15 +08:00
Shrenuj Bansal d1f3380850 change comment 2023-04-20 12:15:51 -04:00
Aayush 46f1f913c8 feat: build: set Lightning and Thunder upgrade epochs 2023-04-20 10:57:35 -04: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
Phi-rjan cb22349506 Merge pull request #10639 from filecoin-project/fix/fail-unseal-removed-sector
fix: unseal: check if sealed/update sector exists
2023-04-20 09:03:42 +02:00
ZenGround0andzenground0 28395af03a chore:build:correct version (#10704)
* gen

* changelog

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-04-19 20:03:14 -04:00
Steven Allen d2906e2dc7 Revert "feat: vm: switch to the new exec trace format (#10372)" (#10703)
This reverts commit f6add2f723.
2023-04-19 19:25:30 -04:00
Shrenuj Bansal 0c83781a7f Add tests for PCB/PCA batch splitting 2023-04-19 18:44:32 -04:00
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
ZenGround0andzenground0 752b961483 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>
2023-04-19 14:00:10 -04:00
ZenGround0andzenground0 ff2258ff7a 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>
2023-04-19 10:45:22 -04:00
Łukasz Magiera 4bdb6b34b3 fix: sealing pipeline: Allow nil message in TerminateWait 2023-04-19 15:43:50 +02:00
Steven Allen 141c020b4e fix: remove pointless panic
Technically, the block validator caught this panic. But it's pointless
because we have a _real_ mechanism to return the validation reason,
which we should have been using.

In general, panicing like this is a very bad idea because it's
non-obvious and, in this case, completely undocumented.
2023-04-18 15:44:56 -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
Steven Allen e945c0d6f2 fix: check for nil bcastDict (#10646)
Also hold the lock when checking the length of the blocks in the
bcastDict.
2023-04-17 20:17:10 -07:00
Steven Allen 0cff56a16d feat: badger: add a has check before writing to reduce duplicates 2023-04-17 10:57:41 -07:00
Shrenuj Bansal 0befed7200 Add API and CLI to unseal sector (#10626) 2023-04-17 12:12:15 -04:00
jennijuju 4de06dcd32 bundle fix 2023-04-14 12:59:15 +08:00
Jiaying Wang fc313a1e7d Merge pull request #10667 from filecoin-project/jen/rcprep
build: v1.22.0-rc3
2023-04-14 12:51:17 +08:00
jennijuju 6e231e720a v1.22.0-rc3 2023-04-14 12:35:29 +08:00
Steven Allen 3f74840b67 test: events: fix race when recording tipsets (#10665)
fixes #10664
2023-04-13 17:20:34 -07:00
ZenGround0andzenground0 ff9e706c65 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>
2023-04-13 17:21:24 -04:00
Shrenuj Bansal 79826447f5 fix unit and integration test breaks 2023-04-12 21:45:43 -04:00
Łukasz Magiera 7a4f69721c fix: storage: Remove temp fetching files after failed fetch 2023-04-12 17:00:10 -07:00
ZenGround0andzenground0 766bdedd29 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>
2023-04-12 16:33:06 -04:00
Aayush Rajasekaran 981a3485eb Merge pull request #10657 from filecoin-project/chore/polish-v1.22-release
chore:release:update butterfly artifacts and set calibration upgrade heights
2023-04-12 10:24:02 -04:00
zenground0 4443ac662f Fix state tree version assert 2023-04-12 08:22:34 -06:00
vyzo a7379e2cce Merge pull request #10648 from filecoin-project/vyzo/fix/mpool-prune-select
fix:mpool: prune excess messages before selection
2023-04-12 10:51:15 +03:00
Shrenuj Bansal 4eb4af639a Split PCA msg into smaller batches 2023-04-12 00:30:19 -04:00
zenground0 24da8bdb34 Review Response 2023-04-11 18:29:33 -06:00
zenground0 44979541be Set calibration net upgrade height 2023-04-11 18:12:44 -06:00
zenground0 65b23b867c Butterfly artifacts 2023-04-11 18:00:48 -06:00
ZenGround0andzenground0 58ccfca831 Actually schedule migration (#10656)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-04-11 16:15:42 -04:00
Aayush Rajasekaran 30dd65b338 Merge pull request #10645 from filecoin-project/chore/integrate-gst-v11
chore:deps:integrate gst v11
2023-04-11 12:24:49 -04:00
zenground0 d91540ae1f Fix copy paste error 2023-04-11 09:14:18 -06:00
zenground0 8f4824d2b7 Another ffi experiment 2023-04-11 09:10:21 -06:00
Aayush ae84f335cc feat: pubsub: treat ErrGasFeeCapTooLow as ignore, not reject 2023-04-11 10:26:43 -04:00
vyzo dd6720c61b message data 2023-04-11 16:19:59 +03:00
vyzo e358b3b358 add real world timing test for selection 2023-04-11 16:19:50 +03:00
vyzo b4e2e871dc prune excess messages before selection 2023-04-11 13:12:05 +03:00
zenground0 e75c2e4208 Make butterfly upgrades happen 2023-04-10 23:32:03 -06:00
zenground0 bb5f69328d Fix 2023-04-10 23:18:23 -06:00
zenground0 db374db306 Debug 2023-04-10 23:14:25 -06:00
zenground0 c00e0c9f48 Try fixig blockstore so bundle is loaded 2023-04-10 23:01:36 -06:00
zenground0 63560c820b nv19 invariant checking 2023-04-10 23:01:18 -06:00
zenground0 1b8d627af8 gen 2023-04-10 22:40:06 -06:00
zenground0 9d0f586ae7 Fix 2023-04-10 22:25:25 -06:00
zenground0 86c5453254 Post rebase fixup 2023-04-10 22:18:56 -06:00
zenground0 4d7e6732fa Integration nv19 migration
- Open splitstore in migration shed tool
- Update state root version
2023-04-10 22:18:41 -06:00
zenground0 7e99c62f6e ffi experiment 2023-04-10 18:24:08 -06:00
zenground0 65fa75fd01 - Update go state types
- Keep current expiration defaults on creation, extension some tests
- Update ffi
2023-04-10 16:26:14 -06:00
Shrenuj Bansal 6f91dc7c5b populate result error on exit conditions 2023-04-10 16:24:13 -04:00
Shrenuj Bansal 8893c62a42 make gen 2023-04-10 15:39:42 -04:00
Shrenuj Bansal 1e25d7b453 Split precommit batches if gas used exceeds block limit 2023-04-10 14:52:39 -04:00
Aayush Rajasekaran 258a3c8270 Merge pull request #10642 from filecoin-project/feat/update-actors-v11
chore:deps:Integrate actors v11
2023-04-10 12:39:17 -04:00
Aayush 597ca9b073 Update to actors v11.0.0-rc1 2023-04-10 12:19:55 -04:00
Phi-rjan c6968f8d61 Merge pull request #10643 from filecoin-project/phi/v1210rc3
build: release: v1.21.0-rc3
2023-04-10 18:02:30 +02:00
Aayush Rajasekaran 76705b5762 Merge pull request #10629 from filecoin-project/feat/grindability
feat: implement FIP-0061
2023-04-10 12:01:30 -04:00
Phi 8096f7135b build: release: v1.21.0-rc3
build: release: v1.21.0-rc3
2023-04-10 17:44:21 +02:00
ZenGround0 5e890165e2 Merge pull request #10641 from filecoin-project/phi/backport-splitstore-oos
Backport #10392 into v1.21.0
2023-04-10 11:28:42 -04:00
Steven Allen 34f46d736f fix: revert chain sync mutex to a regular lock
Conditions always call "unlock" so we can't safely use the condition
with both the read and write side of lock. So we might as well revert
back to a regular lock.

fixes #10616
2023-04-10 17:16:20 +02:00
zenground0 d77ac5ddcb Stop swallowing errors 2023-04-10 17:16:13 +02:00
zenground0 0ce9ae4809 Implement yield friendly online GC 2023-04-10 17:16:01 +02:00
zenground0 fd66db680f check yield before GC 2023-04-10 17:15:52 +02:00
zenground0 b5da33c013 signal chain in and out of sync to compaction workers 2023-04-10 17:15:42 +02:00
Aayush 22045b8f2d Update to go-state-types master 2023-04-10 11:15:20 -04:00
ZenGround0andzenground0 da6b565dc1 Update config default value (#10605)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-04-10 10:13:22 -04:00
Phi 9fd69377df fix: unseal: check if sealed sector exists
Check if sealed or update sector exists when `SectorsUnsealPiece` is called.
2023-04-10 09:53:19 +02: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
Aayush 82a3578849 Update actors bundles to fip/20230406 2023-04-06 16:44:20 -04:00
Aayush 74567a16d1 Add and test the FIP-0061 migration 2023-04-06 14:59:47 -04:00
Aayush 0356163a2e Address review 2023-04-06 14:39:57 -04:00
Aayush 6d45c37dc5 feat: implement FIP-0061 2023-04-06 11:48:48 -04:00
Aayush 7710a57fa3 fix: include extra messages in ComputeState InvocResult output 2023-04-05 15:25:57 -04:00
Aayush Rajasekaran 2dd67dc895 Merge pull request #10625 from filecoin-project/asr/backport-trace
chore: backport 10372 onto release/v1.22.0
2023-04-05 14:20:19 -04:00
Phi-rjan 95e1c4909c Merge pull request #10627 from filecoin-project/phi/v1210
build: release: v1.21.0 prep
2023-04-05 20:00:15 +02:00
Phi e426d05bc8 fix typos
fix typos
2023-04-05 19:09:31 +02:00
Steven Allen f6add2f723 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.).
2023-04-05 13:05:35 -04:00
Phi b6b3802bb7 build: release: v1.21.0 prep
build: release: v1.21.0 prep
2023-04-05 18:55:18 +02:00
Aayush Rajasekaran 9d44c88cbb Merge pull request #10613 from filecoin-project/asr/fix-testground
fix: build: add CBDeliveryDelay to testground
2023-04-05 12:04:51 -04:00
Aayush Rajasekaran f1f0d90897 Merge pull request #10621 from filecoin-project/feat/limit-moving-gc-threads
feat:splitstore:limit moving gc threads
2023-04-05 11:23:55 -04:00
Phi-rjanandzenground0 b240031605 Limit moving gc threads (#10623)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-04-05 11:21:32 -04:00
Phi-rjan 33039d2cec Merge pull request #10620 from filecoin-project/phi/backport-splitstore-config
Backport #10605 to v1.21.0
2023-04-04 22:36:55 +02:00
zenground0 c281d053d2 Limit moving gc threads 2023-04-04 14:07:36 -06:00
zenground0 0314db7894 Update config default value 2023-04-04 20:35:28 +02:00
Jiaying Wang 522388820a Merge pull request #10552 from filecoin-project/asr/optimize-blockmsgsfortipset
feat: chainstore: optimize BlockMsgsForTipset
2023-04-04 13:53:23 -04:00
Aayush Rajasekaran d2b7d0071d Merge pull request #10619 from filecoin-project/fix/10617
fix: make state compute --html work with unknown methods
2023-04-04 10:01:14 -04:00
Łukasz Magiera 07dcc08ecb fix: make state compute --html work with unknown methods 2023-04-04 14:39:01 +02:00
Łukasz Magiera 43941876f4 Merge pull request #10611 from filecoin-project/fix/check-sector-exists
fix: cli: Check if the sectorID exists before removing
2023-04-04 09:55:36 +02:00
Aayush 0afd51510b fix: build: add CBDeliveryDelay to testground 2023-04-03 14:18:02 -04:00
Phi d211b5eb69 fix: cli: Check if the sector exists
Check if the sector exists before running `SectorRemove`, and error out if the SectorID has not bee created.
2023-04-03 14:04:45 +02:00
Łukasz Magiera 740a7ca142 Merge pull request #10610 from gundamzl/patch-1
Fixed incorrect words that could not be compiled
2023-04-03 13:15:34 +02:00
Zeng Li 8a2a18f43f Fixed incorrect words that could not be compiled
Milisecond is incorrect,resulting in failure to compile.
2023-04-02 19:01:45 +08:00
Shrenuj BansalandŁukasz Magiera 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
Jiaying Wang 3b0d4f2e45 Merge pull request #10489 from filecoin-project/jen/tvl2
shed: get balances of evm accounts
2023-03-31 15:35:21 -04:00
Jennifer Wang b82726f57f make lint happy 2023-03-31 15:16:24 -04:00
Jennifer Wang 28fdc3abb8 docsgen 2023-03-31 15:13:13 -04:00
Jennifer Wang 4a1eccd447 add unique 2023-03-31 15:05:03 -04:00
Jennifer Wang 77883aa72b add accounts 2023-03-31 15:05:00 -04:00
Jennifer Wang 07c9367467 wording 2023-03-31 15:04:27 -04:00
zenground0 1a5e8603c7 Fix dumb mistake 2023-03-31 15:04:27 -04:00
zenground0 3b0d8fdd29 P0 fix 2023-03-31 15:04:27 -04:00
Jennifer Wang ec90ccf72e point to the hot store 2023-03-31 15:04:27 -04:00
Jennifer Wang 661d8608bc evm account balances
Please enter the commit message for your changes. Lines starting
2023-03-31 15:04:24 -04:00
Aayush Rajasekaran ef5c6c4c48 Merge pull request #10607 from filecoin-project/phi/backport-update-gst
Backport #10606 to v1.21.0
2023-03-31 10:01:54 -04:00
Aayush Rajasekaran 5f51d652b1 Merge pull request #10606 from filecoin-project/asr/verifreg-state
chore: deps: update to go-state-types v0.11.0-alpha-3
2023-03-31 10:01:35 -04:00
Łukasz Magiera 8dc90267d7 Merge pull request #10599 from filecoin-project/fix/netconnect-maddr
fix: cli: Make `net connect` to miner address work
2023-03-31 10:07:07 +02:00
Aayush 8a7ae61dae chore: deps: update to go-state-types v0.11.0-alpha-3 2023-03-31 09:17:11 +02:00
Aayush c7a6bc2fce chore: deps: update to go-state-types v0.11.0-alpha-3 2023-03-30 16:32:32 -04:00
vyzo bf666a3f7e Merge pull request #10551 from filecoin-project/vyzo/feat/exec-lanes
feat: VM Execution Lanes
2023-03-30 22:19:11 +03:00
Łukasz Magiera 3af5ef1167 Merge pull request #10588 from filecoin-project/fix/file-does-not-exsist-logs
fix: log: Stop logging `file does not exists`
2023-03-30 20:24:59 +02:00
Aayush Rajasekaran 139bde3771 Merge pull request #10561 from filecoin-project/mikers/messagepoolRWMutexes
perf: message pool: change locks to RWMutexes for performance
2023-03-30 12:47:44 -04:00
vyzo d71b528253 reorg initialization code for better readability, remove unused import 2023-03-30 18:15:13 +03:00
vyzo 7b4e68249a add comment about Signal unsoundness 2023-03-30 18:13:08 +03:00
vyzo 54a80a8a97 revert dead code 2023-03-30 18:11:44 +03:00
Aayush Rajasekaran 13f73623a8 Merge pull request #10544 from filecoin-project/asr/fix-extend-sectors
fix: miner: correctly count sector extensions
2023-03-30 10:10:42 -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
adlrochaandAayush Rajasekaran 682ddf6ffa Update chain/sub/bcast/consistent.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-30 12:38:00 +02:00
Łukasz Magiera edae783cf4 fix: cli: Make net connect to miner address work 2023-03-30 09:50:06 +02:00
Aayush Rajasekaran 7dcef330e7 Merge pull request #10592 from filecoin-project/feat/nv19
Feat/nv19
2023-03-29 16:34:30 -04:00
Aayush 3636af4cd9 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
2023-03-29 16:13:41 -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
Jiaying Wang 2db6b12b78 Merge pull request #10596 from filecoin-project/asr/deprecated
refactor: stop using deprecated io/ioutil
2023-03-29 15:58:38 -04:00
Aayush 66fc6dc3e5 refactor: stop using deprecated io/ioutil 2023-03-29 15:40:49 -04:00
Aayush a724a713da refactor: stop using deprecated io/ioutil 2023-03-29 15:38:46 -04:00
Phi d5a3ddbf7e Add longer validation time cause to changelog
Add longer validation time cause to changelog
2023-03-29 20:39:29 +02:00
Aayush Rajasekaran b40ab4bd44 Merge pull request #10595 from filecoin-project/asr/backport
Backport  #10546, #10553
2023-03-29 14:31:43 -04:00
Phi 7a95ed063d Bump version in changelog
Bump version in changelog
2023-03-29 20:31:05 +02:00
Phi 199a1d9e75 Update Changelog with backports
Update Changelog with backports
2023-03-29 20:30:01 +02:00
Aayush 3120852eb9 feat: supply: only grab genesis msig locks for writes 2023-03-29 14:26:15 -04:00
Aayush 24381411f2 feat: supply: drop genesis market locked funds 2023-03-29 14:26:08 -04:00
06294351fa perf: eth: gas estimate set applyTsMessages false (#10546)
* have gas estimate call callInternal with applyTsMessages = false and other calls with applyTsMessages=true for gas caclulation optimization

* set applyTsMessages = true in CallWithGas call in shed

* update test with new callwithgas api optimization for eth call

* Update chain/stmgr/call.go

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

* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change

* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change

* make sure that even if we arent apply ts messages we grab ts messages from the particular user who is requesting gas estimation

---------

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-0-4-29.us-east-2.compute.internal>
2023-03-29 14:25:40 -04:00
Phi d3d5f92985 Update changelog for v1.21.0-rc2
Update changelog for v1.21.0-rc2
2023-03-29 20:11:50 +02:00
Phi ca1247e0d9 Update go.mod
Update go.mod
2023-03-29 19:50:14 +02:00
Phi a647390bef build: release: v1.21.0-rc2
build: release: v1.21.0-rc2
2023-03-29 19:38:47 +02:00
vyzo bc7dafc3ba Merge pull request #10590 from filecoin-project/vyzo/feat/exec-lanes-2
VM Execution Lanes Part II: Hide the lock
2023-03-29 19:50:37 +03:00
Friðrik Ásmundsson 36913db0cd Merge pull request #10587 from filecoin-project/10583-enable-index-for-statewaitformessage
feat: Use MessageIndex in WaitForMessage
2023-03-29 18:38:39 +02:00
Friðrik Ásmundsson 5250ef85a2 Merge pull request #10586 from filecoin-project/fix-bug-in-searchForIndexedMsg
fix: searchForIndexedMsg always returns an error
2023-03-29 18:35:17 +02:00
MikersandAayush Rajasekaran 41ea5a6f63 Update chain/messagepool/messagepool.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-29 05:44:25 -10:00
Alfonso de la Rocha 103d786c72 return CBDeliveryDelay into a var 2023-03-29 17:43:10 +02:00
Phi-rjan db869853c4 Merge pull request #10591 from filecoin-project/phi/backport-go-update
build: docker: Update GO-version
2023-03-29 17:31:46 +02:00
Fridrik Asmundsson 2c98a187dd Use defaultExecTraceCacheSize in case env cannot be parsed 2023-03-29 17:30:00 +02:00
Phi 9d5e789d88 build: docker: Update GO-version
build: docker: Update GO-version
2023-03-29 17:12:43 +02:00
Aayush Rajasekaran 49cff8a519 Merge pull request #10581 from filecoin-project/fix/docker-go-version
build: docker: Update GO-version
2023-03-29 11:05:19 -04:00
vyzo 52d70d563a fix tests 2023-03-29 16:46:37 +03:00
vyzo 4184ce9c75 refactor execution lanes: hide the lock 2023-03-29 16:45:45 +03:00
Phi a99946937c fix: log: Stop logging file does not exists
Stop logging `file does not exists` errors when retrieving disk usage information.
2023-03-29 15:32:32 +02:00
Fridrik Asmundsson f44fa5d96f Use MessageIndex in WaitForMessage 2023-03-29 13:35:27 +02:00
Fridrik Asmundsson 8aa4917741 Fix bug in searchForIndexedMsg which always returns an error 2023-03-29 13:18:26 +02:00
Fridrik Asmundsson 17505a0022 Make execution trace configurable via env variable
We want to make the execution trace cache size configurable as SPs
may want to disable it while exchanges may want to crank it up.

We were also are going with intuition for this value, so having
ability to change it without a new build would help.

Fixes: https://github.com/filecoin-project/lotus/issues/10584
2023-03-29 11:53:43 +02:00
Mike Seiler 3477f7ce57 use LRU cache for keyCache to make threadsafe, also have (high) upper bounds on size of cache 2023-03-28 13:14:33 -10:00
Mike Seiler 89b217ee21 move write lock to before verifyMsg 2023-03-28 12:35:09 -10:00
Łukasz Magiera 841b7b8730 Merge pull request #10572 from filecoin-project/fix/itests-no-mineblk-terr
fix: itests: Don't call t.Error in MineBlocks goroutine
2023-03-28 23:57:04 +02:00
Mike Seiler 2fa95a09be clean up cache logic in addTs / fix a bug where the loop was incorrectly releasing the lock 2x 2023-03-28 11:14:13 -10:00
Aayush Rajasekaran 4b2e74a6df Merge pull request #10535 from hsanjuan/filcryo-v1.20.0-branch
Fix: export-range: Ignore ipld Blocks not found in Receipts.
2023-03-28 16:01:11 -04:00
Phi 4b4e7f81a4 build: docker: Update GO-version
build: docker: Update GO-version
2023-03-28 21:33:44 +02:00
Alfonso de la Rocha f24fc836b3 add CB param to all testnet builds 2023-03-28 18:22:28 +02:00
Aayush Rajasekaran 687f0c070f Merge pull request #10556 from filecoin-project/10537-populate-index-after-snapshot
feat: populate the index on snapshot import
2023-03-28 11:41:43 -04:00
Fridrik Asmundsson ecd13079e7 Address review comments 2023-03-28 17:08:53 +02:00
vyzo 71650cd8a4 rename newVM to makeVM for a happy yushie 2023-03-28 18:05:00 +03:00
vyzo b27121612e rename confusing variable 2023-03-28 18:03:55 +03:00
Friðrik Ásmundsson b4d644e768 Merge pull request #10517 from filecoin-project/10504-cache-execution-traces
feat: Add small cache to execution traces
2023-03-28 14:59:33 +00:00
vyzoandAayush Rajasekaran b2b78e9dfa Update chain/vm/execution.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-28 17:56:35 +03:00
Alfonso de la Rocha b7c297c537 Merge branch 'master' into adlrocha/consistent-bcast 2023-03-28 16:55:06 +02:00
Alfonso de la Rocha 1a771e4310 include a deeper gc round 2023-03-28 16:52:32 +02:00
Fridrik Asmundsson 83e2408f81 Only populate message index if config EnableMsgIndex is set 2023-03-28 16:28:47 +02:00
vyzo dcd9869842 make gen 2023-03-28 16:58:09 +03:00
Aayush Rajasekaran 0b018e56cd Merge pull request #10555 from filecoin-project/asr/fix-extend-sectors-backport
backport: fix: miner: correctly count sector extensions
2023-03-28 09:40:42 -04:00
Hector Sanjuan 39b27e709e export-range: use debug log instead of warn for not found receipt events 2023-03-28 15:05:43 +02:00
Fridrik Asmundsson 2e45f6f778 Dont do locking using defer 2023-03-28 12:36:57 +02:00
Fridrik Asmundsson f84f8a831a Use TipSetKey as key in cache and return copies 2023-03-28 12:36:57 +02:00
Fridrik Asmundsson 1ea7e05cde feat: Add small cache to execution traces
This PR adds a small cache to calls to ExecutionTrace which helps
 improve performance for node operators like exchanges and block
explorers.

If items is in cache calls to this function will be 2-3x faster.

Fixes: https://github.com/filecoin-project/lotus/issues/10504
2023-03-28 12:36:52 +02:00
Mikers 831f8a499d repub needs Lock not RLock 2023-03-28 08:40:41 +00:00
Alfonso de la Rocha df82a8240e add comments 2023-03-28 10:33:26 +02:00
Mikers e9d2223025 disallow infinite loop, since in testing this only runs once 2023-03-28 08:11:23 +00:00
Mikers ad81cd18c2 cache the tipset nonce calculation before holding the write lock, and also verify that the the calculation is cached after grabbing the write lock. if it is not cached, give up the lock, calculate, and then grab the write lock again 2023-03-28 08:11:00 +00:00
Alfonso de la Rocha 92f6d3e468 global locking strategy for blockInfo map 2023-03-28 10:01:43 +02:00
Łukasz Magiera 5aa6dd100c Merge pull request #10550 from filecoin-project/asr/api-comment
docs: api: clarify MpoolClear params
2023-03-28 09:50:46 +02:00
Phi-rjan 7eae362c1e Merge pull request #10563 from Jorropo/release/v1.21.0
chore: all: bump go-libipfs
2023-03-28 08:42:46 +02:00
vyzo 6ecaf826af no, Sum it is. 2023-03-27 23:17:41 +03:00
vyzo a0f908da57 use Count instead of LastValue 2023-03-27 23:11:56 +03:00
vyzo ddebdfb37c add execution metrics to the chain node views 2023-03-27 20:56:07 +03:00
Phi-rjan af428b6298 Merge pull request #10574 from filecoin-project/phi/backport-slice-fix
fix: proving: Initialize slice with with same length as partition
2023-03-27 16:28:02 +02:00
Phi 8bb7272bb1 Initialize with same length as partition
Initialize the postParam.Partitions slice with the same length as i.Partitions before iterating over it in the loop.
2023-03-27 15:54:59 +02:00
Łukasz Magiera 6012e65319 debug batch deal test a bit more 2023-03-27 15:34:59 +02:00
Łukasz Magiera aebe3d4cf7 fix: itests: Don't call t.Error in MineBlocks goroutine 2023-03-27 13:23:29 +02:00
Łukasz Magiera 2120fae2b6 Merge pull request #10569 from filecoin-project/fix/panic-index-oor
fix: proving: Initialize slice with with same length as partition
2023-03-27 13:03:42 +02:00
Phi 0711fdc3dd Initialize with same length as partition
Initialize the postParam.Partitions slice with the same length as i.Partitions before iterating over it in the loop.
2023-03-27 10:04:15 +02:00
Fridrik Asmundsson 90171c8bab Addressing lint errors 2023-03-25 11:17:54 +00:00
Jorropo 0e73c69035 chore: all: bump go-libipfs
(cherry picked from commit f48c6268f8)
2023-03-25 10:15:21 +01:00
Mike Seiler 6f440a6420 change highly contented message pool locks to RWMutexes for performance 2023-03-24 15:49:02 -10:00
Arsenii Petrovich 11827034b9 add to gw MpoolPending, ChainGetBlock and MinerGetBaseInfo 2023-03-24 20:39:15 +02:00
Fridrik Asmundsson b8137f6b4d Delete existing message index when loading from snapshot 2023-03-24 16:45:33 +00:00
Fridrik Asmundsson 48c57d394b Improve performance when populating message indax 2023-03-24 15:36:31 +00:00
vyzo 08134552a4 address review comments 2023-03-24 15:48:58 +02:00
vyzo 4b590e2102 add vm execution metrics 2023-03-24 15:16:22 +02:00
Fridrik Asmundsson 59640a8b22 Populate the index on snapshot import
Fixes: https://github.com/filecoin-project/lotus/issues/10537
2023-03-24 11:41:27 +00:00
41fce94db4 perf: eth: gas estimate set applyTsMessages false (#10546)
* have gas estimate call callInternal with applyTsMessages = false and other calls with applyTsMessages=true for gas caclulation optimization

* set applyTsMessages = true in CallWithGas call in shed

* update test with new callwithgas api optimization for eth call

* Update chain/stmgr/call.go

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

* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change

* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change

* make sure that even if we arent apply ts messages we grab ts messages from the particular user who is requesting gas estimation

---------

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-0-4-29.us-east-2.compute.internal>
2023-03-23 18:27:01 -04:00
Aayush Rajasekaran 4efc29aa64 Merge pull request #10513 from filecoin-project/feat/shed-chainwatch
feat: shed: incoming block-sub chainwatch tool
2023-03-23 17:50:41 -04:00
Aayush Rajasekaran 2cd3a052e3 Merge pull request #10553 from filecoin-project/asr/drop-genesis-marketfund
feat: stmgr: speed up calculation of genesis circ supply
2023-03-23 17:34:17 -04:00
Aayush 7b55de21bd fix: miner: call ExtendSectorExpiration2 2023-03-23 17:32:55 -04:00
Aayush a467e1ab31 fix: miner: correctly count sector extensions 2023-03-23 17:32:51 -04:00
Aayush 3070227b00 fix: miner: call ExtendSectorExpiration2 2023-03-23 17:28:16 -04:00
Aayush 2d9412d97f fix: miner: correctly count sector extensions 2023-03-23 17:28:16 -04:00
Aayush bc87017ea5 feat: supply: only grab genesis msig locks for writes 2023-03-23 17:04:59 -04:00
Aayush dcdd1bc214 feat: supply: drop genesis market locked funds 2023-03-23 15:56:59 -04:00
vyzo f11a7f8940 fix incorrect deferred vm release 2023-03-23 19:51:23 +02:00
vyzo 317a87d669 add some sanity checks for execution concurrency parameters 2023-03-23 18:52:37 +02:00
Aayush b1669235f7 feat: chainstore: optimize BlockMsgsForTipset 2023-03-23 11:57:43 -04:00
vyzo 2a0660447a make token.Done idempotent 2023-03-23 17:38:36 +02:00
vyzo 2bb89d9c30 call Executor.Done where appropriate in stmgr uses 2023-03-23 17:34:59 +02:00
vyzo ee6c0f8570 only call Atoi on non empty strings 2023-03-23 17:28:08 +02:00
vyzo 7362556c02 update VM interface references to use the executor, and call Done where appropriate 2023-03-23 17:17:46 +02:00
Aayush 8bb5d985d4 docs: api: clarify MpoolClear params 2023-03-23 10:57:08 -04:00
vyzo 6550abdfcc introduce execution lanes 2023-03-23 16:53:50 +02:00
Łukasz Magiera ce17546a76 Merge pull request #10549 from filecoin-project/asr/gas-paych-special
fix: gas estimation: don't special case paych collects
2023-03-23 15:15:05 +01:00
Aayush 57d4c98d00 fix: gas estimation: don't special case paych collects 2023-03-23 09:50:28 -04:00
Łukasz Magiera 1022ac5e2b Merge pull request #10271 from iand/iand/fix-tracer-pid
fix: tracer: emit raw peer ids for compatibility with libp2p tracer
2023-03-23 12:41:31 +01:00
Łukasz Magiera b484d72c80 Merge pull request #10323 from mtelka/info-noadmin
fix: state: lotus-miner info should show deals info without admin permission
2023-03-23 12:39:28 +01:00
Łukasz Magiera e2ff9027f9 shed chainwatch: Appease the linter 2023-03-23 12:33:00 +01:00
Łukasz Magiera dbd7ac5315 Merge branch 'feat/new-gw-methods' 2023-03-23 11:26:58 +01:00
Łukasz Magiera 4ebc408a5a Merge remote-tracking branch 'origin/master' into feat/new-gw-methods 2023-03-23 11:26:25 +01:00
Łukasz Magiera 1152bb2e7b Merge pull request #10531 from Jorropo/bump-go-libipfs
chore: bump go-libipfs
2023-03-23 10:28:06 +01:00
Phi-rjan 3f8a41cfe8 Merge pull request #10524 from filecoin-project/jen/v121
chore: build: v1.21.0-rc1
2023-03-22 17:13:12 +01:00
vyzo 8abe0ea608 Merge pull request #10452 from filecoin-project/vyzo/feat/chain/msgindex
feat:chain: Message Index
2023-03-22 17:02:34 +02:00
Phi a8580e234d Add callout to exchanges
Add callout to exchanges about the execution traces. Also moving the `execution trace format changes` section to above the contributors section.
2023-03-22 15:07:21 +01:00
raulk 0f8a4b7789 fix: Eth RPC: do not occlude block param errors. 2023-03-22 11:37:35 +00:00
Jorropo f48c6268f8 chore: all: bump go-libipfs 2023-03-22 03:26:34 +01:00
Hector Sanjuan 6942020253 Ignore blockstore.Get errors when the top-level-task is Receipts 2023-03-21 21:25:50 +01:00
Phi 938d2d9f5b Add RPC API highlight
Add RPC API highlight
2023-03-21 19:55:06 +01:00
Phi c8af33f163 chore: build: Update Changelog for v1.21.0
chore: build: Update Changelog for v1.21.0
2023-03-21 14:33:36 +01:00
Jennifer Wang 57133a8f66 release v1.21.0-rc1 prep 2023-03-21 01:10:32 -04:00
Alfonso de la Rocha fa7e1ef78e set CB delay to 2 secs 2023-03-20 18:10:34 +01:00
ZenGround0andzenground0 43da108466 feat:config:force existing users to opt into new defaults (#10488)
* Config default does not comment out EnableSplitstore

* Loadability check

* Remove test used for debugging

* regexp for properly safe check that config is set

* regexp for safely matching the EnableSpitstore field in the config

* Add instructions for undeleting config and remind users to set splitstore false for full archive

* UpdateConfig small docs and functional opts

* make gen

* Lint

* Fix

* nil pointer check on validate

* Unit testing of EnableSplitstore cases

* Address Review

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-03-20 12:19:14 -04:00
ZenGround0andzenground0 2b3a86eefb Demote now common logs (#10516)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-03-20 10:54:30 -04:00
Łukasz Magiera 02db37bf37 feat: shed: incoming block-sub chainwatch tool 2023-03-20 10:37:48 +01:00
Aayush Rajasekaran 5f91072d4d Merge pull request #10508 from filecoin-project/asr/v1.20.4
chore: merge release/v1.20.4 into releases
2023-03-17 15:20:35 -04:00
Aayush Rajasekaran 5f24a814d2 Merge pull request #10507 from filecoin-project/asr/changelog
chore: release lotus v1.20.4
2023-03-17 14:45:38 -04:00
Aayush RajasekaranandJiaying Wang 3c4aa92413 Apply suggestions from code review
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
2023-03-17 14:36:43 -04:00
Aayush Rajasekaran d374b1ceea chore: release lotus v1.20.4 2023-03-17 14:28:05 -04:00
Aayush Rajasekaran 33648ac546 Merge pull request #10506 from filecoin-project/asr/backport-drand
fix: build: drop drand incentinet servers
2023-03-17 14:27:12 -04:00
Aayush 177212f06b fix: build: drop drand incentinet servers 2023-03-17 14:19:47 -04:00
Aayush Rajasekaran 7bcfb6d1f4 Merge pull request #10505 from filecoin-project/asr/backport-splitstore
Don't enforce walking receipt tree during compaction
2023-03-17 14:00:04 -04:00
zenground0 b06341031d Don't enforce walking receipt tree during compaction 2023-03-17 13:35:55 -04:00
Aayush Rajasekaran 7b41cdb656 Merge pull request #10503 from filecoin-project/asr/bump-ffi
chore: update ffi to increase execution parallelism
2023-03-17 13:29:58 -04:00
Aayush Rajasekaran 2a3dcf6cbd Merge pull request #10502 from filecoin-project/fix/splitstore-handles-dangling-event-ptr
fix:splitstore:Don't enforce walking receipt tree during compaction
2023-03-17 13:29:48 -04:00
Aayush Rajasekaran f4a2e1cb77 chore: update ffi to increase execution parallelism 2023-03-17 13:10:01 -04:00
zenground0 252387768d Don't enforce walking receipt tree during compaction 2023-03-17 09:29:18 -06:00
Łukasz Magiera eed1a098c6 Merge pull request #10495 from filecoin-project/steb/fix-div-by-zero
fix: eth: handle a potential divide by zero in receipt handling
2023-03-17 11:32:27 +01:00
Alfonso de la Rocha 90c2f9dbe2 minor fix 2023-03-16 17:17:59 +01:00
Alfonso de la Rocha 8d260d7478 address review 2023-03-16 17:03:25 +01:00
Steven Allen 2207ab3c93 fix: eth: handle a potential divide by zero in receipt handling
This isn't really possible to hit on-chain at this piont (message won't
be accepted) but we might as well be extra careful.

fixes #10471
2023-03-16 08:53:52 -07:00
vyzo 883bbf8701 add sanity check in SearchForIndexedMsg call site
Check that receipt is non nil, and the message was indeed found.
2023-03-16 17:51:28 +02:00
vyzo 3710768910 add TODO for WaitForMessage to use the index 2023-03-16 17:45:16 +02:00
vyzo ef2f2b0f89 reword funny comment 2023-03-16 17:43:56 +02:00
vyzo 9c087cc52c second error variable name to avoid confusing they yushie. 2023-03-16 17:42:09 +02:00
vyzo 1e7f5c6a1e shut down the index if there is an error during head processing 2023-03-16 17:41:06 +02:00
vyzo ff22a46253 complain if head change processing is building backlog 2023-03-16 17:38:46 +02:00
vyzo 90c4763e00 fix typos 2023-03-16 17:33:12 +02:00
vyzo 8bceaadda8 chain errors in searchForIndexedMsg 2023-03-16 17:32:06 +02:00
vyzo 91fccc421a add ON CONFLICT REPLACE clause in messages 2023-03-16 17:25:20 +02:00
vyzo 1676d51484 shed: expand homedir in repo path for msgindex tools 2023-03-16 17:17:26 +02:00
adlrochaandAayush Rajasekaran f59c246c7a Update chain/sub/bcast/consistent.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-16 16:09:45 +01:00
Hector Sanjuan 4b8442d8b9 Chain export: record epoch for every task. 2023-03-16 15:31:58 +01:00
Aayush Rajasekaran 97a3b6e06d Merge pull request #10490 from filecoin-project/jen/m
chore: releases to master
2023-03-16 09:59:32 -04:00
Hector Sanjuan a3900caeb0 Improve logging by carrying some more information in tasks 2023-03-16 13:38:40 +01:00
Łukasz Magiera 093ff95580 Merge pull request #10467 from filecoin-project/steb/gw-eth-lookback-limit
feat: apply gateway lookback limit to eth API lookback
2023-03-16 08:50:59 +01:00
Łukasz Magiera c0aed3c4a2 Merge pull request #10474 from filecoin-project/raulk/fix-pending-support
fix: revert "Eth API: drop support for 'pending' block parameter."
2023-03-16 08:49:49 +01:00
Jennifer Wang d56980823b Merge branch 'releases' into jen/m 2023-03-15 21:23:08 -04:00
Steven Allen 17274e72da feat: expose limited apis on the gateway 2023-03-15 16:12:18 -07:00
Steven Allen 3776ee3b62 fix: actually apply limit 2023-03-15 16:11:13 -07:00
Steven Allen fee480193e feat: apply gateway lookback limit to eth API lookback
This change:

1. Introduces new "limited" API endpoints for EthGetTransactionByHash
   and EthGetTransactionReceipt that accept lookback-limits.
2. Implements the gateway version of these API endpoints by calling the
   limited variants with the default message search lookback limit.

fixes #10412
2023-03-15 16:11:11 -07:00
Łukasz Magiera 4c80e179ae Merge pull request #10485 from filecoin-project/fix/ethsub-hang
fix: ethrpc: Don't lock up when eth subscriber goes away
2023-03-15 20:37:33 +01:00
Łukasz Magiera 720e95991c make lint happy 2023-03-15 18:52:11 +01:00
Łukasz Magiera 470dd8da3d ethrpc: Buffer sub messages if subscriber is slow 2023-03-15 18:34:10 +01:00
Łukasz Magiera a44f598cc2 update go-jsonrpc to v0.2.3 2023-03-15 17:19:32 +01:00
Aayush Rajasekaran 7036e76e17 Merge pull request #10476 from filecoin-project/asr/drop-incentinet-servers
fix: build: drop drand incentinet servers
2023-03-15 11:09:45 -04:00
Łukasz Magiera 8121f379a3 Merge pull request #10483 from filecoin-project/deps/update-pubsub
deps: update go-libp2p-pubsub to v0.9.3
2023-03-15 14:01:42 +01:00
vyzo 7e21486103 update go-libp2p-pubsub to v0.9.3 2023-03-15 13:57:20 +02:00
Łukasz Magiera b8589e8c51 Merge pull request #10382 from filecoin-project/feat/go-data-transfer-v2
Update to go-data-transfer v2 and libp2p, still wip
2023-03-15 12:45:01 +01:00
Łukasz Magiera 311645b559 make mod-tidy ci happy 2023-03-15 12:13:57 +01:00
Łukasz Magiera 7e414ac390 Merge remote-tracking branch 'origin/master' into feat/go-data-transfer-v2 2023-03-15 11:37:53 +01:00
Łukasz Magiera 486904bc92 Merge pull request #10464 from filecoin-project/steb/fee-history-gw-lookback-max
fix: gateway: correctly apply the fee history lookback max
2023-03-15 10:52:24 +01:00
Łukasz Magiera a7c9a83091 Merge pull request #10465 from ribasushi/flush_bs
chore: blockstore: Plumb through a proper Flush() method on all blockstores
2023-03-15 10:16:01 +01:00
Łukasz Magiera 81238b19ab Merge pull request #10477 from filecoin-project/asr/export-state-verifier
feat: gateway: export StateVerifierStatus
2023-03-15 10:13:42 +01:00
Marten Seemann 58306a87f1 chore: update go-libp2p to v0.26.2 2023-03-15 18:35:18 +13:00
Marten Seemann 21b74deab4 fix connection gater integration test 2023-03-15 18:35:17 +13:00
Steven Allen 6ef415744c chore: update ffi to increase execution parallelism (#10480)
This changes the default validation parallelism from 1 to 4, and makes
it configurable with a LOTUS_FVM_CONCURRENCY environment variable.
2023-03-14 19:53:39 -07:00
Marten Seemann 92dd629f42 chore: update go-libp2p-pubsub to v0.9.2 2023-03-15 15:12:22 +13:00
Aayush adfa766e1b feat: gateway: export StateVerifierStatus 2023-03-14 13:39:05 -04:00
Aayush 991895c0f2 fix: build: drop drand incentinet servers 2023-03-14 11:09:43 -04:00
Łukasz Magiera 162e07fc95 Merge pull request #10470 from filecoin-project/feat/applyblock-timing-log
feat: consensus: log ApplyBlock timing/gas stats
2023-03-14 15:25:31 +01:00
raulk e8325f9a98 Revert "Eth API: drop support for 'pending' block parameter."
This reverts commit 9412753ba3.
2023-03-14 13:46:01 +00:00
Łukasz Magiera 27e3c0b89f fix: stmgr: don't attempt to lookup genesis state (#10472)
* fix: stmgr: don't attempt to lookup genesis state

* stmgr: More correct fix for genesis state compute
2023-03-14 06:45:23 -07:00
Łukasz Magiera 51c6b64c91 feat: consensus: log ApplyBlock timing/gas stats 2023-03-14 13:58:36 +01:00
Peter Rabbitson 6afa99d0a1 Plumb through a proper Flush() method on all blockstores 2023-03-14 02:30:15 +01:00
Steven Allen 3556a4b07b fix: gateway: correctly apply the fee history lookback max
This fix ensures that the full fee-history range falls into the
allowable lookback rang.
2023-03-13 16:45:26 -07:00
Steven Allen dcb49dc8ee refactor: update cache to the new generic version (#10463)
- Adds type safety.
- Reduces allocations.
- Fixes the drand cache (was storing by value, but retrieving by pointer)
2023-03-13 15:29:09 -07:00
Aayush Rajasekaran 97a9921cdd Merge pull request #10461 from filecoin-project/steb/deflake-fail-after-finish
fix: itest: avoid failing the test when we race the miner
2023-03-13 15:13:08 -04:00
Aayush Rajasekaran 748e535cc6 Merge pull request #10444 from filecoin-project/chore/update-ffi
chore: update the FFI for release (#10435)
2023-03-13 15:04:18 -04:00
Steven Allenandraulk 73a2b4152b feat: eth: Avoid StateCompute in EthTxnReceipt lookup (#10460)
Instead:

1. Use the receipt from the message search.
2. Re-compute the gas fees that would have been charged.

fixes #10418

Co-authored-by: raulk <raul.kripalani@gmail.com>
2023-03-13 11:44:59 -07:00
Aayush Rajasekaran afa36d3f62 Merge pull request #10451 from filecoin-project/asr/fix-msig-vested
gateway: fix: drop overzealous guard on MsigGetVested
2023-03-13 14:33:50 -04:00
Steven Allen b852f5e2fd fix: itest: avoid failing the test when we race the miner
I've been seeing quite a few tests failing here, so I'm hoping this will
deflake them a bit.
2023-03-13 11:16:26 -07:00
vyzo 5ade40cbac increase coalesce delays for test to deflake on CI 2023-03-13 17:27:12 +02:00
vyzo 6deec4c5f4 lint 2023-03-13 17:26:20 +02:00
vyzo 06f93861bc make gen 2023-03-13 17:00:16 +02:00
vyzo cafa1eaba4 fix test for CI
test files are run individually...
2023-03-13 16:56:51 +02:00
vyzo 27dc4951eb lotus-shed tools for msgindex 2023-03-13 16:51:21 +02:00
vyzo 47646cbd69 add optimization TODO comment 2023-03-13 15:19:07 +02:00
vyzo 5113c72b3a make gen 2023-03-13 15:09:11 +02:00
vyzo 1970792445 fix bug in searchForIndexedMsg
Need to use and return the execution tipset
2023-03-13 14:56:00 +02:00
vyzo 4b1a405002 basic msgindex itest 2023-03-13 14:55:26 +02:00
raulk 75c279ab97 Merge pull request #10456 from filecoin-project/raulk/fix-eth-net_version 2023-03-13 11:25:19 +00:00
vyzo 05cb2428c1 add confidence check for indexed message epoch 2023-03-13 12:33:19 +02:00
vyzo 0bf6a333b9 more gen 2023-03-13 12:24:35 +02:00
vyzo 5e011d536b enhance comment about lookup cid semantics 2023-03-13 12:14:30 +02:00
vyzo 0a5618d406 make gen 2023-03-13 12:10:36 +02:00
vyzo db8b593c9b make MsgIndex configurable, disabled by default. 2023-03-13 12:01:04 +02:00
vyzo 3c945e9e3c no need to return error from DummyMsgIndex DI constructor 2023-03-13 12:00:48 +02:00
vyzo a11032b10a adjust coalescer delays 2023-03-13 11:44:10 +02:00
vyzo bda7ef52da log rollback errors 2023-03-13 11:41:46 +02:00
vyzo b90cfff0aa wire in lifecycle context 2023-03-13 10:42:48 +02:00
vyzo 5461548b7e fix comment typo 2023-03-13 05:57:26 +02:00
vyzo 4a20c9b60f cosmetics 2023-03-13 05:54:32 +02:00
vyzo e7448b1bb5 fix tests 2023-03-13 05:51:33 +02:00
vyzo df6dfdf8a9 refactor database
- drop the execution index; we don't need it
- it is inclusion tipset
- use MessagesForTipset
- hoist db sql stuffs on top for clarity
- add index for tipset on messages
2023-03-13 05:51:24 +02:00
raulk 34d7135717 Merge pull request #10409 from filecoin-project/asr/fix-eth-api-gateway
fix: eth API: correct gateway restrictions, drop unimplemented methods
2023-03-12 16:31:42 +00:00
Raúl Kripalani 2e56237898 Merge branch 'master' into asr/fix-eth-api-gateway 2023-03-12 15:56:55 +00:00
Raúl Kripalani e65a5988e1 Eth API: make eth_getTransactionByBlock* ops return ErrUnsupported. 2023-03-12 15:53:56 +00:00
raulk aea195aeb4 Merge pull request #10446 from filecoin-project/steb/optimize-eth-block
feat: eth: optimize eth block loading + eth_feeHistory
2023-03-12 15:46:03 +00:00
vyzo 88d7a4e610 more lint 2023-03-12 16:13:05 +02:00
vyzo 3b765a30d3 dummy index for itests 2023-03-12 16:02:51 +02:00
vyzo 1415391988 lint
lint

lint
2023-03-12 15:50:10 +02:00
vyzo 0077fa2a98 make gen 2023-03-12 15:30:05 +02:00
vyzo 171734ea31 hook the index into the rest of lotus 2023-03-12 15:25:07 +02:00
vyzo 0d274df977 use the transaction Luke! 2023-03-12 13:35:50 +02:00
vyzo d9ca214309 test test test 2023-03-12 13:21:03 +02:00
Raúl Kripalani 571a84b390 drop irrelevant test. 2023-03-12 00:45:02 +00:00
Raúl Kripalani 5a4b5ff97e remove superfluous filter. 2023-03-12 00:44:49 +00:00
Raúl Kripalani 4763104b99 fix imports. 2023-03-12 00:42:56 +00:00
Raúl Kripalani 7ce92f1422 Eth API: make net_version return the chain ID. 2023-03-11 23:26:26 +00:00
Raúl Kripalani 9412753ba3 Eth API: drop support for 'pending' block parameter.
After transitioning from using StateCompute to loading receipts,
we can no longer handle the 'pending' block without forcing
computation. Eth Core Devs are evaluating a proposal to remove
support on their end too.
2023-03-11 23:03:21 +00:00
vyzo bf9ae23c98 implement Close 2023-03-11 22:09:31 +02:00
vyzo b5dd4e31ac implement reconciliation 2023-03-11 21:26:11 +02:00
Raúl Kripalani f7a979d825 eth_feeHistory: migrate to using TipSetState. 2023-03-11 17:25:00 +00:00
vyzo d97c6b2f69 more implementation 2023-03-11 19:11:08 +02:00
vyzo 7fcf228bc4 better logger name 2023-03-11 18:23:05 +02:00
Raúl Kripalani d1c6ab7dc6 Merge branch 'master' into steb/optimize-eth-block 2023-03-11 16:21:19 +00:00
vyzo 3649ae373b implementation details 2023-03-11 18:21:16 +02:00
raulk d7a2fdb5ba Merge pull request #10445 from filecoin-project/steb/skip-tipset-execution 2023-03-11 16:19:08 +00:00
vyzo 9144f9cea7 abstract ChainStore interface 2023-03-11 17:56:23 +02:00
vyzo eab728c4e7 we don't need the block 2023-03-11 17:25:57 +02:00
vyzo cc83a7cd35 use tipset cid instead of key for posterity. 2023-03-11 17:12:28 +02:00
vyzo a0e95ebe97 scaffolding 2023-03-11 16:50:29 +02:00
Aayush 82e2c3538c gateway: fix: drop overzealous guard on MsigGetVested 2023-03-11 09:35:51 -05:00
Ales Dumikau 6e9a1f44ed Add new methods to gw 2023-03-11 10:27:42 +03:00
Steven Allen 59bebf8a35 test: eth: reduce chances of chain-reorgs affecting the test
Now that this API is _much_ faster, we're more likely to "catch up" to
the head faster than it can stabilize. I'm pretty sure the test was
intended to be written this way anyways.
2023-03-10 16:29:43 -08:00
Steven Allen eba270d1e2 feat: api: optimize ChainGetParentReceipts
Read the receipts all at once instead of fetching them one-by-one.
2023-03-10 16:01:34 -08:00
Steven Allen 1cf57ffe2d feat: eth: optimize receipt reading
This optimizes the eth APIs (except the fee history one) to lookup the
tipset state/receipts instead of computing the state.
2023-03-10 15:33:45 -08:00
Steven Allen 92bca485b6 feat: stmgr: skip tipset execution when possible 2023-03-10 13:21:17 -08:00
Steven Allen d2c1962e34 chore: update the FFI for release (#10435)
Specifically, this updates the proofs libraries and enables CUDA by default.
2023-03-10 12:13:59 -08:00
Aayush Rajasekaran 9d994dac9e Merge pull request #10440 from filecoin-project/steb/reject-masked-id
feat: eth API: reject masked ID addresses embedded in f410f payloads
2023-03-10 14:34:15 -05:00
Aayush Rajasekaran 816ca59d6d Merge pull request #10443 from filecoin-project/steb/evm-bytecode-cmd
feat: cli: Add an EVM command to fetch a contract's bytecode
2023-03-10 14:34:01 -05:00
Steven Allen f7603f6c13 feat: eth API: reject masked ID addresses embedded in f410f payloads
We'll never get an actor/account deployed to one of these
addresses (although we might get a placeholder). However, converting
such an address to an f4 address is definitely wrong.
2023-03-10 10:57:39 -08:00
Steven Allen 7a2eb86dd5 feat: cli: Add an EVM command to fetch a contract's bytecode 2023-03-10 10:52:13 -08:00
Alfonso de la Rocha c11ffa58a8 address review 2023-03-10 09:27:30 +01:00
Ales Dumikau 8a3f91e655 Merge branch 'master' of github.com:protofire/lotus 2023-03-10 10:14:18 +03:00
Jiaying Wang b332db0a38 Merge pull request #10439 from filecoin-project/jen/v1203
fix: cherrypick/conflict wrongfully resolved
2023-03-09 22:58:36 -05:00
Jennifer Wang e3b3b0ca6c make gen 2023-03-09 22:11:11 -05:00
Jennifer Wang c8b4f5f0a3 go mod tidy 2023-03-09 22:03:27 -05:00
Jennifer Wang 8c6ffcf4d4 retract v1.20.2 2023-03-09 21:10:30 -05:00
Jennifer Wang 80cba5f176 fiix bakcport error #10427 2023-03-09 21:09:04 -05:00
Jiaying Wang 99749e9b9b Merge pull request #10437 from filecoin-project/release/v1.20.2
release: v1.20.2
2023-03-09 20:58:50 -05:00
Jiaying Wang a1f912c71d Merge pull request #10436 from filecoin-project/jen/v1202
chore: build: v1.20.2 prep
2023-03-09 19:54:08 -05:00
Jennifer Wang 4def0a53e0 change log 2023-03-09 19:39:07 -05:00
Jennifer Wang 51d0d5e549 make gen 2023-03-09 19:24:18 -05:00
Steven Allen b7db4cb280 feat: mempool: Reduce minimum replace fee from 1.25x to 1.1x (#10416)
However, we're leaving the default at 1.25x for backwards compatibility, for now.

Also:

1. Actually use the configured replace fee ratio.
2. Store said ratios as percentages instead of floats. 1.25, or 1+1/(2^2),
can be represented as a float. 1.1, or 1 + 1/(2 * 5), cannot.

fixes #10415
2023-03-09 19:20:01 -05:00
Aayush Rajasekaran 36ffa09b05 fix: eth API: return correct txIdx around null blocks (#10419) 2023-03-09 19:17:41 -05:00
ychiao 0e58b3fbbc fix: EthAPI: use StateCompute for feeHistory; apply minimum gas premium (#10413) 2023-03-09 19:16:52 -05:00
Raúl Kripalani 1da2d59066 simplify test. 2023-03-09 19:14:01 -05:00
Raúl Kripalani a72879b2b2 switch to ChainAPI#ChainGetTipSetByHeight. 2023-03-09 19:13:58 -05:00
Raúl Kripalani 2909a31e8f fix TestEthBlockHashesCorrect_MultiBlockTipset: skip null rounds. 2023-03-09 19:13:54 -05:00
Raúl Kripalani 558eaf8b61 fix lint. 2023-03-09 19:13:49 -05:00
Raúl Kripalani 6a7895bf49 fmt. 2023-03-09 19:13:38 -05:00
Raúl Kripalani e73ec088d5 add a test to verify block parameter soundness. 2023-03-09 19:13:34 -05:00
Raúl Kripalani a0821506bc Eth API: fail when requesting future epochs. 2023-03-09 19:13:29 -05:00
Raúl Kripalani 5df2af5189 Eth API: make block parameter parsing sounder. 2023-03-09 19:13:24 -05:00
Arsenii Petrovich 649b0769ba run make gen 2023-03-09 19:13:16 -05:00
Arsenii Petrovich fb569d4c2c add two more methods: StateCall and StateDecodeParams 2023-03-09 19:11:32 -05:00
Arsenii Petrovich 3aac4b45ab add MPoolGetNonce 2023-03-09 19:11:28 -05:00
Arsenii Petrovich 857b0205a8 add method implementation 2023-03-09 19:11:25 -05:00
Arsenii Petrovich b5c88d5714 try to add statenetworkname method 2023-03-09 19:11:20 -05:00
Steven Allen 58900a7033 feat: mempool: Reduce minimum replace fee from 1.25x to 1.1x (#10416)
However, we're leaving the default at 1.25x for backwards compatibility, for now.

Also:

1. Actually use the configured replace fee ratio.
2. Store said ratios as percentages instead of floats. 1.25, or 1+1/(2^2),
can be represented as a float. 1.1, or 1 + 1/(2 * 5), cannot.

fixes #10415
2023-03-09 13:17:17 -08:00
Aayush Rajasekaran b75ebcac81 Merge pull request #10423 from filecoin-project/asr/fast-index
feat: chain: make chain tipset fetching 1000x faster
2023-03-09 15:38:55 -05:00
Aayush 90c89288b6 feat: chain: make fetching tipset by height 1000x faster 2023-03-09 15:12:13 -05:00
Travis Person f641139bf2 Merge pull request #10282 from filecoin-project/feat/cache-migrated-stateroot
feat: stmgr: cache migrated stateroots
2023-03-09 11:47:43 -08:00
Jiaying Wang 1096ead73e Merge pull request #10427 from filecoin-project/raulk/fix-eth-parseBlkParam
fix: Eth API: make block parameter parsing sounder.
2023-03-09 14:21:24 -05:00
Raúl Kripalani 3d21d71231 simplify test. 2023-03-09 19:05:31 +00:00
Travis Person b4e589a0f7 review comments 2023-03-09 18:54:29 +00:00
Raúl Kripalani fce0813821 switch to ChainAPI#ChainGetTipSetByHeight. 2023-03-09 18:51:38 +00:00
Aayush Rajasekaran 9fa81673da Merge pull request #10411 from filecoin-project/asr/simplity-new-eth-tx-rct
refactor: EthAPI: Drop unnecessary param from newEthTxReceipt
2023-03-09 12:44:44 -05:00
Raúl Kripalani 13d6211ed0 fix TestEthBlockHashesCorrect_MultiBlockTipset: skip null rounds. 2023-03-09 17:14:23 +00:00
Łukasz Magiera faedc12531 Merge pull request #10391 from filecoin-project/feat/record-hotstore-space
feat:splitstore:Configure max space used by hotstore and GC makes best effort to respect
2023-03-09 17:41:36 +01:00
Łukasz Magiera 366ebe3155 make gen 2023-03-09 17:18:04 +01:00
zenground0 87d5a3723f lint 2023-03-09 08:57:14 -07:00
zenground0 bd0c010be6 Configur buffer and threshold 2023-03-09 08:40:14 -07:00
Raúl Kripalani d38bdcebfd fix lint. 2023-03-09 14:59:56 +00:00
zenground0 aac30cd840 Review Response 2023-03-09 07:57:35 -07:00
ZenGround0andzenground0 c80783dbea feat:splitstore:Splitstore enabled by default (#10429)
Discard mode
---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-03-09 08:37:34 -05:00
zenground0 fb7eb08624 lint 2023-03-09 06:36:35 -07:00
Raúl Kripalani 941ef84b71 Merge branch 'master' into raulk/fix-eth-parseBlkParam 2023-03-09 12:16:23 +00:00
Raúl Kripalani fd3ddc860e fmt. 2023-03-09 12:15:35 +00:00
Aayush Rajasekaran ab91ab100f fix: eth API: return correct txIdx around null blocks (#10419) 2023-03-09 12:14:57 +00:00
dumikau c099317bb3 Merge pull request #1 from filecoin-project/master
Fastforward main branch
2023-03-09 14:46:03 +03:00
Łukasz Magiera 3e85591c6c Merge pull request #10390 from beck-8/chore/compute-wdpost-human-readable
chore: make debugging windowPoSt-failures human readable
2023-03-09 11:08:40 +01:00
zenground0 140f2099bd lint 2023-03-08 22:49:30 -07:00
Marten Seemann 4f060b87bb only register metrics once 2023-03-09 16:44:37 +13:00
zenground0 14af4b27cd docsgen-cli 2023-03-08 18:41:31 -07:00
zenground0 0b0913f2f3 lint 2023-03-08 18:40:23 -07:00
zenground0 7931414735 Lint 2023-03-08 18:20:27 -07:00
zenground0 efbb63582e Review Response 2023-03-08 18:11:39 -07:00
zenground0 ee9ff563d2 computing szPurge leads to deadlock and unneeded, remove 2023-03-08 17:51:59 -07:00
zenground0 e5553554d1 cid key size 2023-03-08 17:30:42 -07:00
Łukasz Magiera 80ccd14447 Merge pull request #10356 from filecoin-project/feat/assigner-experiments
feat: sched: Assigner experiments
2023-03-09 01:28:31 +01:00
ychiao 0a0df61d77 fix: EthAPI: use StateCompute for feeHistory; apply minimum gas premium (#10413) 2023-03-09 00:28:17 +00:00
Łukasz Magiera f9c8cb044e Merge pull request #10422 from ArseniiPetrovich/patch-1
docs: API Gateway: patch documentation note about make gen command
2023-03-09 01:25:18 +01:00
Arsenii Petrovich 4427986ac1 replace make all with make deps according to review 2023-03-09 02:10:22 +02:00
Marten Seemann 0f5f91c094 register rcmgr metrics 2023-03-09 11:52:53 +13:00
Łukasz Magiera 1aac945bf6 Merge pull request #10420 from protofire/add_missing_methods_master
fix: Lotus Gateway: Add missing methods - master
2023-03-08 22:59:28 +01:00
Raúl Kripalani b6dc0d2002 add a test to verify block parameter soundness. 2023-03-08 21:15:07 +00:00
Raúl Kripalani 28d8b4cd65 Eth API: fail when requesting future epochs. 2023-03-08 20:49:36 +00:00
Raúl Kripalani cef416e2b0 Eth API: make block parameter parsing sounder. 2023-03-08 20:38:09 +00:00
Łukasz Magiera 52ae215104 Merge pull request #10363 from filecoin-project/fix/fsm-shutdown-removed-sectors
fix: fsm: shutdown removed sectors FSMs
2023-03-08 19:32:47 +01:00
Łukasz Magiera dcfbf7d0a6 fix TestPrintGroupInfo 2023-03-08 18:13:58 +01:00
Arsenii Petrovich a450e74954 small doc patch on how to make gen after api changes 2023-03-08 18:55:51 +02:00
Arsenii Petrovich 0ccef4e5c0 run make gen 2023-03-08 18:53:19 +02:00
zenground0 efbc0ff12e Fix up approximation and logging 2023-03-08 09:43:37 -07:00
Łukasz Magiera d114d8fe7e deprecate MarketListRetrievalDeals, make gen 2023-03-08 17:15:16 +01:00
zenground0 e17ec37d10 fix logging 2023-03-08 09:13:00 -07:00
Arsenii Petrovich fb5c24b2b5 add two more methods: StateCall and StateDecodeParams 2023-03-08 17:49:12 +02:00
Arsenii Petrovich 17ca3a1ac9 add MPoolGetNonce 2023-03-08 17:44:28 +02:00
Arsenii Petrovich b8aaec6c37 add method implementation 2023-03-08 17:44:04 +02:00
Arsenii Petrovich b67e6db527 try to add statenetworkname method 2023-03-08 17:43:48 +02:00
Łukasz Magiera 2c6d025ab3 un-un-update filecoin-ffi 2023-03-08 15:47:09 +01:00
Łukasz Magiera 9038e83639 Merge pull request #10406 from filecoin-project/fix/rpcenc-falky-test
fix: rpcenc: deflake TestReaderRedirectDrop
2023-03-08 10:29:38 +01:00
Jiaying Wang a0a1d371a2 Update service_developer_bug_report.yml 2023-03-08 00:12:18 -05:00
Jiaying Wang 925a385200 Update service_developer_bug_report.yml 2023-03-08 00:10:41 -05:00
Jiaying Wang 2a857275dd Merge pull request #10321 from filecoin-project/chore/service-dev-issue-template
chore: github: Service-provider/dev bug template
2023-03-08 00:08:06 -05:00
Jiaying Wang e5055c25b0 Update service_developer_bug_report.yml 2023-03-08 00:07:48 -05:00
Jiaying Wang a896d88b51 Update .github/ISSUE_TEMPLATE/service_developer_bug_report.yml 2023-03-08 00:06:41 -05:00
Jiaying Wang 04a0fddb95 Update .github/ISSUE_TEMPLATE/service_developer_bug_report.yml 2023-03-08 00:06:36 -05:00
Jiaying Wang 113d49ae5b Merge pull request #10291 from filecoin-project/chore/update-feature-enhancements
chore: github: update enhancement and feature templates
2023-03-08 00:02:39 -05:00
Jiaying Wang decfb32b2b Merge pull request #10289 from filecoin-project/chore/update-bug-template
chore: github: Update bug_report template
2023-03-08 00:02:19 -05:00
Jiaying Wang 52197cc912 Merge pull request #10268 from filecoin-project/add-discussion-fip-links
fix: github: Discussion and FIP links in `New Issue`
2023-03-08 00:00:49 -05:00
Marten Seemann 5b5ea083ce fix drand test 2023-03-08 17:50:58 +13:00
Marten Seemann db6efe6512 use go-libipfs/files instead of ipfs/go-ipfs-files 2023-03-08 17:50:56 +13:00
Marten Seemann b77f2f09ab update minimum Go version to 1.19.7 2023-03-08 14:29:08 +13:00
hannahhoward 7bc6185077 chore(deps): update to get to compile 2023-03-07 11:45:30 -08:00
hannahhoward c3198d7446 chore(deps): update go-libipfs 2023-03-07 11:44:32 -08:00
hannahhoward 16dad6342c feat(deps): update to go-data-transfer v2, still wip 2023-03-07 11:44:29 -08:00
Aayush f1b1eb8b36 refactor: EthAPI: Drop unnecessary param from newEthTxReceipt 2023-03-07 13:40:39 -05:00
Aayush 8b5bc45fcf fix: eth API: correct gateway restrictions, drop unimplemented methods 2023-03-07 12:53:04 -05:00
Łukasz Magiera ec5fde466a rpcenc: Propagate closeOnce in beginPost 2023-03-07 16:50:03 +01:00
Łukasz Magiera f2a652f29f rpcenc: More reliably failing TestReaderRedirectDrop 2023-03-07 16:48:09 +01:00
zenground0 bf29d41993 lint 2023-03-07 08:21:15 -07:00
zenground0 a994153e27 GC respects target for max hotstore space 2023-03-07 07:39:17 -07:00
zenground0 0fe91846cd Plan out moving GC limiting 2023-03-07 07:39:17 -07:00
zenground0 5d9739a863 Track size of dags relevant to compaction 2023-03-07 07:39:17 -07:00
zenground0 dd998d6b24 Begin account for size during walks 2023-03-07 07:39:17 -07:00
Łukasz Magiera 64b9b532c0 Merge pull request #10387 from filecoin-project/feat/lotus-badger-gc
feat:splitstore:Badger GC of hotstore command
2023-03-07 08:52:15 +01:00
Jiaying Wang 8a510e68e0 Merge pull request #10398 from filecoin-project/release/v1.20.1
build:release: v1.20.1
2023-03-06 22:15:12 -05:00
Jiaying Wang 144906ff51 Merge pull request #10396 from filecoin-project/jen/1201
build: v1.20.1 prep
2023-03-06 16:40:55 -05:00
Aayush 202cd41eee update changelog 2023-03-06 16:02:23 -05:00
Aayush 54e7fa8f70 fix: state: short-circuit genesis state computation 2023-03-06 16:01:21 -05:00
Aayush Rajasekaran b88ecb7896 Merge pull request #10397 from filecoin-project/asr/fix-genesis-state-compute
fix: state: short-circuit genesis state computation
2023-03-06 15:57:28 -05:00
Aayush Rajasekaran 6ecf9aaf49 Merge pull request #10395 from filecoin-project/deps/jsonrpc-v0.2.2
deps: Update go-jsonrpc to v0.2.2
2023-03-06 15:44:00 -05:00
Aayush 74d94af034 fix: state: short-circuit genesis state computation 2023-03-06 15:39:28 -05:00
Jennifer Wang c3e1d26ddf v1.20.1 prep 2023-03-06 15:29:03 -05:00
Aayush a59e1d5220 fix: EthAPI: Correctly get parent hash 2023-03-06 15:22:42 -05:00
Aayush 1631c6ac8d fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct 2023-03-06 15:22:28 -05:00
zenground0 a2d331536b Timing info and updated docs 2023-03-06 12:05:04 -07:00
zenground0 5534755f2d Add command to trigger moving GC of hotstore manually 2023-03-06 11:59:08 -07:00
Łukasz Magiera 53fb6adfd6 deps: Update go-jsonrpc to v0.2.2 2023-03-06 18:19:02 +01:00
zenground0 394a7dbb34 Unbump api version as its not necessary 2023-03-06 08:37:28 -07:00
Aayush Rajasekaran fea7dfd212 Merge pull request #10394 from filecoin-project/fix/disabled-post-worker-handling
fix: wdpost: disabled post worker handling
2023-03-06 10:22:46 -05:00
Aayush Rajasekaran 12496e5631 Merge pull request #10389 from filecoin-project/asr/fix-eth-api-genesis
fix: EthAPI: Correctly get parent hash
2023-03-06 09:15:48 -05:00
Łukasz Magiera 9c2f8ee995 itests: Wait for both workers in TestWindowPostWorkerDisconnected 2023-03-06 15:11:21 +01:00
Łukasz Magiera b0ebdb6882 make gen 2023-03-06 15:07:49 +01:00
Łukasz Magiera 9a295e58b0 post worker sched: Retry on alternative worker on RPC errors 2023-03-06 14:30:58 +01:00
Łukasz Magiera 4b99472b35 itests: Test PoSt worker RPC error handling 2023-03-06 14:30:22 +01:00
Łukasz Magiera e170487faf post worker sched: Filter out disabled workers correctly 2023-03-06 13:56:23 +01:00
beck f0ba0ebb64 indent output 2023-03-06 18:04:55 +08:00
zenground0 c81a51af5b make gen 2023-03-05 18:48:02 -07:00
Phi-rjan 6c0a2feade Merge pull request #10384 from filecoin-project/fix/hide-set-worker-cmd
fix: cli: Hide `lotus-worker set` command
2023-03-05 12:30:51 +01:00
beck 668b24fb23 make debugging windowPoSt-failures human readable 2023-03-04 15:00:44 +08:00
Jiaying Wang d3dfb5ca62 Merge pull request #10380 from filecoin-project/asr/fix-eth-api
fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct
2023-03-03 21:10:20 -05:00
Aayush 920fdfdf85 fix: EthAPI: Correctly get parent hash 2023-03-03 16:42:57 -05:00
zenground0 649bcad1bb remove accidental add 2023-03-03 11:23:28 -05:00
zenground0 71b21db0d9 chain prune hot -- hotstore online gc 2023-03-03 11:14:52 -05:00
Phi 51b645f8d0 Hide lotus-worker set command
Hide the `lotus-worker set` command and print that this command will be deprecated.
2023-03-03 14:13:35 +01:00
Aayush Rajasekaran 4588523de7 Merge pull request #10328 from filecoin-project/asr/fip-0045-tooling
feat: update renew-sectors with FIP-0045 logic
2023-03-02 16:53:35 -05:00
Aayush 4e57626e42 feat: update renew-sectors with FIP-0045 logic 2023-03-02 16:38:05 -05:00
Aayush cfb5eac015 fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct 2023-03-02 12:34:09 -05:00
Steven Allen dbbcf4b2ee 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.).
2023-03-01 16:02:18 -08:00
Aayush Rajasekaran 570773259a Merge pull request #10377 from filecoin-project/asr/merge-release-into-master
chore: merge releases into master
2023-03-01 16:13:19 -05:00
Aayush 19f1ad2762 Merge branch 'releases' into asr/merge-release-into-master 2023-03-01 14:18:35 -05:00
Travis Person 814c146626 feat: stmgr: cache migrated stateroots 2023-03-01 16:17:34 +00:00
Łukasz Magiera 9a2b83064b Merge pull request #10364 from filecoin-project/chore/rm-market-info-lsm
chore: Remove legacy market info from lotus-miner info
2023-03-01 14:21:29 +01:00
Jiaying Wang 33bec58be4 Merge pull request #10371 from filecoin-project/jen/v1200
build: release: v1.20.0
2023-02-28 20:32:14 -05:00
Jennifer Wang 852e864c83 Merge branch 'release/v1.20.0' into jen/v1200 2023-02-28 19:00:43 -05:00
Jiaying WangandAayush 6bd39ba137 build: v1.20.0: release prep (#10368)
* add upgrade epoch and bump version

* Update changelog

---------

Co-authored-by: Aayush <arajasek94@gmail.com>
2023-02-28 18:43:25 -05:00
Aayush Rajasekaran fb2f78b6dd Merge pull request #10369 from filecoin-project/asr/update-actors
chore: deps: update to actors v10.0.0
2023-02-28 15:12:44 -05:00
Aayush ad4bf73f7b chore: deps: update to actors v10.0.0 2023-02-28 14:14:20 -05:00
Aayush Rajasekaran 2e53ef6348 Merge pull request #10360 from filecoin-project/asr/update-ffi
chore: deps: update to FFI v1.20.0
2023-02-28 13:22:40 -05:00
ZenGround0andzenground0 544af751cb Fix the overzealous fix (#10366)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-02-28 09:22:18 -05:00
Łukasz Magiera 807610131a Merge pull request #10331 from filecoin-project/fix/deprecate-wait-quiet
fix: worker: Hide `wait-quiet` cmd
2023-02-28 14:18:54 +01:00
Łukasz Magiera 8142aaa9c8 Merge pull request #10365 from filecoin-project/fix/tune-down-post-parallel-reads
fix: post: Tune down default post-parallel-reads
2023-02-28 12:44:07 +01:00
Phi 4c7d9ad30e Tune down ParallelCheckLimit
Tune down ParallelCheckLimit config default
2023-02-28 11:46:11 +01:00
Łukasz Magiera c484c38735 worker sched: Separate resource def for preparing window 2023-02-28 10:52:50 +01:00
Phi dd0c4a0a34 Tune down parallel reads
Tuning down the default post-parallel-reads to a conservative number.
2023-02-28 10:25:33 +01:00
Łukasz Magiera 9aba7dc17a chore: Remove legacy market info from lotus-miner info 2023-02-28 09:55:47 +01:00
Łukasz Magiera 04fe9062a6 fix: fsm: shutdown removed sectors FSMs 2023-02-28 09:48:17 +01:00
Łukasz Magiera 2316363f7a sched: Share active/preparing task counters 2023-02-28 09:08:49 +01:00
Aayush bd6e327864 chore: deps: update to FFI v1.20.0 2023-02-27 15:58:57 -05:00
Aayush Rajasekaran 4accfacbdd Merge pull request #10358 from filecoin-project/asr/fix-get-actor
fix: EthGetBalance: lookup balance at correct state
2023-02-27 15:38:19 -05:00
Aayush Rajasekaran 38f4a819f2 Merge pull request #10359 from filecoin-project/asr/update-gst
chore: deps: update to go-state-types v0.10.0
2023-02-27 15:28:46 -05:00
Aayush Rajasekaran 7422deaa0d Merge pull request #10344 from filecoin-project/steb/invoke-on-send
fix: cli: send with InvokeEVM when sending from an eth account
2023-02-27 15:17:32 -05:00
Aayush 42bf65ccb4 chore: deps: update to go-state-types v0.10.0 2023-02-27 14:49:41 -05:00
Aayush 17e680ea3c fix: EthGetBalance: lookup balance at correct state 2023-02-27 14:43:57 -05:00
Łukasz Magiera 745476c9ab feat: sched: Assigner experiments 2023-02-27 17:54:25 +01:00
Aayush Rajasekaran 9fba14b6b1 Merge pull request #10333 from filecoin-project/asr/overestimate
feat: gas: overestimate around the Hygge upgrade
2023-02-27 10:55:09 -05:00
Steven Allen 68b401a895 fix: cli: better handle sending from EthAccount actors
This will make `lotus send` mostly just "do what the user wants" in this
case:

1. The user may not explicitly specify a method number.
2. Parameters are automatically cbor-encoded where applicable.
3. The method number is automatically selected based on the
   recipient (CreateExternal if sent to the EAM, InvokeEVM otherwise).
2023-02-24 15:15:41 -08:00
Aayush Rajasekaran 8975f0b753 feat: EthAPI: Add FilecoinAddressToEthAddress (#10343) 2023-02-24 14:19:52 -05:00
ZenGround0andzenground0 0c9f697bf6 Two fixes, better logging and comments (#10332)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-02-23 10:05:18 -05:00
Aayush 35c90d34d6 feat: gas: overestimate around the Hygge upgrade 2023-02-23 09:35:01 -05:00
Łukasz Magiera aa7b5c40b8 Merge pull request #10319 from filecoin-project/fix/allinfo-test
fix: tests: Fix TestMinerAllInfo test
2023-02-23 14:16:40 +01:00
Ian Davis 5d3314f121 Touch source to trigger CI 2023-02-23 13:02:20 +00:00
Łukasz Magiera abaa53c6a3 Merge pull request #10145 from filecoin-project/hsanjuan/chain-export-range-rebased
perf: chain: export-range
2023-02-23 13:35:12 +01:00
Łukasz Magiera ea57a1aec3 Merge remote-tracking branch 'origin/master' into hsanjuan/chain-export-range-rebased 2023-02-23 13:08:14 +01:00
Phi ab6aaf5013 Hide wait-quiet cmd
Hide `wait-quiet` cmd
2023-02-23 09:46:06 +01:00
Travis Person bf2ac13609 Merge pull request #10283 from filecoin-project/feat/disable-pre-migrations
feat: stmgr: add env to disable premigrations
2023-02-21 09:23:13 -08:00
Marcel Telka 7f33db90d8 lotus-miner info should show deals info without admin permission 2023-02-21 11:10:38 +01:00
Phi 03f2efd0f9 Add tooling textbox
Add tooling textbox to template
2023-02-21 08:52:47 +01:00
Aayush Rajasekaran 392d3d4b8a Merge pull request #10320 from filecoin-project/fix/flaky-workerkeychange
fix: tests: Make TestWorkerKeyChange not flaky
2023-02-20 12:47:16 -05:00
Łukasz Magiera 51aecb6b17 fix: tests: Make TestWorkerKeyChange not flaky 2023-02-20 17:38:18 +01:00
Łukasz Magiera d2c0603717 fix: tests: Fix TestMinerAllInfo test 2023-02-20 14:11:49 +01:00
Łukasz Magiera 3841e5444f Merge pull request #10308 from filecoin-project/asr/merge-release-into-master
chore: merge release/v1.20.0 into master
2023-02-20 14:05:15 +01:00
Aayush Rajasekaran 80aa6d1d64 Merge pull request #10310 from filecoin-project/asr/release
chore: release v1.20.0-rc2
2023-02-17 18:42:32 -05:00
Travis Person 2dcaddf61d feat: stmgr: add env to disable premigrations
Setting the environment variable `LOTUS_DISABLE_PRE_MIGRATIONS=1` will
discard premigrations for all upgrade.
2023-02-17 23:12:26 +00:00
Steven Allen e51f3e9b15 fix: eth: incorrect struct tags (#10309) 2023-02-17 15:06:58 -08:00
Aayush 2ef5a742e9 chore: release v1.20.0-rc2 2023-02-17 17:54:20 -05:00
snissn 510f980348 tests: itests: blocktest properties (#10304)
* add itests for various fevm block properties and assert correct chain id

* add value checks to the block property solidity itests

* move get block function to kit
2023-02-17 14:32:54 -08:00
Steven Allen 73102e9432 test: eth: make sure we can deploy a new placeholder on transfer (#10281)
We have a test that triggers smart-contract logic on "transfers", but nothing that tries to create a new actor as a side-effect of a transfer.

fixes https://github.com/filecoin-project/ref-fvm/issues/1670
2023-02-17 13:29:53 -08:00
Aayush Rajasekaran 1ec02c5c95 Merge pull request #10296 from filecoin-project/asr/migration-test
feat: shed: test the nv18 migration
2023-02-17 16:20:51 -05:00
Aayush 984b4c78cb Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-17 16:08:22 -05:00
Aayush Rajasekaran e3e78f1dc9 Merge pull request #10306 from filecoin-project/steb/error-cleanup
fix: eth: cleanup error cases
2023-02-17 15:22:07 -05:00
Steven Allen bad41c247a fix: eth: cleanup error cases
1. Return an error on gas estimation failure instead of logging.
2. Return early when processing signed messages on failure instead of
continuing.
2023-02-17 12:04:01 -08:00
Aayush Rajasekaran e17d4f1a6e Merge pull request #10299 from filecoin-project/jen/disappearedcode
chore: ux: avoid actor not found
2023-02-17 14:48:45 -05:00
Aayush Rajasekaran 10500611ff Merge pull request #10297 from filecoin-project/mikers/itests/flakyRPCFix2
fix: test: change Filter rpc type from uint to hash to match fevm implementation
2023-02-17 14:48:01 -05:00
Aayush Rajasekaran efcdec6517 Merge pull request #10300 from filecoin-project/steb/fix-eth-nonce
fix: eth: return the correct nonce from EthGetTransactionCount
2023-02-17 14:45:45 -05:00
Aayush Rajasekaran 258df7691f Merge pull request #10305 from filecoin-project/asr/bump-go-libipfs-for-release
chore: deps: bump go-libipfs to v0.4.1
2023-02-17 14:34:12 -05:00
Aayush Rajasekaran 7a35a735fa Merge pull request #10294 from filecoin-project/mikers/buildReleaseOverrides
fix: pack: support network name overrides in bundle git tags
2023-02-17 14:28:50 -05:00
Steven Allen 6c0f4cbd74 nit: actually, don't use blocks 2023-02-17 11:18:51 -08:00
Steven Allen 49cd428c43 nit: put evm case in a block 2023-02-17 11:17:35 -08:00
Aayush f41435d285 feat: bundle: only write git tags for newly packed bundles 2023-02-17 14:17:30 -05:00
mike seiler 4dedced175 lintfix 2023-02-17 11:52:40 -07:00
Steven Allen a3bc65ba05 fix: eth: return the correct nonce from EthGetTransactionCount
EVM contracts track this number internally.

fixes https://github.com/filecoin-project/lotus/issues/10255
2023-02-17 10:51:42 -08:00
Steven Allen 30615a4ed6 feat: eth: return revert data on failed gas estimation (#10298)
Unfortunately, we need to execute the message twice to get this (unless
we want to change some APIs). But it's unlikely to be a performance
issue and will definitely help people debug failures.
2023-02-17 10:36:30 -08:00
mike seiler dbcf30470f clean up comment remove print 2023-02-17 11:16:40 -07:00
Jorropo 198217d6bc chore: all: bump go-libipfs to v0.4.1 2023-02-17 18:48:45 +01:00
Jorropo 7a4205ac36 chore: node: migrate go-bitswap to go-libipfs/bitswap
This was migrated in https://github.com/ipfs/go-libipfs/pull/63.

(cherry picked from commit d060df2fb9)
2023-02-17 18:46:17 +01:00
Jorropo 2d3065ae8e 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

(cherry picked from commit f572852d06)
2023-02-17 18:46:11 +01:00
Aayush Rajasekaran d589443a5e feat: EthApiTest: Confirm EthAddressToFilecoinAddress works without EthRPC (#10302) 2023-02-17 12:16:09 -05:00
Aayush fab7ea6ca1 feat: shed: test the nv18 migration 2023-02-17 11:09:52 -05:00
Phi 7f6fbe22c6 Add initial service/dev bug template
Initial service/dev bug template
2023-02-17 10:33:52 +01:00
Jennifer Wang 59db4eeacd fix gen 2023-02-17 00:21:29 -05:00
Jennifer Wang f2648adee8 fix import 2023-02-17 00:11:07 -05:00
Jennifer Wang ccdb447085 avoid actor not found 2023-02-17 00:05:07 -05:00
Steven Allen 00b6d06041 feat: eth: parse revert data (#10295)
We don't really want to do this in the FVM because it's Ethereum
specific, but this makes sense to do in the Ethereum API.

See:

See https://docs.soliditylang.org/en/latest/control-structures.html#panic-via-assert-and-error-via-require
2023-02-17 01:18:03 +00:00
mike seiler b2610bed52 change rpc types from uint to hash to match fevm implementation 2023-02-16 17:55:04 -07:00
Steven Allen 5854d72784 fix: eth: correctly decode EthGetStorageAt output (#10284)
* fix: eth: correctly decode EthGetStorageAt output

We cbor-encode it. Also:

1. Actually use the passed block param.
2. Check if the target actor is an EVM actor to avoid nonsense outputs.

fixes https://github.com/filecoin-project/ref-fvm/issues/1621
2023-02-16 16:36:52 -08:00
mike seiler 0f6cbf1be2 include the version that pack is running on for filtering the build gen metadata 2023-02-16 14:01:45 -07:00
mike seiler ea03e1b6e7 only override the correct version for bundle gen 2023-02-16 13:10:25 -07:00
Aayush Rajasekaran a2b996e054 Merge pull request #10286 from filecoin-project/asr/eth-address-api
feat: EthAPI: Add EthAddressToFilecoinAddress
2023-02-16 13:04:20 -05:00
mike seiler 16b7d4525f lintfix 2023-02-16 10:40:16 -07:00
mike seiler 3e678f2abc support network name overrides in pack to build releases 2023-02-16 10:33:47 -07:00
Aayush 1d0a524b88 feat: EthAPI: Add EthAddressToFilecoinAddress 2023-02-16 12:24:17 -05:00
Łukasz Magiera 8f1c23296e Merge pull request #10169 from filecoin-project/feat/shed-read-sector
feat: shed: Add a tool to read data from sectors
2023-02-16 17:11:37 +01:00
Łukasz Magiera 12656b05fe feat: shed: Add a tool for removing sector data 2023-02-16 16:47:13 +01:00
Phi 27d4d02fe5 Update enhancement and feature templates
Update enhancement and feature_request templates:

- Removing unnecessary checklist options.
   - These have been move to the Github New Issue UI to reduce text overhead: #10268
- Remove deprecated components options
- Add FVM/FEVM component
2023-02-16 13:11:10 +01:00
Phi d3e715594b chore: github: Update bug_report template
Update bug_report template:

- Removing unnecessary checklist options.
   - Some of these has been move to the Github New Issue UI to reduce overhead
- Remove deprecated components options
- Add FVM/FEVM component
2023-02-16 10:59:45 +01:00
Łukasz Magiera 285dfed338 Merge pull request #10202 from filecoin-project/feat/faster-sectors-list
sp cli: make sectors list much faster
2023-02-15 19:59:17 +01:00
Łukasz Magiera 6028d7ba18 sectors list: Explain http mode 2023-02-15 19:41:46 +01:00
Łukasz Magiera 2dd2edc1d3 Merge pull request #10280 from filecoin-project/asr/fix-shed
fix: shed: default to LOTUS_PATH for repo
2023-02-15 18:57:15 +01:00
Aayush 4f259d8644 Revert "Standardize path variable"
This reverts commit a9c1caa188.
2023-02-15 11:09:24 -05:00
Aayush Rajasekaran 29a82cdf0f Merge pull request #10272 from filecoin-project/asr/merge-release-into-master
chore: merge release branch into master
2023-02-15 09:47:54 -05:00
Jiaying WangandAayush Rajasekaran 6a90d32885 chore: add v1.20.0-rc1 changelog (#10273)
* add v1.20.0-rc1 changelog



Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-02-14 20:52:32 -05:00
Aayush 75c744a438 Merge branch 'release/v1.20.0' 2023-02-14 20:29:14 -05:00
Aayush Rajasekaran 6b56b7710d Merge pull request #10248 from filecoin-project/jen/v1200rc1prep
build: release: v1.20.0-rc1 prep
2023-02-14 20:02:52 -05:00
jennijuju 39c709f7b3 update butterfly artifects 2023-02-14 19:24:35 -05:00
Aayush 3f063f7cd7 fix: StorageKey is now fixed-size array 2023-02-14 19:04:43 -05:00
jennijuju 45cbbe6c7a update to gst 10-rc3 2023-02-14 18:48:41 -05:00
jennijuju 30fe2c7c69 - add calibration nv18 upgade epoch
- bump version to v1.20.0-rc1
2023-02-14 18:48:23 -05:00
Hector Sanjuan 7ecc00090e range-export: make gen 2023-02-14 21:08:10 +01:00
Hector Sanjuan a2475bca94 range-export: write files to lotus repo path 2023-02-14 21:08:10 +01:00
Hector Sanjuan be1614a042 range-export: check serverside that head > tail 2023-02-14 21:08:10 +01:00
Hector Sanjuan ec01036871 Ranged export: remove non-internal ranged export method
Additionally, per feedback:

* Set "admin" permissions
* Remove from v0api
2023-02-14 21:08:10 +01:00
Hector Sanjuan 1bb698619c Ranged-export: Remove CachingBlockstore
The improvements in the range-export code lead to avoid reading most blocks
twice, as well as to allowing some blocks to be written to disk multiple times.

The cache hit-rate went down from being close to 50% to a maximum of 12% at
the very end of the export. The reason is that most CIDs are never read twice
since they are correctly tracked in the CID set.

These numbers do not support the maintenance of the CachingBlockstore
code. Additional testing shows that removing it has similar memory-usage
behaviour and about 5 minute-faster execution (around 10%).

Less code to maintain and less options to mess up with.
2023-02-14 21:08:10 +01:00
Hector Sanjuan fa93c23813 Chain ranged export: rework and address current shortcomings
This commit moderately refactors the ranged export code. It addresses several
problems:
  * Code does not finish cleanly and things hang on ctrl-c
  * Same block is read multiple times in a row (artificially increasing cached
    blockstore metrics to 50%)
  * It is unclear whether there are additional races (a single worker quits
    when reaching height 0)
  * CARs produced have duplicated blocks (~400k for an 80M-blocks CAR or
    so). Some blocks appear up to 5 times.
  * Using pointers for tasks where it is not necessary.

The changes:

  * Use a FIFO instead of stack: simpler implementation as its own type. This
has not proven to be much more memory-friendly, but it has not made things
worse either.
  * We avoid a probably not small amount of allocations by not using
    unnecessary pointers.
  * Fix duplicated blocks by atomically checking+adding to CID set.
  * Context-termination now works correctly. Worker lifetime is correctly tracked and all channels
  are closed, avoiding any memory leaks and deadlocks.
  * We ensure all work is finished before finishing, something that might have
  been broken in some edge cases previously. In practice, we would not have
  seen this except perhaps in very early snapshots close to genesis.

Initial testing shows the code is currently about 5% faster. Resulting
snapshots do not have duplicates so they are a bit smaller. We have manually
verified that no CID is lost versus previous results, with both old and recent
snapshots.
2023-02-14 21:08:10 +01:00
Ian Davis 35730637dc fix: tracer: emit raw peer ids for compatibility with libp2p tracer 2023-02-14 16:17:03 +00:00
Łukasz Magiera 7150243cda feat: ethrpc: Support newPendingTransactions in eth_subscribe (#10269) 2023-02-14 16:15:42 +00:00
Jiaying Wang 86b4aeef1a Merge pull request #10258 from filecoin-project/steb/fix-msg-modify
fix: stmgr: copy the message before modifying it
2023-02-14 10:07:24 -05:00
frrist 21efd481d8 First efficient ranged-export implementation by @frisst
This first commit contains the first and second implementation stabs (after
primary review by @hsanjuan), using a stack for task buffering.

Known issues: ctrl-c (context cancellation) results in the export code getting
deadlocked. Duplicate blocks in exports. Duplicate block reads from store.

Original commit messages:

works

works against mainnet and calibnet

feat: add internal export api method

- will hopfully make things faster by not streaming the export over the json rpc api

polish: better file nameing

fix: potential race in marking cids as seen

chore: improve logging

feat: front export with cache

fix: give hector a good channel buffer on this shit

docsgen
2023-02-14 15:41:10 +01:00
raulk 11ac325d1a Revert "fix: stmgr: check message validity before invoking vm" (#10270)
This reverts commit 2bbd1fbbb6.
2023-02-14 14:06:33 +00:00
Phi-rjan 3879c80e6f Add link to discussion and FIPs in New Issue
In our current issue flow, we ask a lot checklist questions :

`This is not a question or a support request. If you have any lotus related questions, please ask in the lotus forum.`
`This is not a new feature or an enhancement to the Filecoin protocol. If it is, please open an FIP issue. *`

This information is better displayed in the `New Issue` chooser, to guide users to the relevant place for posting. This file will add two new entries in the issue chooser:
- A entry that links to the Lotus Github Discussion pager for Lotus questions or troubleshooting
- A entry that links to the FIPs repo for Filecoin protocol feature or enhancements
2023-02-14 11:13:55 +01:00
Jiaying Wang b1e1d2d205 Merge pull request #10266 from filecoin-project/steb/update-ffi
chore: ffi: update the FFI
2023-02-13 22:28:16 -05:00
Steven Allen abeb4fadc4 fix: itest: EthFeeHistory flake (#10265) 2023-02-14 02:42:44 +00:00
Steven Allen 2ed92c222d chore: ffi: update the FFI
This:

- Improves error handling when the FFI is passed invalid messages.
- Updates the FVM.
2023-02-13 18:42:29 -08:00
Aayush Rajasekaran 3c4a83916b Merge pull request #10259 from filecoin-project/steb/call-check-message-validity
fix: stmgr: check message validity before invoking vm
2023-02-13 21:29:19 -05:00
snissn 9f2f9154d2 itest for block.difficulty (#10263) 2023-02-13 18:29:11 -08:00
0d92c746bd Eth JSON-RPC: populate reward in eth_feeHistory (#10245)
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-02-14 01:02:37 +00:00
Steven Allen a16c54051c fix: eth: rename yParity to v in transaction return values (#10264)
fixes https://github.com/filecoin-project/ref-fvm/issues/1662
2023-02-13 23:29:13 +00:00
Steven Allen 2bbd1fbbb6 fix: stmgr: check message validity before invoking vm
Otherwise we may, e.g., try to estimate gas on a message to an f4
address before the nv18 migration.

I'm _not_ checking the "prior messages" here as this is just a sanity
check.
2023-02-13 11:01:42 -08:00
Steven Allen f427c2b566 fix: eth: correctly convert filecoin message <-> eth txn (#10257)
1. We do allow deploying with empty initcode.
2. Make sure that the encoded "code" is non-empty, if specified.

Basically, this makes everything consistent (and it's how I specified it
in the FIP).
2023-02-13 10:33:59 -08:00
Steven Allen 77fbc60cb8 fix: stmgr: copy the message before modifying it 2023-02-13 10:06:59 -08:00
Łukasz Magiera 61f29a84b5 Merge pull request #10238 from filecoin-project/asr/merge-release-into-master
chore: merge release/v1.20.0 into master
2023-02-13 15:25:23 +01:00
Łukasz Magiera 03fd703db5 Merge pull request #10218 from filecoin-project/mikers/itestsProxy
test: itest: fevm proxy contracts
2023-02-13 14:03:56 +01:00
Mike Seiler 3177f63a17 add test for transparent delegate proxy from openzeppelin 2023-02-13 13:57:18 +01:00
Łukasz Magiera d108565ea2 Merge remote-tracking branch 'origin/master' into asr/merge-release-into-master 2023-02-13 13:40:32 +01:00
Łukasz Magiera 7486227c27 Merge remote-tracking branch 'origin/release/v1.20.0' into asr/merge-release-into-master 2023-02-13 13:14:09 +01:00
Łukasz Magiera 7b959ab39c Merge pull request #10246 from filecoin-project/steb/fix-eth-get-code-none
fix: eth: correctly handle ethGetCode ege-cases
2023-02-13 13:13:00 +01:00
Łukasz Magiera a652ffcb62 make gen 2023-02-13 13:09:09 +01:00
Łukasz Magiera 4d20011b78 Merge pull request #10249 from filecoin-project/jen/bumpmaster
build: bump version to v1.21.0-dev
2023-02-13 13:05:03 +01:00
Łukasz Magiera 98482a2795 Merge pull request #10250 from filecoin-project/jen/ipldcp
backport: deps: update ipld prime
2023-02-13 13:03:56 +01:00
Łukasz Magiera e6b0ee7e4a Merge pull request #10247 from filecoin-project/jen/ipld
dep: ipld: update ipld prime to v0.20.0
2023-02-13 13:03:44 +01:00
Raúl Kripalani 8ff55c027e Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-13 11:45:09 +00:00
Jennifer Wang 948a963f15 update ipld prime 2023-02-13 00:06:30 -05:00
Jennifer Wang e73a038fe8 bump version to v1.21.0-dev 2023-02-13 00:00:07 -05:00
Steven Allen b765112896 fix: correctly handle ethGetCode edge-cases
1. If the actor is a non-evm actor, return "nothing".
2. Correctly handle missing actors.
3. Handle self-destructed actors (they'll return "null").

fixes https://github.com/filecoin-project/ref-fvm/issues/1641
2023-02-12 20:38:47 -08:00
Jennifer Wang 94063ea4d1 update ipld prime 2023-02-12 23:33:19 -05:00
Steven Allen a085eb1593 fix: eth: correctly return empty bytecode after selfdestruct 2023-02-12 19:31:56 -08:00
raulk 37e1ac5d93 eth: FIP-0055: implement final version of transitory delegated signature. (#10239) 2023-02-12 21:08:42 +00:00
Łukasz Magiera 1ee9516887 Merge pull request #9961 from filecoin-project/fix/EthUint64-args
Eth JSON-RPC: support passing uint64 in JSON-RPC arguments for EthUint64
2023-02-11 01:12:13 +01:00
Aayush 63b03a48d0 Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-10 18:39:51 -05:00
Aayush Rajasekaran 5e12916aec Merge pull request #10237 from filecoin-project/asr/update-everything
chore: deps: update FFI, go-state-types, actors to RCs
2023-02-10 18:37:32 -05:00
Aayush 753a0e5408 Update actors to v10.0.0-rc.1 2023-02-10 17:59:52 -05:00
Aayush 83bce7c94f disable adding git tags to bundle metadata 2023-02-10 17:58:57 -05:00
Aayush 2ec34e2c46 Update to go-state-types v0.10.0-rc2 2023-02-10 17:56:48 -05:00
Raúl Kripalani 6a76bbb6e3 improve TODO. 2023-02-10 22:46:57 +00:00
Raúl Kripalani c61267cadc fix bad test. 2023-02-10 22:42:17 +00:00
Aayush e167891207 Update to FFI v1.20.0-rc1 2023-02-10 17:38:29 -05:00
ychiao 8cded9f8d2 add todo 2023-02-10 17:34:53 -05:00
Raúl Kripalani 778768dbf7 eth_feeHistory: parse block param correctly. 2023-02-10 22:29:52 +00:00
ychiao db749b8fc7 Merge branch 'release/v1.20.0' into fix/EthUint64-args 2023-02-10 17:26:38 -05:00
Steven Allen 01e616f29e fix: stmgr: make the tipset and height agree when estimating gas (#10216)
* fix: stmgr: make the tipset and height agree when estimating gas

Specifically re-execute all messages in the current tipset, tacking the new
message onto the end. That way, the epoch is the epoch of the current tipset.

We could try to "make" a fake block and use that, but that's unlikely to
work well.

* fix: stmgr: only apply tipset messages for CallWithGas

* fix: itest: window post dispute
2023-02-10 20:49:26 +00:00
Aayush Rajasekaran 1996694a2a Merge pull request #10215 from filecoin-project/steb/txhash-topic
feat: eth: harden event processing
2023-02-10 15:16:34 -05:00
ychiao 5e56af33df fix typo 2023-02-10 13:52:25 -05:00
ychiao 3c580403c1 implement itest and handle optional params 2023-02-10 13:33:59 -05:00
Steven Allen b0d917d542 fix: make gen 2023-02-10 09:32:59 -08:00
Steven Allen cc302dd68b fix: eth: log on unexpected events
We can remove these later as we add more event types, but this will aid
in debugging.
2023-02-10 07:59:47 -08:00
ychiaoandraulk 37044ed3c3 Apply suggestions from code review
Co-authored-by: raulk <raul@protocol.ai>
2023-02-10 10:42:19 -05:00
Steven Allen ece8f25511 fix: eth: strict event parsing
We now enforce the following rules:

1. No duplicate topics or data.
2. Topics must have 32 byte keys.
3. Topics may not be skipped. (e.g., no t1 & t3 without a t2).
4. Raw codecs.

We _don't_ require that topics/data be emitted in any specific order.

We _skip_ events with unknown keys. We _drop_ events that violate the
above rules.
2023-02-10 07:41:29 -08:00
Steven Allen f1381ad535 refactor: use EthHash for event topics
This ensures they're always 32 bytes and padded, as required.
2023-02-10 07:41:29 -08:00
Łukasz Magiera 1588dd3dbe Merge pull request #10227 from filecoin-project/fix/signing-noexport
fix: Don't call WalletExport in msg signing flows
2023-02-10 16:21:24 +01:00
Raúl Kripalani e06e3a0654 Merge branch 'release/v1.20.0' into fix/EthUint64-args 2023-02-10 12:49:02 +00:00
Steven AllenandRaúl Kripalani 80fccba93f fix: gas: update ffi & correct the message inclusion cost in nv18 (#10228)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-02-10 12:48:20 +00:00
Łukasz Magiera 7aa6663127 Merge pull request #10232 from filecoin-project/worker-all-task-flag2
fix: worker: add all tasks flag
2023-02-10 12:59:47 +01:00
Łukasz Magiera 54ed1f12ff Merge pull request #10230 from filecoin-project/chore/nv18-butterflynet-reset-artifacts
updates butterflynet reset artifacts
2023-02-10 12:57:15 +01:00
Łukasz Magiera 37e9fe90ae Merge pull request #10189 from filecoin-project/raulk/timestamp-null-rounds
fix: null rounds: pass correct timestamp to the FVM.
2023-02-10 12:15:44 +01:00
Łukasz Magiera ec1b2b959a Merge pull request #9973 from placer14/mg/chore/expose-compaction-poolsize-envvar
feat: blockstore: Envvar can adjust badger compaction worker poolsize
2023-02-10 11:38:08 +01:00
ognots bc4ae8d383 updates butterflynet reset artifacts
* bootstrap node multiaddr
* new genesis file

these files are necessary for others to build lotus and join the new butterflynet, reset on February 08, 2023
2023-02-09 21:45:44 -05:00
Łukasz Magiera 088d231cda fix: Don't call WalletExport in msg signing flows 2023-02-10 02:37:59 +01:00
Raúl Kripalani d30ace0518 Merge branch 'release/v1.20.0' into raulk/timestamp-null-rounds 2023-02-09 22:58:08 +00:00
Raúl Kripalani 6302771ff5 remove test vectors bleeding edge job.
We no longer need it because specs-actors is deprecated.
v7 vectors have been merged to master.
2023-02-09 22:49:57 +00:00
Raúl Kripalani 15f45d5d9e bump test vectors. 2023-02-09 22:48:28 +00:00
Aayush Rajasekaran 038686bea2 Merge pull request #10225 from filecoin-project/steb/fix-actor-state-check
fix: chain: make sure the head is empty, not the code
2023-02-09 14:51:46 -05:00
Steven Allen a83f120f32 fix: chain: make sure the head is empty, not the code 2023-02-09 11:36:02 -08:00
Łukasz Magiera 0f05232199 Merge pull request #10224 from filecoin-project/feat/ethcli-strip-spaces
feat: eth cli: Strip out empty spaces around contract bytes
2023-02-09 19:24:49 +01:00
Jiaying Wang 1c13a591e9 Merge pull request #10223 from filecoin-project/feat/ethtx-fixes
fix: ethrpc: Add missing fields to EthTx
2023-02-09 13:13:26 -05:00
Łukasz Magiera 75f9b7d040 Merge pull request #10119 from filecoin-project/gstuart/tx-hash-on-simport-napshot
feat: eth: populate tx hash database on startup
2023-02-09 19:06:20 +01:00
Łukasz Magiera ada32395ca Merge pull request #10160 from filecoin-project/gstuart/send-from-f4
feat: cli: allow value send from f4 to any address type
2023-02-09 18:53:40 +01:00
Łukasz Magiera b0fa75f13e feat: eth cli: Strip out empty spaces around contract bytes 2023-02-09 18:49:08 +01:00
Phi-rjan 9848e0467e Merge pull request #10209 from filecoin-project/fix-check-backupfile
fix: cli: error if backup file already exists
2023-02-09 18:39:17 +01:00
Łukasz Magiera 4f5fea848c Merge pull request #10163 from filecoin-project/mikers/create2test2
tests: itests: test create2 and destroy
2023-02-09 18:33:54 +01:00
Łukasz Magiera c98093be03 Merge remote-tracking branch 'origin/release/v1.20.0' into mikers/create2test2 2023-02-09 18:19:47 +01:00
Łukasz Magiera 83a7d6e297 Merge pull request #10134 from filecoin-project/gstuart/shed-path-fix
fix: shed: Standardize use of path flag
2023-02-09 18:04:04 +01:00
Łukasz Magiera d84479bb05 Merge pull request #10162 from filecoin-project/mikers/deployValueTest2
tests: itests: test creating a contract and sending value
2023-02-09 18:00:15 +01:00
Łukasz Magiera a32db5ff69 Merge pull request #10186 from filecoin-project/nonsense-patch-1
LOTUS_FEVM_ENABLEETHRPC: Fix env variable name in error
2023-02-09 17:56:27 +01:00
Aayush Rajasekaran 030b40b2a0 Merge pull request #10211 from filecoin-project/fix/ethsub-noarray
fix: ethrpc: Don't send sub notifs in array
2023-02-09 11:55:46 -05:00
Aayush Rajasekaran 4d5f60cd38 Merge pull request #10221 from filecoin-project/feat/evm-actor-bytecode-getter
feat: actors: Add bytecode getter
2023-02-09 11:29:51 -05:00
Łukasz Magiera 17adcb77c3 sp cli: correct order in parallel sectors list 2023-02-09 17:02:41 +01:00
Łukasz Magiera 81e056be1a sp cli: make sectors list much faster 2023-02-09 16:57:08 +01:00
Łukasz Magiera 25babace8f Merge pull request #10208 from filecoin-project/fix/seal-delay-seconds
fix: cli: option to set-seal-delay in seconds
2023-02-09 16:51:20 +01:00
Phi-rjanandŁukasz Magiera 0e7cf61888 Update cli/backup.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2023-02-09 16:50:15 +01:00
Łukasz Magiera cb8e2836bb Merge pull request #10184 from filecoin-project/asr/merge-release-into-master
chore: merge release/v1.20.0 into master
2023-02-09 16:41:58 +01:00
Łukasz Magiera e321761a72 ethrpc: Add missing fields to EthTx 2023-02-09 14:26:13 +01:00
Łukasz Magiera 554dd2f1ee itests: Test EVM bytecode getters, check bytecode hash 2023-02-09 13:23:17 +01:00
Łukasz Magiera 8d6aa2477c feat: actors: Add bytecode getter 2023-02-09 13:12:16 +01:00
Raúl Kripalani 8345877e27 skip problematic test vectors. 2023-02-09 01:06:52 +00:00
Łukasz Magiera 9339267e6e fix: ethrpc: emit correct bloom filters (#10194) 2023-02-08 23:14:53 +00:00
Łukasz Magiera da2bb41aa3 Merge pull request #10213 from filecoin-project/asr/fix-butterfly
fix: build: use actual v9 bundles for butterfly
2023-02-08 20:21:06 +01:00
Aayush 2ee8c4692a fix: build: use actual v9 bundles for butterfly 2023-02-08 11:56:40 -05:00
Aayush Rajasekaran 42d667e585 Merge pull request #10205 from filecoin-project/steb/update-fvm
fvm: chore: update FVM
2023-02-08 11:24:43 -05:00
Aayush df2824ccac test: build: ignore git tags in embedded metadata 2023-02-08 11:16:28 -05:00
Łukasz Magiera c2e3832643 Update eth_subscribe itests to work with correct responses 2023-02-08 16:09:19 +01:00
Łukasz Magiera 3516c7674b fix: ethrpc: Don't send sub notifs in array 2023-02-08 15:55:38 +01:00
Phi b78cbcbb99 Error if backup file exists
Error out if backup file already exists
2023-02-08 11:33:48 +01:00
Phi bd4dc217af make docsgen-cli
make docsgen-cli
2023-02-08 09:36:52 +01:00
Phi 662fc37976 Option to set-seal-delay seconds
Add the option to set-seal-delay in seconds
2023-02-08 09:34:44 +01:00
Steven Allen 89499bfd40 fvm: chore: update FVM
This:

1. Updates the builtin actors bundle (for actors v10).
2. Updates the event entry type to include the codec.
3. Removes the cbor encoding and zero trimming from event data.

I've chose to:

1. _Not_ add codec handling to the event filtering system for now.
2. _Skip_ events with unexpected codecs.

We don't actually _allow_ these events in the FVM right now, and it
simplifies the implementation.

However, I _am_ recording the codecs in the database so we don't have to
migrate it later.
2023-02-07 18:15:40 -08:00
Jiaying Wang 4c6fb2198b Merge pull request #10200 from filecoin-project/mikers/pack_add_git_tag
feat: pack: add git tag to builtin_actors_gen
2023-02-07 21:12:29 -05:00
Mike Seiler 66d763ebc5 remove bundle-gen from make gen - not actually useful today anyway 2023-02-08 01:48:46 +00:00
Phi 4823322154 retry make docsgen-cli
retry make docsgen-cli with the new usage
2023-02-07 17:44:54 +01:00
Phi b217eec84d Merge branch 'worker-all-task-flag' of https://github.com/filecoin-project/lotus into worker-all-task-flag 2023-02-07 17:12:56 +01:00
Phi d75f77b4c5 make docsgen-cli
make docsgen-cli
2023-02-07 17:12:42 +01:00
Aayush Rajasekaran 693f230fbb Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-07 11:03:01 -05:00
Phi-rjanandŁukasz Magiera 21d6020179 Update cmd/lotus-worker/tasks.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2023-02-07 16:47:30 +01:00
Phi-rjanandŁukasz Magiera 3fc1346d5b Update cmd/lotus-worker/tasks.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2023-02-07 16:47:23 +01:00
Phi-rjanandŁukasz Magiera 58c7c514c6 Update cmd/lotus-worker/tasks.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2023-02-07 16:47:16 +01:00
Phi cf0997b434 fix: worker: add all task type flag
Add all flag for the `lotus-worker tasks enable/disable` cmd
2023-02-07 16:12:31 +01:00
Łukasz Magiera 8066833b3a Merge pull request #10198 from filecoin-project/asr/gas-limit
chain: explicitly check that gasLimit is above zero
2023-02-07 03:38:58 +01:00
Mike Seiler ea82f554be add bundle git tag from pack.sh into builtin_actors_gen 2023-02-07 02:23:23 +00:00
Łukasz Magiera e0d92a13a7 Merge pull request #10172 from ribasushi/fix/respect_nofsync
fix: extend LOTUS_CHAIN_BADGERSTORE_DISABLE_FSYNC to the markset
2023-02-07 03:18:58 +01:00
Aayush Rajasekaran 6a268cfb63 chain: explicitly check that gasLimit is above zero 2023-02-06 17:53:00 -05:00
snissn 23eaee49d4 clean up test for recursive delegate call count. improved readability (#10195) 2023-02-06 13:32:39 -08:00
Mike Seiler fc2a6a82cb Merge branch 'release/v1.20.0' into mikers/create2test2 2023-02-06 20:40:29 +00:00
Mike Seiler 2673ec3c82 use WithValue language for test 2023-02-06 20:35:35 +00:00
Mike Seiler f671a3c81c merge 2023-02-06 20:24:23 +00:00
snissn 1ab53051f7 improve evm error handling in itests (#10161) 2023-02-06 10:17:15 -10:00
Łukasz Magiera 91d0e41444 Merge pull request #10193 from filecoin-project/steb/fix-fevm-tests
itest: fix FEVM tests for upstream changes
2023-02-06 20:27:42 +01:00
Steven Allen e0931f8f90 itest: fix remaining fevm failures 2023-02-06 11:01:49 -08:00
Steven Allen d16b2902d4 itest: fix: test comment 2023-02-06 09:52:38 -08:00
Łukasz Magiera a5043f45d3 Merge pull request #10190 from filecoin-project/fix/eth-block-unclehash
fix: ethtypes: Correct 'no uncles' hash in NewEthBlock
2023-02-06 18:45:51 +01:00
Steven Allen 6bf3a21158 itest: fix FEVM tests for upstream changes 2023-02-06 09:20:22 -08:00
Raúl Kripalani 0cf3a5e704 fix: null rounds: pass correct timestamp to the FVM. 2023-02-06 16:58:58 +00:00
Łukasz Magiera 5dc56841ea fix: ethtypes: Correct 'no transactions' hash in NewEthBlock 2023-02-06 17:17:19 +01:00
Aayush Rajasekaran 725f22a344 Merge pull request #10173 from filecoin-project/gstuart/check-params
chore: cli: Confirm tooling that assumes knowledge of method params / returns don't break
2023-02-06 10:49:47 -05:00
Anton Evangelatov ad457202dd LOTUS_FEVM_ENABLEETHRPC: Fix env variable name in error 2023-02-06 15:25:51 +01:00
Łukasz Magiera 424824019b fix: ethtypes: Correct 'no uncles' hash in NewEthBlock 2023-02-06 14:38:48 +01:00
Łukasz Magiera 3e30e7a9ec Merge pull request #10102 from filecoin-project/iand/eth-openrpc-validate
itests: validate responses from ethereum json-rpc api
2023-02-06 14:27:39 +01:00
Łukasz Magiera bca48dd1eb make gen 2023-02-06 10:46:24 +01:00
Łukasz Magiera 6851b6a523 Merge remote-tracking branch 'origin/release/v1.20.0' into fix/eth-orpc-validate 2023-02-06 10:41:52 +01:00
Aayush Rajasekaran 3d9c5e7bae Merge pull request #10128 from filecoin-project/feat/eth-estimate-gas
feat: compute a better gas limit for recursive external contract calls
2023-02-05 13:52:03 -05:00
Travis Person 03b419e3d4 feat: compute a better gas limit for recursive external contract calls 2023-02-03 20:40:18 +00:00
Aayush f291572b4a Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-03 09:27:04 -05:00
Geoff Stuart 9b071bc96b Merge pull request #10182 from 0x5459/fix-louts-miner-extend-cmd
fix: cli: extend cmd to get the right sector number
2023-02-03 06:36:19 -05:00
0x5459 e1c00bdbba cli: fix extend cmd to get the right sector number 2023-02-03 14:56:54 +08:00
raulk b46258d0bf feat: evm: align events implementation with FIP-0049 and FIP-0054. (#10152)
- Event keys are now t1, t2, t3, t4 for topics; and d for data.
- ref-fvm no longer stores events in the blockstore for us. It just
  returns events to the client, who is now responsible for handling
  them as it wishes / according to its configuration.
- Add a flag to VMOpts to have the events AMT be written in the blockstore.
- Add a flag to the ChainStore to advertise to the rest of the system
  if the ChainStore is storing events.
- Enable that flag if the EthRPC is enabled (can also add an explicit
  configuration flag if wanted).
2023-02-02 19:10:30 -08:00
Geoff Stuart ffc1c33be0 Review fixes 2023-02-02 16:46:08 -05:00
Geoff Stuart f05437d253 Check decoding params for new methods 2023-02-02 14:41:30 -05:00
Łukasz Magiera 0c33eab20a Merge pull request #10180 from filecoin-project/feat/ethsub-addr
feat: ethrpc: Support filtering by address in subscribe
2023-02-02 18:23:43 +01:00
Geoff Stuart 3e009013df Merge pull request #10177 from filecoin-project/fix/lite-node-ethrpc
fix: lite mode: Fix eth_ rpc in lite mode
2023-02-02 11:08:46 -05:00
Łukasz Magiera 8ce0b984b7 itests: Fix TestEthFilterAPIDisabledViaConfig 2023-02-02 15:59:55 +01:00
Łukasz Magiera fe1e0974cb feat: ethrpc: Support filtering by address in subscribe 2023-02-02 14:46:36 +01:00
Maciej Witowski 75f4810af1 Merge pull request #10168 from filecoin-project/maciej/test
Test: assert all fields returned from EthGetTransactionByHash have expected values
2023-02-02 14:14:21 +01:00
Łukasz Magiera 3d207de6aa node builder: Use gateway eth module in lite mode 2023-02-02 13:39:40 +01:00
Łukasz Magiera a6a2f0dbae gateway: Support all EthModule methods 2023-02-02 13:37:31 +01:00
Geoff Stuart b8c4fbaff0 Merge pull request #10062 from filecoin-project/iand/issue-9849-config
itests: verify eth filter api is disabled via config
2023-02-01 22:25:21 -05:00
Geoff Stuart abf2140ecf review fixes 2023-02-01 18:50:36 -05:00
Geoff Stuart 12ca08d9a6 Merge pull request #10081 from filecoin-project/steb/remove-dead-code
itests: remove dead code from DeployContract
2023-02-01 18:06:58 -05:00
Geoff Stuart e200df4def Merge pull request #10060 from filecoin-project/raulk/eth-check-tipsets-cmd
add a lotus-shed eth check-tipsets command.
2023-02-01 18:05:34 -05:00
Geoff Stuart f88fc0719f Merge pull request #10155 from omahs/patch-1
Fix: typos
2023-02-01 17:47:17 -05:00
Peter Rabbitson 818b3b8daf fix: extend LOTUS_CHAIN_BADGERSTORE_DISABLE_FSYNC to the markset
Without doing this walking a badger markset on a non-nvme knocks the
node hopelessly out of sync during a compaction.
2023-02-01 21:00:39 +01:00
Łukasz Magiera 7060150bdc Merge pull request #10149 from FlattestWhite/richard/make-user-agent-dependency-injectable
feat: Allow libp2p user agent to be overriden
2023-02-01 19:12:08 +01:00
Łukasz Magiera 0a35e9659b feat: shed: Add a tool to read data from sectors 2023-02-01 17:51:12 +01:00
Geoff Stuart 87397eaffa Allow f4 address to send to all address types if ID address exists on chain 2023-02-01 11:46:45 -05:00
Ian Davis 245be406d9 Fix merge conflicts 2023-02-01 16:41:01 +00:00
Maciej Witowski 90fced7cb2 Test: assert all fields returned from EthGetTransactionByHash have expected values
Related to  https://github.com/filecoin-project/lotus/pull/10151#discussion_r1092358973
2023-02-01 17:38:09 +01:00
Ian Davis d29a244064 Merge remote-tracking branch 'origin/release/v1.20.0' into iand/eth-openrpc-validate 2023-02-01 16:19:17 +00:00
Łukasz Magiera ccb20d56ab Merge pull request #10164 from filecoin-project/deps/jsonrpc-v0.2.1
deps: Update go-jsonrpc to v0.2.1
2023-02-01 14:38:50 +01:00
Łukasz Magiera 8d62cb22f9 deps: Update go-jsonrpc to v0.2.1 2023-02-01 14:07:24 +01:00
Mike Seiler c6bd9bc9e0 tests that use create2 and destroy to validate evm state 2023-02-01 06:55:52 +00:00
Mike Seiler 3adafea574 merge 2023-02-01 06:51:32 +00:00
snissn 9060c474da test: fevm: add in tests for deploying, destroying contracts, recursive calls, sending value (#10082)
adds the following tests to itests/fevm_test.go:
 - recursive tests
 - delegate call tests
 - delegate call recursive tests
 - revert tests
 - destruct tests
 - contract deploy address tests
 - send value to contracts
 - gas limit on value transfer tests
 - sending value to destroyed contracts
adds the test to itests/fevm_address_test.go:
 - deploy contract and confirm address is different second deploy
2023-01-31 19:13:13 -10:00
Jiaying Wang a38e63998e Merge pull request #10154 from filecoin-project/gstuart/re-add-not-serving-v0-api
fix: api: should not serve non v0 apis in v0
2023-01-31 19:18:12 -05:00
omahs 28101be1b7 Fix: typos
Fix: typos
2023-01-31 23:33:11 +01:00
omahs 7d5c7f5fec Fix: typos
Fix: typos
2023-01-31 23:30:09 +01:00
omahs ed63798082 Fix: typo
Fix: typo
2023-01-31 23:28:24 +01:00
omahs 05c5e18899 Fix: typo
Fix: typo
2023-01-31 23:27:40 +01:00
omahs 0c17d78356 Fix: typo
Fix: typo
2023-01-31 23:25:26 +01:00
omahs fa97016573 Fix: typos
Fix: typos
2023-01-31 23:23:42 +01:00
omahs 37d41f3f83 Fix: typo
Fix: typo
2023-01-31 23:20:20 +01:00
Jennifer Wang 5d87fc8278 fix: should not serve non v0 api in v1 2023-01-31 17:06:02 -05:00
Maciej Witowski 27465e5faf Merge pull request #10151 from filecoin-project/maciej/1614
Eth JSON-RPC: from in eth_getTransactionByHash is not correctly popul…
2023-01-31 20:30:33 +01:00
Aayush 99b879d014 Add test for EthGetTransactionByHash 2023-01-31 12:55:46 -05:00
Maciej Witowski dcbfca53d9 Improve the error message 2023-01-31 18:54:05 +01:00
Maciej Witowski 5f2ef98de6 Move assigning from address to the API level 2023-01-31 18:28:12 +01:00
Maciej Witowski 070aca2b65 Eth JSON-RPC: from in eth_getTransactionByHash is not correctly populated #1614 2023-01-31 17:52:46 +01:00
Jiaying Wang dc5f865d54 Merge pull request #10027 from filecoin-project/feat/correct-eth-sub
feat: rpc: correct `eth_subscribe` implementation
2023-01-31 09:44:59 -05:00
Richard Guan 45ceb5d297 move UserAgentOption upwards 2023-01-31 21:46:24 +09:00
Richard Guan a8dace0f23 make libp2p user agent overridable 2023-01-31 21:40:55 +09:00
Phi-rjan b8e7262b14 Merge pull request #10147 from filecoin-project/fix/add-args-usage 2023-01-31 13:03:13 +01:00
Phi b334b2055f fix: cli: add ArgsUsage
fix: cli: add ArgsUsage
2023-01-31 11:56:55 +01:00
Łukasz Magiera ad14d71978 eth rpc: Params are optional in eth_subscribe 2023-01-31 11:08:51 +01:00
Łukasz Magiera 9701b11641 ethtypes: Serialize EthFilterID/EthSubscriptionID correctly 2023-01-31 10:28:12 +01:00
Łukasz Magiera 965b1cf03c itests: Fix TestEthSubscribeLogs 2023-01-31 10:28:12 +01:00
Łukasz Magiera 1286d76988 gateway: eth_subscribe support 2023-01-31 10:28:12 +01:00
Łukasz Magiera 6491becbe1 rpc: Switch eth_subscribe to reverse calls 2023-01-31 10:28:12 +01:00
Łukasz Magiera 13fc5b688f Merge pull request #10028 from filecoin-project/gstuart/cli-color-cleanup
chore: cli: Remove unneeded individual color flags
2023-01-31 09:23:16 +01:00
Łukasz Magiera beb70a3db1 Merge pull request #10116 from filecoin-project/fix/rpcenc-hang
fix: rpcenc: Don't hang when source dies
2023-01-31 09:18:51 +01:00
Łukasz Magiera 482e13706f Merge pull request #10138 from Jorropo/go-bitswap-to-libipfs
chore: node: migrate go-bitswap to go-libipfs/bitswap
2023-01-30 22:52:13 +01:00
Geoff Stuart e0326d9d39 Populate transaction hash database if the database has not been set up before 2023-01-30 16:33:04 -05:00
af72e6f6ac Refactor: Unify EthTx to FilecoinMessage methods v2 (#10095)
* Refactor: Unify EthTx to FilecoinMessage methods

* Filecoin messages can again be converted to Eth Txs

* All BLS messages should calculated tx hash with unsigned message

* Refactor newEthTxReceipt

* fill in from and to for non-eth transactions

* Hoist nil check out of newEthTxFromMessageLookup

---------

Co-authored-by: Aayush <arajasek94@gmail.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-01-30 18:40:14 +00:00
Geoff Stuart 6518122a2d Merge pull request #10144 from filecoin-project/gstuart/sqlite-leak
fix: eth: plug sqlite leak
2023-01-30 12:13:26 -05:00
Geoff Stuart 395cdd721e simplify transaction hash db queries, prevent fd leaks 2023-01-30 11:03:12 -05:00
Jorropo d060df2fb9 chore: node: migrate go-bitswap to go-libipfs/bitswap
This was migrated in https://github.com/ipfs/go-libipfs/pull/63.
2023-01-27 23:10:44 +01:00
Aayush Rajasekaran 60193a2ddd Merge pull request #10136 from filecoin-project/asr/update-types
chore: deps: Update to go-state-types v0.10.0-alpha-11
2023-01-27 15:40:34 -05:00
Aayush 7edfe9d759 Update to go-state-types v0.10.0-alpha-11 2023-01-27 15:32:08 -05:00
Geoff Stuart a9c1caa188 Standardize path variable 2023-01-27 11:27:13 -05:00
Ian Davis eacf3f1830 go fmt 2023-01-27 15:20:23 +00:00
Ian Davis 67805fd25a Refactor to ensure conformance test can run in circleci 2023-01-27 15:13:38 +00:00
Łukasz Magiera 62326b243f Merge pull request #10126 from Jorropo/migrate-go-block-format
chore: all: bump go-libipfs to replace go-block-format
2023-01-27 14:12:23 +01:00
Łukasz Magiera a0771b12eb Merge pull request #9878 from filecoin-project/gstuart/check-allocation-expiry
feat: Check for allocation expiry when waiting to seal sectors
2023-01-27 13:05:09 +01:00
Geoff Stuart d6da796bf2 Merge pull request #10131 from filecoin-project/asr/fix-devnets
fix: devnets: default to starting from nv17
2023-01-26 15:08:27 -05:00
Aayush a64744f213 fix: devnets: default to starting from nv17 2023-01-26 14:57:04 -05:00
Ian Davis 6efe08dd61 Fix comment 2023-01-26 17:39:50 +00:00
Ian Davis 98d6d4eb17 Remove stm: #integration comment 2023-01-26 17:27:55 +00:00
Steven Allen c93717bf77 fix: don't replace the method in EthSendRawTransaction (#10129)
This will just cause signature validation to fail.
2023-01-26 09:22:06 -08:00
Ian Davis 8f625e847b Changed skip message 2023-01-26 17:20:47 +00:00
Ian Davis 17ef4888e4 make gen 2023-01-26 17:09:15 +00:00
Ian Davis 916b8001b4 Skip some rpc conformance tests 2023-01-26 17:07:17 +00:00
Ian Davis daf90ff402 Fix lint errors 2023-01-26 17:01:39 +00:00
Łukasz Magiera 10acef2845 Merge pull request #10127 from filecoin-project/gstuart/backport-docker-fix
backport: fix: ci: Fix dirty git state when building docker images
2023-01-26 17:49:17 +01:00
Ian Davis a0994ac4b4 Check git state in Dockerfile to catch .dockerignore bugs 2023-01-26 11:33:48 -05:00
Ian Davis e55d6c8d65 Always include checked in files in docker context
The .dockerignore file is symlinked to the .gitignore file, and checked
in files should not be removed from our docker context otherwise they
result in dirty git state when we build our images.
2023-01-26 11:33:42 -05:00
Ian Davis 8c58ecc897 Remove old Snapcraft and AppDir folders 2023-01-26 11:33:37 -05:00
Ian Davis 19e188da9f init git submodules in build-docker CI 2023-01-26 11:33:31 -05:00
Geoff Stuart 3e6e02dc7d Merge pull request #9999 from filecoin-project/jen/devnetthings
fix: devnets starts with nv17
2023-01-26 11:31:25 -05:00
Aayush Rajasekaran c08fc2bdf7 Merge pull request #10124 from filecoin-project/fix/actors-circ-supply
fix: stmgr: Add nv18-actors to CircSupply
2023-01-26 11:20:48 -05: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
Łukasz Magiera db9c516429 Merge pull request #10125 from filecoin-project/fix-docker-git-dirty-state
_ci_ / _build_ : Fix dirty git state when building docker images
2023-01-26 16:57:46 +01:00
Phi 4fb9e2fd6a make jen
- Add builtin.EthereumAddressManagerActorAddr to builtin.go.template and make jen
- Rename to EthereumAddressManagerActorAddr to match pattern of other actors (CronActorAddr/etc)
2023-01-26 16:26:39 +01:00
Ian Davis 0f6003fd68 Check git state in Dockerfile to catch .dockerignore bugs 2023-01-26 15:18:12 +00:00
Ian Davis 17d220524c Always include checked in files in docker context
The .dockerignore file is symlinked to the .gitignore file, and checked
in files should not be removed from our docker context otherwise they
result in dirty git state when we build our images.
2023-01-26 15:18:12 +00:00
Ian Davis 98a9c8310b Remove old Snapcraft and AppDir folders 2023-01-26 15:16:41 +00:00
Ian Davis 7cfb2529ac init git submodules in build-docker CI 2023-01-26 15:16:41 +00:00
Ian Davis e8f326681a make gen 2023-01-26 14:51:08 +00:00
Ian Davis df0cf91548 Use new kit.DisableEthRPC method in test 2023-01-26 14:49:02 +00:00
Jennifer Wang 35ddf9e8f0 devnets starts with nv17 2023-01-26 09:47:17 -05:00
Ian Davis e73dc3eb74 Merge branch 'release/v1.20.0' into iand/issue-9849-config 2023-01-26 14:45:47 +00:00
Phi 8f6c569391 Add actors to circ-supply
- Consider funds to EAM as locked
- Add evm, placeholder and ethaccount to circ supply
2023-01-26 15:39:51 +01:00
Geoff Stuart 178e146599 Merge pull request #10123 from filecoin-project/gstuart/backport-update-codeql
backport: chore: ci: Update codeql to v2
2023-01-26 09:36:26 -05:00
Geoff Stuart 5740f17037 Merge pull request #10121 from filecoin-project/feat/better-post-errors
feat: wdpost: Emit more detailed errors
2023-01-26 09:36:11 -05:00
Geoff Stuart c45df789ea Merge pull request #10114 from filecoin-project/fix/cli-cleanup
chore: cli: cleanup cli
2023-01-26 09:25:40 -05:00
Ian Davis 4500c02e49 Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate 2023-01-26 14:23:42 +00:00
Geoff Stuart 36b4c8a9e9 Enable code ql for release branches 2023-01-26 08:55:26 -05:00
Geoff Stuart 038404ef31 Update codeql to v2 2023-01-26 08:55:21 -05:00
Geoff Stuart c3be4f2f15 Merge pull request #10083 from filecoin-project/iand/issue-9849-realtime
itests: add event matrix tests for realtime eth filters and subscriptions
2023-01-26 08:50:51 -05:00
Łukasz Magiera aa0d47078f Merge pull request #10120 from filecoin-project/gstuart/update-codeql
chore: ci: Update codeql to v2
2023-01-26 13:50:50 +01:00
Ian Davis c82dccc76c Merge branch 'release/v1.20.0' into iand/issue-9849-realtime 2023-01-26 12:11:14 +00:00
Ian Davis 7586710395 Fix panic in EthGetCode 2023-01-26 12:10:42 +00:00
Ian Davis a9cd76907e Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate 2023-01-26 11:35:33 +00:00
Łukasz Magiera fc6721cff7 feat: wdpost: Emit more detailed errors 2023-01-26 11:57:16 +01:00
Phi a0b25b9136 less strict ArgsCheck
Less strict ArgsCheck
2023-01-26 10:13:39 +01:00
Geoff Stuart 0cc63f6896 Enable code ql for release branches 2023-01-26 02:46:45 -05:00
Geoff Stuart 291deaa017 Update codeql to v2 2023-01-26 01:58:29 -05:00
Jiaying Wang 2ad9301a6e Merge pull request #10117 from filecoin-project/asr/resolve-TODO
feat: vm: Assert empty object CID when dumping state
2023-01-25 21:29:24 -05:00
Geoff Stuart c6829a9d0e Merge pull request #10113 from filecoin-project/feat/web3_clientVersion
Eth JSON-RPC: implement web3_clientVersion
2023-01-25 15:11:30 -05:00
Aayush 8842b21ec9 feat: vm: Assert empty object CID when dumping state 2023-01-25 12:35:18 -05:00
Aayush Rajasekaran e84dad0967 Merge pull request #10112 from filecoin-project/asr/fix-eth-call
fix: EthAPI: Handle EthCall return correctly
2023-01-25 11:58:51 -05:00
Aayush 7aed7d3fd0 fix: EthAPI: Handle EthCall return correctly 2023-01-25 11:36:59 -05:00
Phi 38dc034499 make docsgen-cli
make docsgen-cli
2023-01-25 17:24:53 +01:00
Aayush Rajasekaran 1c2446da16 Merge pull request #10111 from filecoin-project/asr/fix-eth-get-storage
fix: EthAPI: Drop hack in GetStorageAt
2023-01-25 11:20:31 -05:00
Łukasz Magiera 128bdc63db fix: rpcenc: Don't hang when source dies 2023-01-25 17:14:37 +01:00
Phi 34f376eb23 chore: cli
Standarize cli/code functions similar to: https://github.com/filecoin-project/lotus/pull/9317

- cctx.NArg() instead of cctx.Args().xxx
- Add check for args and print help on functions that did not have it
2023-01-25 13:13:56 +01:00
Ian Davis b38d203e83 Remove debug logging 2023-01-25 09:44:52 +00:00
ychiao 358964d2c8 fix lint 2023-01-24 22:59:46 -05:00
ychiao ee6af9de61 Eth JSON-RPC: implement web3_clientVersion 2023-01-24 22:56:04 -05:00
Aayush 8864782750 fix: EthAPI: Drop hack in GetStorageAt 2023-01-24 13:18:13 -05:00
Ian Davis 58cd226d6b Change EthBlock.Extradata type to EthBytes 2023-01-24 14:46:16 +00:00
Ian Davis 7acdb49074 Add test for eth_call 2023-01-24 14:03:31 +00:00
Ian Davis 2a73e1c2e1 Add test for eth_getStorageAt 2023-01-24 13:12:31 +00:00
Ian Davis 8daf22c3ff Test and fix eth_FeeHistory 2023-01-24 11:27:18 +00:00
Ian Davis c0c8ad5510 Test more functions 2023-01-24 11:10:38 +00:00
Łukasz Magiera 4682e8f326 Merge pull request #10105 from filecoin-project/addr-encode
chore:shed:encode address to bytes
2023-01-24 10:34:47 +01:00
zenground0 f03c7a8880 encode address into byte 2023-01-24 20:18:04 +13:00
Łukasz Magiera 926e2b04b7 Merge pull request #10039 from filecoin-project/test/fevm-stacks
itests: Test FEVM recursive calls
2023-01-23 20:25:32 +01:00
Łukasz Magiera 46746f3495 itests: Test FEVM recursive calls 2023-01-23 19:40:19 +01:00
Łukasz Magiera 74b33bd4a2 Merge pull request #10068 from filecoin-project/test/eam-tests
itests: Test EAM interactions from accounts
2023-01-23 19:36:24 +01:00
Aayush Rajasekaran 4fd81e0c58 Merge pull request #10030 from filecoin-project/asr/merge-release-into-master
chore: merge release/v1.20.0 into master
2023-01-23 13:24:24 -05:00
Aayush 65ac5669a9 Merge branch 'master' into asr/merge-release-into-master 2023-01-23 12:37:24 -05:00
Aayush e9f665214a Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-23 12:23:47 -05:00
Ian Davis 7eca3e4853 Start eth_sendRawTransaction test 2023-01-23 17:22:25 +00:00
Aayush Rajasekaran a21bba8ac2 Merge pull request #10084 from filecoin-project/asr/delegated-siggy
feat: minor improvements to Ethereum delegated siggys
2023-01-23 12:11:51 -05:00
Ian Davis 9fed750f9d Add further tests 2023-01-23 17:09:35 +00:00
Ian Davis 7d1bd1d5ab Use gojsonschema 2023-01-23 16:50:40 +00:00
Geoff Stuart 579b15330a Merge pull request #10097 from filecoin-project/gstuart/ci-fix
Backport: fix: ci: Add back <<network>> parameter for docker push
2023-01-23 11:45:46 -05:00
Geoff Stuart 807a60b4e4 Remove unneeded individual color flags 2023-01-23 11:11:12 -05:00
Łukasz Magiera dd12cad1ef Merge pull request #10100 from filecoin-project/fix/paych-itest-syncwait
fix: itests: Fix flaky paych test
2023-01-23 16:24:42 +01:00
Ian Davis c6d279c853 Decode topic values in EthGetTransactionReceipt 2023-01-23 14:43:36 +00:00
Ian Davis d9261b6e2f itests: validate responses from ethereum json-rpc api 2023-01-23 14:37:51 +00:00
Ian Davis ddd5ff9c42 fix: event filters use cbor encoding internally (#10085) 2023-01-23 14:14:25 +00:00
Łukasz Magiera 238243cc1d Merge pull request #10101 from filecoin-project/fix/listasks-wait
fix: cli: Wait for all results in GetAsks
2023-01-23 12:58:20 +01:00
Łukasz Magiera 53015dc3ee Merge pull request #9981 from filecoin-project/masih/dep-up-dixprov
chore: market: Upgrade to index-provider 0.10.0
2023-01-23 12:53:23 +01:00
Łukasz Magiera 804bef72c9 fix: cli: Wait for all results in GetAsks 2023-01-23 12:48:21 +01:00
Łukasz Magiera c8a692046f fix: itests: Fix flaky paych test 2023-01-23 12:02:42 +01:00
Łukasz Magiera 68e20cebd7 itests: Test EAM interactions from accounts 2023-01-23 11:18:46 +01:00
Ian Davis 640f0dc8b6 Add back <<network>> parameter for docker push
This commit reverts a change with the previous fix for this flow:
- https://github.com/filecoin-project/lotus/pull/10088
2023-01-22 15:13:05 -05:00
Geoff Stuart c8156d0f46 Merge pull request #10096 from filecoin-project/fix-mainnet-docker-ci
Add back <<network>> parameter for docker push
2023-01-22 15:12:14 -05:00
Ian Davis 9d967b084a Add back <<network>> parameter for docker push
This commit reverts a change with the previous fix for this flow:
- https://github.com/filecoin-project/lotus/pull/10088
2023-01-22 16:39:40 +00:00
Aayush 4f199ada40 Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-20 17:32:29 -05:00
Aayush Rajasekaran e695be1cba Merge pull request #10093 from filecoin-project/gstuart/cleanup-v1.20.0
chore: cleanup v1.20.0
2023-01-20 17:30:41 -05:00
Geoff Stuart fff58e1368 Refactor EvmGetInfoCmd 2023-01-20 16:51:01 -05:00
Geoff Stuart 550eef131c Remove references from wallaby and hyperspace 2023-01-20 16:51:01 -05:00
Geoff Stuart 439b4c6e22 Cleanups 2023-01-20 16:51:01 -05:00
Geoff Stuart da574bd842 Merge pull request #10090 from filecoin-project/gstuart/backport-deprecate-appimage
Backport: ci: Remove AppImage and Snapcraft build automation
2023-01-20 15:19:59 -05:00
Ian Davis 20e32f2de7 Remove AppImage and Snapcraft build automation 2023-01-20 15:11:16 -05:00
Geoff Stuart bfe3f72c45 Merge pull request #10089 from filecoin-project/gstuart/backport-ci-fix
backport: fix: ci: Properly balance <<?>> in circleci docker config
2023-01-20 14:49:00 -05:00
Ian Davis fdb330eb58 Properly balance <<?>> in circleci docker config 2023-01-20 14:37:36 -05:00
Geoff Stuart 6d53d0d533 Merge pull request #10088 from filecoin-project/fix-mainnet-docker-ci
Properly balance <<?>> in circleci docker config
2023-01-20 14:36:35 -05:00
Ian Davis d1fa22244f Properly balance <<?>> in circleci docker config 2023-01-20 19:12:22 +00:00
Geoff Stuart 93b9f1a24f Merge pull request #10086 from filecoin-project/gstuart/fix-testground-build
fix: testground build was broken
2023-01-20 13:54:31 -05:00
Geoff Stuart 50f26e9721 Fix testground build 2023-01-20 13:27:04 -05:00
ychiao 57bf1c7a89 Eth JSON-RPC: support passing uint64 in JSON-RPC arguments for EthUint64 2023-01-20 12:37:37 -05:00
Aayush 972e68a8c1 feat: minor improvements to Ethereum delegated siggys 2023-01-20 10:21:00 -05:00
Łukasz Magiera 7632f9bbba itests: Test FEVM recursive calls 2023-01-20 15:50:33 +01:00
Ian Davis c5ed5dd254 itests: add event matrix tests for realtime eth filters and subscriptions 2023-01-20 14:01:25 +00:00
Steven Allen a1efd20e81 itests: remove dead code from DeployContract
We no longer use the nonce here.
2023-01-19 19:53:09 -08:00
Jiaying Wang 1ea57740aa Merge pull request #10052 from filecoin-project/iand/issue-9849-filters
itests: Add tests for EthGetLogs filter combinations
2023-01-19 20:23:00 -05:00
Raúl Kripalani 8802de59d4 remove leftover from merge. 2023-01-20 01:16:34 +00:00
Raúl Kripalani 21c93f1dc1 Merge branch 'release/v1.20.0' into iand/issue-9849-filters 2023-01-20 01:11:31 +00:00
Raúl Kripalani 2a9069200d use len to conduct empty byte array checks. 2023-01-20 00:57:53 +00:00
Jiaying Wang b08b63d4ab Merge pull request #10077 from filecoin-project/gstuart/eth-event-config
feat: Events API enabled by default if EnableEthRPC is true
2023-01-19 19:56:03 -05:00
Jiaying Wang 1ce3ef0416 Merge pull request #10079 from filecoin-project/raulk/fixed-wrong-message-events
fix: events: put the _signed_ message through the pipeline.
2023-01-19 19:54:31 -05:00
Jennifer Wang 63d4c10b9e remove extra event doc 2023-01-19 19:53:21 -05:00
Raúl Kripalani 2c56687527 fix: events: put the _signed_ message through the pipeline.
We were putting the unsigned/VM message through the pipeline.
The events index was storing the _unsigned_ message CID.

However, the Eth tx hash index maps signed Delegated-signature message
CIDs to transaction hashes, i.e. it uses the _signed_ message CID.

As a result, eth_getLogs and other log-related methods were
unable to resolve the transaction hash from the index properly, and
would end up returning 0x00..00 in the transactionHash field.
2023-01-20 00:36:06 +00:00
Geoff Stuart 6601d9031d Set default path for eth event db, set it to enabled by default if EnableEthRPC is set 2023-01-19 18:40:28 -05:00
Shrenuj Bansal 522e96f016 fix: msg signing with delegated keys and send cli changes (#10056)
* fix msg signing with delegated keys and send cli changes

* make gen and docsgen

* address comments
2023-01-19 17:57:48 -05:00
Jiaying Wang 2335bed58a Revert "fix: should not serve non v0 apis in v0" (#10073) 2023-01-19 20:36:03 +00:00
Łukasz Magiera eaccb571a5 fix: config: Fix eth rpc typo (#10076) 2023-01-19 20:35:19 +00:00
Aayush Rajasekaran 196b41d5f6 Merge pull request #10069 from filecoin-project/asr/fix-tsk
fix: chain: put tipsetkey upon expansion of tipset
2023-01-19 14:10:19 -05:00
Łukasz Magiera b4294ff531 Merge pull request #10072 from filecoin-project/feat/ethmod-rpc
config: Fevm.EnableEthPRC
2023-01-19 19:49:29 +01:00
Łukasz Magiera e194cbc715 impl: Cleanup EthTxHashManager handling 2023-01-19 19:30:18 +01:00
raulk 1e845c61a2 add integration test to catch tipset CID flakiness. (#10071) 2023-01-19 18:25:23 +00:00
Łukasz Magiera 60dbd59aa0 itests: Default enable Eth rpc 2023-01-19 19:21:00 +01:00
Łukasz Magiera 66f5ee4ae9 config: Fevm.EnableEthPRC 2023-01-19 18:31:17 +01:00
ZenGround0andzenground0 178aaf6ac4 fix broke invoke (#10031)
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-01-19 11:41:11 -05:00
Travis Person 91a6eabab5 Merge pull request #9982 from filecoin-project/feat/obj-stats
feat: add toolshed commands to inspect statetree size
2023-01-19 08:37:32 -08:00
Aayush 5518e64574 fix: chain: put tipsetkey upon expansion of tipset 2023-01-19 11:33:49 -05:00
Łukasz Magiera 9463dc4a99 Merge pull request #10065 from filecoin-project/jen/api
fix: should not serve non v0 apis in v0
2023-01-19 17:26:44 +01:00
Łukasz Magiera 1dfd08a0dd Merge pull request #10066 from filecoin-project/jen/cherrypic
fix: should not serve non v0 api in v0
2023-01-19 17:26:18 +01:00
Jennifer Wang 901bb153d0 fix: should not serve non v0 api in v1 2023-01-19 11:06:04 -05:00
Jennifer Wang 1724d1666e fix: should not serve non v0 api in v1 2023-01-19 11:02:09 -05:00
Ian Davis 85592ad39e itests: verify eth filter api is disabled via config 2023-01-19 14:59:11 +00:00
Raúl Kripalani 5541694922 fix lint. 2023-01-19 14:14:37 +00:00
Ian Davis f2ab452eb8 Resolve merge conflict 2023-01-19 14:10:23 +00:00
Raúl Kripalani 4dee0ba7fb add a lotus-shed eth check-tipsets command.
This checks Eth API consistency by walking the chain backwards
from HEAD and verifying that all data returned from eth_getBlockByNumber
is consistent with eth_getBlockByHash.
2023-01-19 14:01:39 +00:00
Łukasz Magiera 2f03bf9372 Merge pull request #10010 from filecoin-project/snissn/delegatecalltest3
fevm_test: delegate call test
2023-01-19 14:42:11 +01:00
Ian Davis 58587a7956 Remove unused code 2023-01-19 13:06:07 +00:00
Ian Davis a08b557938 Merge branch 'release/v1.20.0' into iand/issue-9849-filters 2023-01-19 13:01:12 +00:00
Ian Davis ca5cab4c43 Cleanup and fix eth filter tests 2023-01-19 12:58:23 +00:00
Ian Davis 5569c3971b Fix filters with alternate topic values 2023-01-19 12:22:37 +00:00
Ian Davis 6f66ef595e Add filter block range tests 2023-01-19 11:49:07 +00:00
Jiaying Wang a7374a9019 Merge pull request #10055 from filecoin-project/gstuart/tx-hash-to-msg-cid
feat: API for EthGetMessageCidByTransactionHash
2023-01-18 20:00:19 -05:00
Travis Person a0c58b5582 feat: add toolshed commands to inspect statetree size 2023-01-19 00:48:22 +00:00
Geoff Stuart 7dcaa97f8b Add positive tests 2023-01-18 18:59:47 -05:00
Geoff Stuart 70db738bff Merge pull request #10037 from filecoin-project/feat/lotus-shed-beneficiary-cli
feat: shed: Add beneficiary commands
2023-01-18 18:04:22 -05:00
Geoff Stuart 5133b9da94 Add EthGetMessageCidByTransactionHash, fix EthGetTransactionHashByCid 2023-01-18 17:48:10 -05:00
Aayush Rajasekaran a522aa3baa Merge pull request #10053 from filecoin-project/gstuart/integrate-new-bundle
chore: Integrate new bundle, revert accidental ffi
2023-01-18 12:46:24 -05:00
Geoff Stuart 9298023f33 Integrate new bundle, revert accidental ffi 2023-01-18 12:35:13 -05:00
Ian Davis 061e8cca1f Add itest for EthGetLogs filter combinations 2023-01-18 17:33:54 +00:00
Shrenuj Bansal ee54a7f3f5 feat: snapshot: Store tipset key cids in chain store during snapshot import (#10042)
* Store tipset key cids in chain store during snapshot import

* make gen

* fix circle ci config

* fix lint

* address comments
2023-01-18 11:22:05 -05:00
Łukasz Magiera 0934cf034d Merge pull request #10032 from filecoin-project/feat/cbor-cid
feat:shed:add cid to cbor serialization command
2023-01-18 12:51:05 +01:00
Jiaying Wang fcefc87840 Merge pull request #9965 from filecoin-project/gstuart/eth-hash
feat: Store mapping of eth transaction hashes to message cids
2023-01-17 20:06:18 -05:00
zenground0 72baa3d916 cid -> bytes command 2023-01-17 12:19:04 -07:00
zenground0 14d921f64f Err handle 2023-01-17 09:56:17 -07:00
Mike Seiler 2a95648625 linter fixes 2023-01-17 16:53:28 +00:00
Łukasz Magiera 2d3f1e0365 Merge pull request #10035 from aschmahmann/fix/filesize-prevents-windows-lib
fix: sealing: stub out the FileSize function on Windows
2023-01-17 12:48:38 +01:00
Phi 51d2a883f0 Beneficiary cmd in lotus-shed
Add `ProposeChangeBeneficiary` and `ConfirmChangeBeneficiary` to lotus-shed
2023-01-17 12:39:55 +01:00
Adin Schmahmann d35818293a fix: stub out the FileSize command so lotus libraries can build on Windows 2023-01-17 01:03:10 -05:00
zenground0 7383a761f6 Fix 2023-01-16 17:54:38 -07:00
zenground0 39ae4b04be Add cid to cbor cmd 2023-01-16 17:50:47 -07:00
Mike Seiler b49c455df0 golint fix ++ instead of +=1 and add comment to script to build .hex files 2023-01-16 17:06:25 +00:00
Geoff Stuart 34576d0c64 Merge pull request #10003 from filecoin-project/deprecate-snapcraft-appimage
_build_: Remove AppImage and Snapcraft build automation
2023-01-16 11:27:38 -05:00
Ian Davis b60aeccfdc Remove AppImage and Snapcraft build automation 2023-01-16 16:03:35 +00:00
Aayush e715384173 Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-16 10:51:22 -05:00
Łukasz Magiera 67023886c8 Merge pull request #9920 from filecoin-project/gstuart/extend-or-renew
feat: cli: Refactor renew and remove extend
2023-01-16 16:31:11 +01:00
Geoff Stuart 00a73fd88f Merge pull request #10022 from FlattestWhite/richard/color-flag
feat: lotus-cli: Add global color flag
2023-01-16 10:15:12 -05:00
Geoff Stuart 72f42505b9 Explain config more clearly 2023-01-16 08:17:34 -05:00
Geoff Stuart 3b283681a9 Fix test 2023-01-16 07:41:19 -05:00
Geoff Stuart 6b0f1116ce Remove maybe unnecessary check 2023-01-16 07:08:22 -05:00
Geoff Stuart f8121c8f1c Add gc for eth tx database 2023-01-16 07:04:20 -05:00
Geoff Stuart f8dee0983a review fixes 2023-01-16 01:56:55 -05:00
Geoff Stuart a8436074a6 Store mapping from hashes for Ethereum transactions to Filecoin Message Cids 2023-01-16 01:17:56 -05:00
Richard Guan fc82aab74b add bool flag and gen documentation 2023-01-16 16:14:19 +11:00
Jiaying Wang b6eb7fcd96 turn off actor debug fro wallaby and hyperspace (#10019) 2023-01-14 18:31:18 -08:00
Steven Allen 2a3989e4bd fix: check for unread params bytes in all cases (#10018) 2023-01-14 15:45:19 -08:00
Jiaying Wang 5372ab907f Merge pull request #10005 from filecoin-project/feat/fevm-eam-refactor
update evm actor creation for eam refactor
2023-01-14 16:00:16 -05:00
Aayush e0c09c0396 remove invalid test cases 2023-01-14 12:30:06 -05:00
Aayush 86031b117f make jen 2023-01-14 11:56:21 -05:00
Jennifer Wang f6fbd719d0 add latest bundle 2023-01-14 11:52:48 -05:00
Aayush 3a11f22138 fix comments 2023-01-14 11:20:24 -05:00
Steven Allen b4714c6f3e fix send then deploy test
We changed how we compute addresses. It's still broken due to a bug in
the EAM, but the _test_ is now correct(ly failing).
2023-01-13 23:25:54 -08:00
Jennifer Wang 51d77d408b add bundle dev/20230114-pre-rc.2 2023-01-14 01:41:46 -05:00
vyzo 859cdca4f7 update go-state-types
use CreateExternal

use CreateExternal in itest evm deployment

add missing import

update gst
2023-01-14 01:11:11 -05:00
Aayush Rajasekaran cb10108c8e Merge pull request #10012 from filecoin-project/jen/hs
misc: align the network name
2023-01-14 00:50:17 -05:00
Jennifer Wang a6c7696274 align the network name 2023-01-14 00:48:56 -05:00
Aayush Rajasekaran cc86117289 Merge pull request #10007 from filecoin-project/asr/delegated-siggy
fix: delegated signatures: check every field of txs and roundtrip eth <-> FIL
2023-01-14 00:14:38 -05:00
Jennifer Wang 125dcca829 add v8 v9 hyperspace bundle 2023-01-14 00:00:02 -05:00
Steven Allen 1045dce1ea guarantee round-trip 2023-01-13 20:14:22 -08:00
Jiaying Wang 32615ecbd3 Merge pull request #9863 from filecoin-project/feat/eth-gateway-api
feat: eth gateway api
2023-01-13 22:32:51 -05:00
Jiaying Wang 2e23e40240 Merge pull request #10011 from filecoin-project/jen/resolveconflict
misc: resolve conflict again
2023-01-13 22:10:15 -05:00
Mike Seiler 77cdf26223 refactor of fevm_test, addition of delegate call test and a script to compile the .sol solidity files to .hex, add sharable methods into kit/evm 2023-01-14 03:03:06 +00:00
Łukasz Magiera eadf8b680c address review 2023-01-13 21:55:14 -05:00
Jennifer Wang 427fbdb8a9 Merge branch 'release/v1.20.0' into jen/resolveconflict 2023-01-13 21:50:57 -05:00
Jiaying Wang 84bad8a79a Merge pull request #10008 from filecoin-project/jen/sad
fix: hyperspace build
2023-01-13 21:39:28 -05:00
Jennifer Wang 75443681ba im stupid 2023-01-13 21:36:52 -05:00
Jiaying Wang 0731fe2637 Merge pull request #10004 from filecoin-project/raulk/remove-hack
remove leftover hack.
2023-01-13 21:08:24 -05:00
Aayush 3421e6a127 fix: delegated signatures: check every field of txs and roundtrip eth <-> FIL 2023-01-13 20:28:51 -05:00
Aayush Rajasekaran 2de9c4365b Merge pull request #9957 from filecoin-project/asr/ethaccount-tests
feat: more ethaccount abstraction tests
2023-01-13 15:41:31 -05:00
Aayush Rajasekaran 35a37bacdf feat: more ethaccount abstraction tests 2023-01-13 15:07:40 -05:00
Raúl Kripalani e25728cb68 remove leftover hack. 2023-01-13 19:59:09 +00:00
+6 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 574b684396 address review 2023-01-13 20:08:35 +01:00
Łukasz Magiera bb800fd78d Merge pull request #9910 from filecoin-project/gstuart/deps-caching
feat: ci: make ci more efficient
2023-01-13 20:08:20 +01:00
Łukasz Magiera 9b7c506de0 lite node: Use full.EthEventAPI provided by gateway in lite mode 2023-01-13 20:04:42 +01:00
Łukasz Magiera 12c23d7d60 api: Drop EthModuleDummy 2023-01-13 20:04:42 +01:00
Łukasz Magiera 22231dc34f gateway: Limits and proxy for eth_ methods 2023-01-13 20:04:42 +01:00
Łukasz Magiera 708618d11c feat: gateway: eth_ api support 2023-01-13 20:04:41 +01:00
Raúl Kripalani 46a50960d3 track remaining TODOs as TODO::FVM. 2023-01-13 01:44:39 +00:00
Raúl Kripalani 6de2aca8ae change ResolveToKeyAddr => ResolveToDeterministicAddr + friends. 2023-01-13 01:44:39 +00:00
Raúl Kripalani 2c839924c6 fix tests. 2023-01-12 23:50:24 +00:00
Łukasz Magiera 287d410fe8 Merge pull request #9995 from filecoin-project/gstuart/remove-workaround
fix: Remove workaround that is no longer needed
2023-01-12 21:01:17 +01:00
raulk 014d95454b address review comments from @magik6k on #9617 (#9997) 2023-01-12 19:11:48 +00:00
Geoff Stuart 923d4128bb Merge pull request #9875 from filecoin-project/gstuart/remove-expired-claim
feat: cli: list claims and remove expired claims
2023-01-12 12:44:21 -05:00
Geoff Stuart 787470c2b4 Remove workaround that is no longer needed 2023-01-12 12:39:57 -05:00
raulk 3ef32395f3 clean up ethtypes: rationalize ethtypes.EthAddressFromFilecoinAddress and conversion methods (#9992) 2023-01-12 17:09:21 +00:00
Łukasz Magiera 7a509cf0d8 Merge pull request #9711 from filecoin-project/feat/gomod-diff-script
feat: scripts: go.mod dep diff script
2023-01-12 18:07:14 +01:00
ychiaoandraulk 105a1259bc Eth JSON-RPC: use ToFilecoinAddress() to get f4 addr and validate v sig + cleanups (#9970)
Co-authored-by: raulk <raul@protocol.ai>
2023-01-12 14:55:07 +00:00
Raúl Kripalani c61edd1d6d make gen. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 008d04fd57 use existing variable for empty object CID. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 1c7db7c782 clear up error message. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 08ae1391ad address review comments. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 06b40bcedb fix comment. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 892819aeec fix test. 2023-01-12 08:50:38 +00:00
Raúl Kripalani e78dbd2535 gen. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 3320754a62 remove fmt.Println. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 1bfbe447db cli: fix Eth-related CLI (+).
1. Move contract deployment and invocation commands to the "eth" command group.
2. Remove the hack to use EAM#Create2 for an external contract creation.
3. Remove code made stale as a result of these refactors.
2023-01-12 08:50:38 +00:00
Raúl Kripalani 8512bbc45b drop f099 eth_call hack.
We now create the 0x0 Eth null address on genesis as an EthAccount,
so using the 0x0 Eth null address is guaranteed to work.
2023-01-12 08:50:38 +00:00
Raúl Kripalani 593255570b go fmt + lint. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 93b3da98e8 {Delegated=>Deterministic} Address. 2023-01-12 08:50:38 +00:00
Raúl Kripalani d520dbbc4b update genesis logic to create Eth Null Addresses as EthAccounts. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 1e0c78098c constant for Event AMT bitwidth. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 6c0ddd4ec9 fix typos. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 73d6c7b28a move EthAddressFromPubKey to chain/types/ethtypes. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 4aafd42462 strengthen assertions in TestEthNewPendingTransactionFilter. 2023-01-12 08:50:38 +00:00
Raúl Kripalani e60199a823 add link to TODO issue. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 8ef17332ba {predictable=>delegated} addresses. 2023-01-12 08:50:38 +00:00
Raúl Kripalani a71816279d adjust IsValidSecpkSigType and usages. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 8f4c4268ba cleanup. 2023-01-12 08:50:38 +00:00
Raúl Kripalani 6b8d4b4de2 consolidate signature validation logic. 2023-01-12 08:50:38 +00:00
Raúl Kripalani a8c33de80b consolidate signature validation logic. 2023-01-12 08:50:38 +00:00
Raúl Kripalani ac38c9776c add a network version gate to IsValidForSending. 2023-01-12 08:50:38 +00:00
Steven Allen c73a0b5265 fix: fevm: don't hard-code method numbers 2023-01-11 18:44:14 -08:00
Geoff Stuart 12a06defd1 Check sectors for allocation expiry before committing 2023-01-11 16:24:34 -05:00
Geoff Stuart 0ebdbed30b Refactor renew and remove extend 2023-01-11 14:44:08 -05:00
Łukasz Magiera 9a46682d9d Merge pull request #9481 from consensus-shipyard/adlrocha/cns-iface-master
IPC: Abstract common consensus functions and consensus interface
2023-01-11 14:49:27 +01:00
Shrenuj Bansal 3456d90e0d itests: Add tests for eth get balance and transaction submits (#9966)
* Add tests for eth get balance and transaction submits

* fix lint

* one more lint

* Add contract invocation test

* address comments

* fix lint

* address final comment

* make gen and fix lint as always
2023-01-10 19:28:49 -05:00
Aayush Rajasekaran 95501b77dd Merge pull request #9978 from filecoin-project/jen/hyper
feat: network: introduce hyperspace :integrate the new bundle type
2023-01-10 16:23:59 -05:00
Aayush 1046b3014f Update to go-state-types v0.10.0-alpha-9 2023-01-10 16:06:26 -05:00
Aayush 06584bbb78 Fixup multisig_test 2023-01-10 13:35:13 -05:00
Aayush 38c3ab20e8 Update to FVM 3.0.0-alpha.18 2023-01-10 13:14:40 -05:00
Geoff Stuart fd1e0ad7a3 rerun fails 2023-01-10 12:55:36 -05:00
Geoff Stuart 3bae3a3bea Reorg some jobs 2023-01-10 12:55:36 -05:00
Geoff Stuart f9404aa55e Try medium+ 2023-01-10 12:55:36 -05:00
Geoff Stuart 7c448afda8 make build step 2023-01-10 12:55:36 -05:00
Geoff Stuart 8519bc21f9 Merge pull request #9969 from filecoin-project/feat/remove-requirements
fix: cli: remove requirements in helptext
2023-01-10 12:52:23 -05:00
Dirk McCormick a02c783f0e fix: dagstore miner api test 2023-01-10 14:50:38 +01:00
Dirk McCormick fea879088c feat: update to go-fil-markets v1.26.0 2023-01-10 14:43:32 +01:00
Masih H. Derkani 45667b7391 Upgrade to index-provider 0.10.0
Upgrade to the latest index-provider and as a result also upgrade
go-fil-markets.

Note that the index-provider go module is renamed and moved to `ipni`
GitHub org.
2023-01-10 13:08:04 +00:00
Jennifer Wang cb49edf29d update embryo to placehodler 2023-01-09 22:23:55 -05:00
Jennifer Wang 72c04caae9 get hyperspace cids 2023-01-09 21:21:30 -05:00
Jennifer Wang 370c8adec9 add bundle from https://github.com/filecoin-project/builtin-actors/releases/tag/dev%2F20230109-prehyperspace 2023-01-09 21:02:54 -05:00
Jennifer Wang f05d3d8836 add hyperspacenet 2023-01-09 20:41:44 -05:00
ychiao 402173ea16 Merge pull request #9955 from filecoin-project/itest/eth-block
itests: Eth JSON-RPC: EthGetBlockByHash and EthGetBlockByNumber
2023-01-08 17:31:03 +09:00
Mike Greenberg a4a4e04c5e feat(blockstore): Envvar can adjust badger compaction worker poolsize 2023-01-06 17:33:25 -05:00
Aayush Rajasekaran 77b235df90 Merge pull request #9958 from filecoin-project/asr/fevm-registry
Add new FEVM actors to the registry
2023-01-06 13:53:04 -05:00
ZenGround0andzenground0 06393da4ff feat:splitstore:retain tipset references in hot store (#9960)
* Retain tipset reference

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-01-06 12:39:07 -05:00
Geoff Stuart ccd08c2d55 Merge pull request #9959 from filecoin-project/gstuart/sectors-fix
fix: revert change to sectors.go
2023-01-06 12:21:52 -05:00
Aayush Rajasekaran c7ec974ff0 Add new FEVM actors to the registry 2023-01-06 11:38:11 -05:00
Phi f8195deb54 fix: cli: remove requirements
Remove the requirements from the `lotus-worker run` cli
2023-01-06 12:43:12 +01:00
Łukasz Magiera 048ccc71bb Merge pull request #9964 from ribasushi/chore/remove_obsolete_ribastat
chore:shed This stat-set does not belong in core lotus
2023-01-05 10:16:48 +01:00
Łukasz Magiera 37752d1d48 Merge pull request #9962 from filecoin-project/feat/ci-gen-diff
feat: ci: show gen diff more clearly in gen checks
2023-01-05 10:11:58 +01:00
Peter Rabbitson 3de006364e This stat-set does not belong in core lotus 2023-01-04 16:02:25 +01:00
Łukasz Magiera 0881a01433 make gen 2023-01-04 15:35:35 +01:00
Łukasz Magiera 920d0c9e0a feat: ci: show gen diff more clearly in gen checks 2023-01-04 15:23:11 +01:00
Łukasz Magiera 472eaaa1cc Merge pull request #9892 from hanabi1224/close-write
fix: networking: call Stream.CloseWrite right after writing
2023-01-04 15:08:39 +01:00
Łukasz Magiera 273184b084 Merge pull request #9941 from beck-8/feat/add_renew_max_sectors
add renew max-sectors flag
2023-01-04 14:45:30 +01:00
hanabi1224 f4b4a63217 Merge remote-tracking branch 'origin/master' into close-write 2023-01-04 20:10:29 +08:00
hanabi1224 6b14b0536e fix: error checks 2023-01-04 20:10:21 +08:00
beck f3b5c76709 make docsgen-cli 2023-01-04 19:56:45 +08:00
beck 4f9119f211 add check GetAddressedSectorsMax 2023-01-04 19:39:40 +08:00
Łukasz Magiera d8570576af Merge pull request #9902 from filecoin-project/asr/restrict-verifblock
chore: VM: don't export Extern::VerifyBlockSig
2023-01-04 12:18:02 +01:00
Geoff Stuart e8aa95c1d3 Merge pull request #9956 from filecoin-project/fix/remove-unused-env
fix: bench: remove unused env
2023-01-03 11:32:44 -05:00
Geoff Stuart bc6afa9d59 Merge pull request #9884 from filecoin-project/fix/update-sealer-readme
chore: docs: Update storage/readme
2023-01-03 11:32:27 -05:00
Geoff Stuart 19a88e2735 Merge pull request #9912 from filecoin-project/revert-9868-id/fix-snapcraft
Revert "_build_ Set noexecstack on snapcraft builds"
2023-01-03 10:36:48 -05:00
Geoff Stuart 460c91b93f Remove accidental changes to sectors.go 2023-01-03 10:20:34 -05:00
ychiao 7029364f4d check non-existent block hash 2023-01-02 17:21:47 +08:00
hanabi1224 83554afebc Merge remote-tracking branch 'origin/master' into close-write 2023-01-02 16:42:21 +08:00
Phi c6f69946be fix: bench: remove unused env
fix: bench: remove unused environment variable.
2023-01-02 09:07:45 +01:00
ychiao f8e215c817 itests: Eth JSON-RPC: EthGetBlockByHash and EthGetBlockByNumber 2023-01-02 11:20:05 +08:00
Aayush Rajasekaran a4d93d7088 feat: docgen: use real values for Eth types (#9938) 2022-12-27 16:15:22 +00:00
beck 0f9d198dbd add renew max-sectors flag 2022-12-25 21:05:44 +08:00
Aayush a5851a1763 Merge branch 'master' into feat/nv18-fevm 2022-12-23 16:37:26 -05:00
Aayush Rajasekaran cf6593ff50 Merge pull request #9935 from filecoin-project/asr/fixup-docs
fix: docgen: correctly check for exported fields
2022-12-23 16:11:58 -05:00
Aayush Rajasekaran 7c916c10cf Merge pull request #9904 from filecoin-project/asr/put-tsk
fix: chainstore: store tipsetkeys in the blockstore
2022-12-23 14:17:02 -05:00
raulk f532825fe0 Merge pull request #9937 from filecoin-project/raulk/merge-wallaby 2022-12-23 18:27:11 +00:00
Raúl Kripalani 5c8a02f92a back out bundle and network changes. 2022-12-23 18:26:41 +00:00
Raúl Kripalani a22518d96d remove unused var. 2022-12-23 18:21:40 +00:00
Raúl Kripalani a469840290 merge ntwk/wallaby into feat/nv18-fevm.
Unfortunately some important changes to make this branch
consistent and functional only existed on the wallaby branch.
So this commit brings them in sync.
2022-12-23 18:20:46 +00:00
Aayush f60f02c1ac fix: store tipsetkeys in the blockstore 2022-12-23 13:14:06 -05:00
Raúl Kripalani f44bd27f7b fix: eth_blockNumber: make it aware of null rounds. 2022-12-23 18:06:33 +00:00
Raúl Kripalani a18b3583be upgrade to builtin-actors aed216d4deefbf9cdc39770e6869360bb6d30144 2022-12-23 18:06:20 +00:00
Aayush f4ffff7334 fix: docgen: correctly check for exported fields 2022-12-23 12:59:12 -05:00
Raúl Kripalani c7efaaad7e refine docs. 2022-12-23 17:20:57 +00:00
Raúl Kripalani 9505ac88ba add docs. 2022-12-23 17:20:57 +00:00
Raúl Kripalani 8a92e8ea70 add test coverage. 2022-12-23 17:20:57 +00:00
Raúl Kripalani b8b3b5d48b fix: Eth JSON-RPC API: eth_getTransactionReceipt logs-related fixes.
Hardhat doesn't like logs: null in transaction receipts when no logs
were emitted. Wants empty array.

Size logsBloom correctly.
2022-12-23 17:20:57 +00:00
Raúl Kripalani 08382c6f48 regen docs. 2022-12-23 17:20:57 +00:00
ychiao 60c9832429 fix nonce 2022-12-23 17:20:57 +00:00
Raúl Kripalani 4411fd7f81 eth_getTransactionByHash: return nil in some fields when tx is in mpool. 2022-12-23 17:20:57 +00:00
Raúl Kripalani 7ed79fece6 fix: eth_getTransactionByHash: return hash. 2022-12-23 17:20:57 +00:00
Aayush Rajasekaran 336a0e5b85 Merge pull request #9931 from filecoin-project/asr/migration
feat: implement and test the v18 migration
2022-12-22 13:24:53 -05:00
Aayush 9d3e50f140 feat: implement and test the v18 migration 2022-12-22 13:05:00 -05:00
Aayush Rajasekaran 6faa901914 Merge pull request #9932 from filecoin-project/raulk/eth-jsonrpc-api-fixes-1
fix: Eth JSON-RPC API: eth_getTransactionByHash should return nil when not found
2022-12-22 10:22:46 -05:00
Raúl Kripalani bb5cb19607 fix: Eth JSON-RPC API: eth_getTransactionByHash should return nil when not found. 2022-12-22 11:47:46 +00:00
raulkandShrenuj Bansal e7aa7cb04f add a basic FEVM integration test. (#9922)
* add a basic FEVM integration test.

Exercises f4 addresses, placeholder transitions, Ethereum Account.

* remove unused parameter from newEthTxFromFilecoinMessageLookup.

* break when found in newEthTxFromFilecoinMessageLookup.

* fixup test.

* lint and gen.

* move test to itests root package.

Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai>
2022-12-21 15:12:07 -05:00
Aayush Rajasekaran 7073b33d9b Merge pull request #9929 from filecoin-project/asr/ethaccount-refinements
feat: consensus: only embryos with nonce 0 are valid senders
2022-12-21 12:52:33 -05:00
Shrenuj Bansal 2bdae2f444 test: Add f4 address integration test and cli to generate eth address from code (#9924)
* Add f4 integration test and cli to generate eth addr from code

* make gen and docsgen

* fix lint

* address comments

* make gen and make docsgen sigh

* address moar comments

* use existing APIs to determine actor types

* Add IsEvmActor API

* "strings are bad" -Geoff
2022-12-21 12:51:22 -05:00
Aayush 5ff6654c2b feat: consensus: only embryos with nonce 0 are valid senders 2022-12-21 11:15:55 -05:00
Geoff Stuart 2b396b5c0a Merge pull request #9919 from filecoin-project/gstuart/maybe-deflake-test
fix: test: Increase blocktime in TestWindowPostNoMinerStorage
2022-12-21 10:56:01 -05:00
raulk d9c13f19b0 fix: signature validation cache for messages with Delegated signatures. (#9916) 2022-12-20 22:49:53 +00:00
Geoff Stuart 448b9424e9 Increase blocktime in test 2022-12-20 10:52:47 -05:00
Aayush Rajasekaran 28e61691d8 Merge pull request #9911 from filecoin-project/asr/ethaccount-test
Test: EthAccount abstraction: Nonce is updated correctly
2022-12-19 22:55:05 -05:00
Aayush de62a7d1e1 Test: EthAccount abstraction: Nonce is updated correctly 2022-12-19 22:53:03 -05:00
Aayush Rajasekaran d55100b6a8 Merge pull request #9915 from filecoin-project/asr/update-fvm
Update to FVM 3.0.0-alpha.17, actors dev/20221219-fvm-m2
2022-12-19 22:46:21 -05:00
Aayush 1f3c23dc87 Update to FVM 3.0.0-alpha.17, actors dev/20221219-fvm-m2 2022-12-19 22:42:30 -05:00
Ian Davis cfb4e62503 Revert "_build_ Set noexecstack on snapcraft builds" 2022-12-19 13:21:27 -08:00
Shrenuj Bansal 3d3bce6702 Merge pull request #9897 from filecoin-project/sbansal/eth-state-cli
feat: cli: Add cli to inspect Eth addresses and simulate calls
2022-12-19 14:50:52 -05:00
Ian Davis 62f126daff Merge pull request #9751 from filecoin-project/id/remove-packer
_build_: Remove support for AMIs and DO Droplets
2022-12-19 11:46:10 -08:00
Shrenuj Bansal d916253cb5 small nit 2022-12-19 14:41:46 -05:00
Shrenuj Bansal c96608cd33 make gen and docsgen 2022-12-19 13:40:12 -05:00
Shrenuj Bansal 8baa48256a Address more comments 2022-12-19 13:19:52 -05:00
Aayush Rajasekaran a452ab7157 Merge pull request #9907 from filecoin-project/asr/update-ffi-actors-no-merge
Update FFI and actors (dev/20221218-fvm-m2)
2022-12-19 13:17:39 -05:00
Shrenuj Bansal f14eda4468 address comments 2022-12-19 13:05:11 -05:00
Shrenuj Bansal c2629b0a96 Use StateGetActor instead of StateAccountKey 2022-12-19 12:49:45 -05:00
ychiao 20f27af97e eth: rpc: various Ethereum JSON-RPC API fixes (#9837)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Fixes https://github.com/filecoin-project/ref-fvm/issues/1016
Fixes https://github.com/filecoin-project/ref-fvm/issues/1158
Fixes https://github.com/filecoin-project/ref-fvm/issues/1196
Fixes https://github.com/filecoin-project/ref-fvm/issues/1269
Fixes https://github.com/filecoin-project/lotus/issues/9820
2022-12-19 16:45:32 +00:00
Aayush Rajasekaran 6388eca129 Merge pull request #9903 from filecoin-project/fix/splitstore-compact-dlock
fix: splitstore: Don't deadlock in mpool protector
2022-12-19 10:56:53 -05:00
Aayush 669c76ef6e Update FFI and actors (dev/20221218-fvm-m2) 2022-12-18 17:36:59 -05:00
Łukasz Magiera 156ba420c3 fix: splitstore: Don't deadlock in mpool protector 2022-12-17 13:14:50 +01:00
Geoff Stuart 5f4ccfd790 Merge pull request #9901 from filecoin-project/gstuart/merge-fevm-into-events
chore: merge fevm into events
2022-12-16 17:24:59 -05:00
Geoff Stuart 4ae498a72e Fixes 2022-12-16 17:24:46 -05:00
Aayush 28b4ebd52b chore: VM: don't export Extern::VerifyBlockSig 2022-12-16 16:54:09 -05:00
Geoff Stuart 92f3a7b050 Merge branch 'feat/nv18-fevm' into feat/nv18-events 2022-12-16 16:27:14 -05:00
Aayush Rajasekaran c9f1b18264 Merge pull request #9900 from filecoin-project/gstuart/eth-refactor-fixup
chore: eth refactor fixup
2022-12-16 14:53:37 -05:00
Geoff Stuart bc7c190db0 Move all eth stuff into ethtypes 2022-12-16 13:48:06 -05:00
Shrenuj Bansal cbc61a274f small correction on cli usage 2022-12-16 13:16:29 -05:00
Shrenuj Bansal 4b2ff01a55 make gen and lint 2022-12-16 13:03:27 -05:00
Shrenuj Bansal d71f5a7d12 Add cli to inspect Eth addresses and simulate calls 2022-12-16 12:54:50 -05:00
Aayush 7ea690d4be Merge branch 'master' into feat/nv18-fevm 2022-12-16 11:52:41 -05:00
Aayush Rajasekaran 503bdb5c34 Merge pull request #9831 from filecoin-project/asr/account-abstraction
Account abstraction
2022-12-16 11:02:04 -05:00
Geoff Stuart 1dee884358 Merge pull request #9890 from filecoin-project/id/fix-docker-sha-push
Don't include network when publishing mainnet sha image
2022-12-16 09:47:30 -05:00
hanabi1224 6ae7cdab64 call Stream.CloseWrite right after writing 2022-12-16 17:22:53 +08:00
Ian Davis 22ca06f6a1 Use short SHA for docker image tags 2022-12-15 16:51:03 -08:00
Geoff Stuart 425d8a7fcf Merge pull request #9889 from filecoin-project/gstuart/skip-raft-test
chore: Skip TestGoRPCAuth until Raft is fixed
2022-12-15 19:17:37 -05:00
Geoff Stuart dbb52ec5b4 Skip TestGoRPCAuth until Raft is fixed 2022-12-15 18:57:58 -05:00
Ian Davis d2a2fbb858 Don't include network when publishing mainnet sha image 2022-12-15 15:54:08 -08:00
Aayush 54cb97af3f Expand EthAccount abstraction test 2022-12-15 17:22:56 -05:00
Aayush 160bcd64a6 Messagepool: check sender is valid for sending 2022-12-15 16:56:25 -05:00
Aayush 830c3e49d9 Eth: Propogate errors 2022-12-15 16:56:25 -05:00
Aayush 4aa24c2190 Account abstraction: Add test demonstrating workflow 2022-12-15 16:56:25 -05:00
Aayush Rajasekaran d574eda147 Merge pull request #9886 from filecoin-project/asr/delegated-wallet
Support creation and signing of Eth keys
2022-12-15 16:56:10 -05:00
Aayush f8f07dbc70 Support creation and signing of Eth keys 2022-12-15 16:47:06 -05:00
Geoff Stuart 1dcae9aafd Merge pull request #9868 from filecoin-project/id/fix-snapcraft
_build_ Set noexecstack on snapcraft builds
2022-12-15 15:30:30 -05:00
Geoff Stuart 0b1cc40fb4 Merge pull request #9881 from filecoin-project/gstuart/multisig-flake
fix: test: Maybe help with TestMultisigReentrant flakes
2022-12-15 13:18:45 -05:00
Geoff Stuart 806b9a5521 Merge pull request #9874 from filecoin-project/gstuart/always-be-able-to-shutdown
fix: daemon: listen for SIGINT and SIGTERM even before node starts
2022-12-15 13:12:29 -05:00
Geoff StuartandAayush Rajasekaran 1d5ccab004 Update itests/multisig_test.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-12-15 12:55:56 -05:00
Geoff Stuart 88d59f6a5f Set notifications for SIGTERM and SIGINT when we start the cli 2022-12-15 12:54:41 -05:00
Aayush Rajasekaran 36b9fe6386 Merge pull request #9838 from filecoin-project/asr/chain-id
feat: deps: Update FVM3 and actors
2022-12-15 10:48:37 -05:00
Phi bd28a4bca4 Add snap-sector types
Add snap-sector types
2022-12-15 14:29:58 +01:00
Phi 87e384e7fd Update svg-image
We do not depend on specs-storage anymore, this has been moved into lotus (storiface)
2022-12-15 10:49:58 +01:00
Phi a8b406e7b7 Update svg-file
Update svg-file and headings
2022-12-15 10:15:07 +01:00
Geoff Stuart 6ca975e83a Add cli command to get a list of claims 2022-12-15 01:07:47 -05:00
Geoff Stuart 754f294992 Add cli command for removing expired claims 2022-12-15 01:07:47 -05:00
Geoff Stuart 886a28640f Quiet wdpost logs, add error log to multisig reentrant 2022-12-15 01:05:54 -05:00
Aayush 69ac84088a Update the v10 actors testing bundle 2022-12-14 22:17:55 -05:00
Aayush 518e666015 FVM: Set chain ID when creating machine 2022-12-14 21:39:28 -05:00
Aayush 596307b32a Merge branch 'master' into feat/nv18-fevm 2022-12-14 21:38:30 -05:00
Aayush Rajasekaran bc22bb1b89 Merge pull request #9876 from filecoin-project/gstuart/update-gst
chore: Update go-state-types
2022-12-14 21:00:23 -05:00
Aayush 720451c89e Merge branch 'master' into feat/nv18-fevm 2022-12-14 19:54:47 -05:00
Geoff Stuart d615b1c806 Update go-state-types 2022-12-14 19:33:47 -05:00
Aayush Rajasekaran 0c305ed957 Merge pull request #9872 from filecoin-project/gstuart/dont-depend-on-api-refactor-minimal
chore: Move eth functions out of api
2022-12-14 17:06:15 -05:00
Geoff Stuart 3497b53b88 Fix lint 2022-12-14 15:26:58 -05:00
Geoff Stuart 442132be70 Move eth types to chain/types/ethtypes 2022-12-14 14:08:38 -05:00
Geoff Stuart 96bb03e1e0 Move EthTxReceipt to api 2022-12-14 14:00:19 -05:00
Aayush Rajasekaran a264893543 Merge pull request #9873 from filecoin-project/gstuart/print-addr-key-not-found
feat: wallet: Print addr when key not found
2022-12-14 13:36:50 -05:00
Geoff Stuart 8c566c3bda Print addr when key not found 2022-12-14 12:27:06 -05:00
Geoff Stuart 855c35cb88 Move eth functions out of api 2022-12-14 11:57:01 -05:00
Ian Davis ab611199fd Set noexecstack on snapcraft builds
We're currently failing the auoptmated security review on snapcraft
because the lotus binary has the execstack value set:
  https://linux.die.net/man/8/execstack

This commit passes the appropriate flags to ld to disable the execstack
flag when building the binaries for snapcraft:
  https://linux.die.net/man/1/ld

We may want to consider disabling this as part of the main build.
Research seems to indicate that allow the executable stack can lead to
security issues, but I am not enough of a security expert to know for
sure what the right call here is:
  https://f0rm2l1n.github.io/2022-04-02-What-is-happended-to-execstack/
2022-12-13 17:56:28 -08:00
Aayush Rajasekaran 1ddbb417f1 Merge pull request #9866 from filecoin-project/gstuart/actor-key-refactor
chore: Drop actor keys from chain/actors/manifest.go
2022-12-13 20:04:53 -05:00
Geoff Stuart 1a9e8ac35d Merge pull request #9867 from filecoin-project/id/fix-macos-build
_build_: Fix Macos M1 and universal binary builds
2022-12-13 19:45:45 -05:00
Ian Davis 8960c11f86 Add otool -hv check to make sure binary is correct 2022-12-13 16:16:09 -08:00
Ian Davis 93d12e1642 Add v prefix to .tar.gz file names 2022-12-13 16:16:09 -08:00
Ian Davis 9720ce68f2 Download the right go binary on darwin-arm64 2022-12-13 16:16:09 -08:00
Geoff Stuart ae4010ffb6 Drop actor keys from chain/actors/manifest.go 2022-12-13 18:02:34 -05:00
Geoff Stuart f3830b60ae Merge pull request #9861 from filecoin-project/gstuart/use-method-num-for-method-nums
Chore: Use abi.MethodNum instead of uint64 for method nums
2022-12-13 13:03:06 -05:00
Geoff Stuart e1926a06e8 Use abi.MethodNum instead of uint64 for method nums 2022-12-13 12:29:31 -05:00
Shrenuj Bansal ccf1ba2b8a Merge pull request #9860 from filecoin-project/sbansal/merge-releases-to-master-20221213
chore: merge releases back into master
2022-12-13 12:10:56 -05:00
Shrenuj Bansal 3b33f65408 chore: merge releases back into master 2022-12-13 10:53:37 -05:00
Alfonso de la Rocha 3988cc9b2c disabling cb delivery delay for sync tests 2022-12-13 14:50:02 +01:00
Alfonso de la Rocha d574d04075 set small cb delivery delay for paych itests 2022-12-13 13:03:42 +01:00
Alfonso de la Rocha 939e515d23 fix race in cb cache 2022-12-13 12:45:01 +01:00
Alfonso de la Rocha f2cc452d4c remove error from rcvBlock. type/docs gen 2022-12-13 12:13:20 +01:00
Alfonso de la Rocha 91bd679d1e consistent broadcast delay as build param 2022-12-13 11:13:51 +01:00
Alfonso de la Rocha 894da941af Merge branch 'master' into adlrocha/consistent-bcast 2022-12-13 10:31:59 +01:00
Jiaying Wang 64059ca87e Merge pull request #9851 from filecoin-project/jen/19
build: release: v1.19.0
2022-12-12 22:51:39 -05:00
Jennifer Wang 8574fa1350 Merge branch 'release/v1.19.0' into jen/19 2022-12-12 22:21:10 -05:00
Jiaying Wang 2e769f1f0a Merge pull request #9807 from filecoin-project/sbansal/release_v1.19.0_final
chore: update CHANGELOG.md for 1.19.0
2022-12-12 21:41:02 -05:00
Aayush Rajasekaran 59431631aa Merge pull request #9843 from filecoin-project/gstuart/fix-sector-not-found
fix: miner: Check for nil returns from StateSectorGetInfo
2022-12-12 21:24:00 -05:00
Jennifer Wang a56c7aca17 update changelog 2022-12-12 21:22:19 -05:00
Jiaying Wang d674c02c43 Merge pull request #9814 from filecoin-project/jen/cherrypick
fix: ci: release title fix
2022-12-12 16:23:45 -05:00
Shrenuj Bansal 4892e25800 Merge pull request #9845 from filecoin-project/sbansal/frc42-method-num-cli
cli: Add lotus-shed cli for computing frc42 method num
2022-12-12 13:07:06 -05:00
Shrenuj Bansal a5d773da9f go mod changes 2022-12-12 12:03:06 -05:00
Shrenuj Bansal 466f0c583f cli: Add lotus-shed cli for computing frc42 method num 2022-12-12 11:45:44 -05:00
Geoff Stuart f95e6602a0 Check for nil returns from StateSectorGetInfo 2022-12-12 10:44:08 -05:00
Geoff Stuart 33a176eae4 Merge pull request #9753 from filecoin-project/gstuart/fix-devnet-deals
fix: cli: Check upper bound for deal duration
2022-12-12 09:33:23 -05:00
Jennifer Wang e89af899a3 update changelog 2022-12-10 23:40:30 -05:00
Jiaying Wang da3892f902 Merge pull request #9829 from filecoin-project/asr/backport-panic-fix-1.19
chore: backport: panic fix
2022-12-10 23:10:08 -05:00
Jiaying Wang 9416ceb7de Merge pull request #9833 from filecoin-project/release/v1.18.2
build: release: v1.18.2
2022-12-10 22:55:38 -05:00
Jiaying Wang 2cbc29ea09 Merge branch 'releases' into release/v1.18.2 2022-12-10 22:46:32 -05:00
Jiaying Wang 0b30261e5c Merge pull request #9832 from filecoin-project/jen/chan
release: v1.18.2
2022-12-10 22:45:38 -05:00
Jennifer Wang ea4b57854b v1.18.2 2022-12-10 22:31:39 -05:00
Jiaying Wang 5c656133e2 Merge pull request #9830 from filecoin-project/asr/backport-panic-fix-1.18
chore: backport: panic fix
2022-12-10 22:12:40 -05:00
Łukasz Magiera 1a5e38ecf9 sealing: Add a guard check to getExpirationCached when sector not found 2022-12-10 19:00:17 -05:00
Łukasz Magiera 887f00856e fix: sealing: Avoid nil dereference in debug log 2022-12-10 19:00:15 -05:00
Łukasz Magiera b08130a6af sealing: Add a guard check to getExpirationCached when sector not found 2022-12-10 18:56:19 -05:00
Łukasz Magiera 2871377cee fix: sealing: Avoid nil dereference in debug log 2022-12-10 18:56:09 -05:00
Aayush Rajasekaran ab2580963c Merge pull request #9822 from filecoin-project/fix/sealing-updateinput-panic
fix: sealing: Avoid nil dereference in debug log
2022-12-10 18:51:58 -05:00
Geoff Stuart 903242a2a7 Merge pull request #9823 from filecoin-project/fix/sp-start-time-info
fix: miner info: Output correct StartTime
2022-12-09 16:16:59 -05:00
Geoff Stuart 2f8cdb4c4b Merge pull request #9824 from filecoin-project/fix/miner-startup-bin-log
fix: don't log sp address in binary on node startup
2022-12-09 16:16:40 -05:00
Geoff Stuart 29623a1959 Merge pull request #9826 from filecoin-project/id/fix-docker-deployments
_build_: Fix docker deployments
2022-12-09 16:12:19 -05:00
Geoff Stuart b135f7dbce go mod tidy 2022-12-09 15:40:04 -05:00
Geoff Stuart 4936b7e1ae make gen 2022-12-09 15:20:51 -05:00
Phi-rjan 401c655d8c Add link to Node cluster docs
Add link to Node cluster docs
2022-12-09 20:42:46 +01:00
Ian Davis 958fc69906 Fix linter issues 2022-12-09 18:47:21 +00:00
Ian Davis 7722155db1 go mody tidy 2022-12-09 18:40:35 +00:00
Ian Davis 5ad27f56b1 Also push docker images to SHA tags 2022-12-09 18:35:29 +00:00
Ian Davis 0635c1c3b5 Also build / push lotus images 2022-12-09 18:27:31 +00:00
Ian Davis 3b9b688c97 Deploy lotus-all-in-one:master on all master merges 2022-12-09 18:26:51 +00:00
Ian Davis 36183c72d1 Remove echo so docker images actually push 2022-12-09 18:18:08 +00:00
Łukasz Magiera 1234647b9d fix: don't log sp address in binary on node startup 2022-12-09 10:27:33 +01:00
Łukasz Magiera c46bf475f7 fix: miner info: Output correct StartTime 2022-12-09 10:23:49 +01:00
Łukasz Magiera 4854bef927 mod tidy, fix lint 2022-12-09 10:09:49 +01:00
Łukasz Magiera f0bf3408bc sealing: Add a guard check to getExpirationCached when sector not found 2022-12-09 09:56:11 +01:00
Łukasz Magiera 2fd0cb4aff fix: sealing: Avoid nil dereference in debug log 2022-12-09 09:54:28 +01:00
Aayush Rajasekaran 6da93cf921 Merge pull request #9819 from filecoin-project/issue/ref-fvm-1207
Fix getting event logs by topic
2022-12-08 14:29:33 -05:00
Phi-rjan bf17d61686 Add links to docs
Add links to documentation where its applicable.
2022-12-08 18:26:06 +01:00
Ian Davis f4cc5541e4 Fix getting event logs by topic 2022-12-08 17:18:45 +00:00
Aayush Rajasekaran 616790bfa0 Merge pull request #9815 from filecoin-project/issue/ref-fvm-1206
Use correct field for upper epoch range in EthGetLogs
2022-12-08 09:19:10 -05:00
Ian Davis 485d161a5e Use correct field for upper epoch range in EthGetLogs 2022-12-08 12:34:16 +00:00
Phi-rjan 372f8274ae Add SnapDeals highlight to changelog
Add a SnapDeals highlight to changelog for v1.19.0
2022-12-08 13:13:31 +01:00
Łukasz Magiera a10c014ba6 Merge pull request #7398 from ChainSafe/libp2p-pubsub-tracer
Lotus extended pubsub tracer
2022-12-08 12:14:56 +01:00
Phi-rjan 7661c1526b Update CHANGELOG with sub-bullets
Updates the changelog with:
- Sub-bullets explaining the PRs for the most relevant improvements and enhancements.
- Adds more description to the Highlights and links
2022-12-08 10:58:58 +01:00
Ian Davis cdb4e7bc95 Switch release name template from "Release vX.X.X" to "vX.X.X":wq 2022-12-08 03:06:58 -05:00
Jiaying Wang 0026ad8c09 Merge pull request #9813 from filecoin-project/jennijuju-patch-4
feat: ux: add value option to message invocation cli
2022-12-08 03:05:13 -05:00
Jennifer Wang 3bb12f4417 fmt 2022-12-08 02:56:45 -05:00
Jennifer Wang 3a6d37c6a2 make jen 2022-12-08 02:56:13 -05:00
Jiaying Wang 129531b03e Update chain.go 2022-12-08 02:47:39 -05:00
Jiaying Wang 5a3b6becf4 Merge pull request #9792 from filecoin-project/id/update-release-name-template
_ci_ Switch release name template from "Release vX.X.X" to "vX.X.X"
2022-12-08 02:44:29 -05:00
Steven Allen 266492fa1c Merge branch 'feat/nv18-fevm' into feat/nv18-events 2022-12-07 22:16:56 -08:00
Steven Allen 8504401d69 Merge branch 'master' into feat/nv18-fevm 2022-12-07 21:48:15 -08:00
Steven Allen 1ba2f23efc chore: update (wip) nv18 actors and fvm-v3 (#9812) 2022-12-08 05:44:08 +00:00
Aayush Rajasekaran cfceafb576 Merge pull request #9808 from filecoin-project/issue/ref-fvm-1189
Use EthHash compatible type for subscription and filter IDs
2022-12-07 15:28:33 -05:00
Ian Davis 05f983dc10 Mop up some missed package changes 2022-12-07 19:57:58 +00:00
Ian Davis 1afc32f650 Move FilterID to types package 2022-12-07 18:34:19 +00:00
Ian Davis 067f08f092 Fix marshal test 2022-12-07 13:53:25 +00:00
Ian Davis 9d26ba5636 make gen 2022-12-07 12:58:50 +00:00
Ian Davis 56259c40fc Use EthHash compatible type for subscription and filter IDs 2022-12-07 12:51:03 +00:00
Shrenuj Bansal 2b82a46b02 update CHANGELOG.md for 1.19.0 2022-12-06 20:21:45 -05:00
Jiaying Wang 84a1bda771 Merge pull request #9806 from filecoin-project/sbansal/merge_from_1.18.1
chore: Merge releases into v1.19.0 and bump version
2022-12-06 18:05:27 -05:00
Shrenuj Bansal 4e9322c1e5 remove conflict remnant 2022-12-06 17:55:52 -05:00
Shrenuj Bansal e14f0c361f make docsgen 2022-12-06 17:52:01 -05:00
Shrenuj Bansal 43315670fa Merge branch 'releases' into sbansal/merge_from_1.18.1 2022-12-06 17:48:37 -05:00
Shrenuj Bansal f864c499a3 Merge branch 'release/v1.18.1' into sbansal/merge_from_1.18.1 2022-12-06 17:47:28 -05:00
Shrenuj Bansal 83acf590f8 Merge pull request #9805 from filecoin-project/sbansal/update_master_from_releases
chore: merge releases into master
2022-12-06 17:34:00 -05:00
Shrenuj Bansal dbe5278afa fix conflicts 2022-12-06 17:29:32 -05:00
Shrenuj Bansal b624704ecd Merge branch 'releases' into sbansal/update_master_from_releases 2022-12-06 17:21:08 -05:00
Shrenuj Bansal 6b77b949d7 Merge pull request #9804 from filecoin-project/sbansal/v1.19.0_backport_20221206
chore: Backport changes to v1.19.0
2022-12-06 16:30:22 -05:00
Ian Davis c726e4e86a Remove build-debug 2022-12-06 15:37:51 -05:00
Ian Davis 35bcbdc9d0 Remove trigger-testplans, lotus-soup 2022-12-06 15:37:43 -05:00
Ian Davis d506d6755d Remove testplans/* 2022-12-06 15:37:21 -05:00
Shrenuj Bansal b491734ec4 Merge pull request #9802 from filecoin-project/id/remove-lotus-soup-testplans
_ci_ Remove lotus soup + testplans
2022-12-06 13:38:23 -05:00
Łukasz Magiera 8577272164 fix: cliutil: Fix URL-based API endpoint parsing 2022-12-06 12:13:56 -05:00
Ian Davis cf56f246b9 Rely on local env varibale instead of context
We have this env varible set in the project settings as well as the
CircleCI context. Due to what seems like a bug on CircleCI's eng, the
using the context causes our release flow to halt when some member of
the team initiate releases, but not others. So for now, it's safest to
rely on the project settings, which definitely won't cause this issue.
2022-12-06 12:13:32 -05:00
Rod Vagg d9cd19632e deps: upgrade go-merkledag to 0.8.1 (#9717)
Ref: https://github.com/ipfs/go-merkledag/releases/tag/v0.8.1
2022-12-06 12:11:41 -05:00
Ian Davis b747806842 Remove build-debug 2022-12-06 15:27:15 +00:00
Ian Davis ec19e2949e Remove trigger-testplans, lotus-soup 2022-12-06 15:26:52 +00:00
Ian Davis 70d10ab003 Remove testplans/* 2022-12-06 15:25:07 +00:00
Łukasz Magiera be6e586661 Merge pull request #9796 from filecoin-project/cleanup-splitstore-opts
fix: docs: remove unused flag from chain prune
2022-12-06 10:54:19 +01:00
zenground0 e1a4cf02f4 Remove unused flag for clarity 2022-12-05 16:06:03 -07:00
Alfonso de la Rocha 25edb23c3f minor fix after rebase 2022-12-05 18:22:10 +01:00
Alfonso de la Rocha 075216d9da Merge remote-tracking branch 'upstream/master' into adlrocha/cns-iface-master 2022-12-05 18:16:14 +01:00
Ian Davis f8754d91f7 Switch release name template from "Release vX.X.X" to "vX.X.X":wq 2022-12-05 15:23:40 +00:00
Łukasz Magiera 3155b345c1 Merge pull request #9784 from filecoin-project/frrist/config-migration-worker-limit
chain/migrations refactor: optionally set max migration workers
2022-12-05 10:05:44 +01:00
Łukasz Magiera 94e4f1baa5 Merge pull request #9785 from filecoin-project/fix/chainimport-test-flaky
fix: chain: Fix flaky TestChainExportImport
2022-12-05 10:03:23 +01:00
Łukasz Magiera a4c999a098 Merge pull request #9773 from filecoin-project/snissn/fix/make-docsgen-cli
fix make docsgen-cli use python3
2022-12-05 10:02:42 +01:00
FrristandŁukasz Magiera 9a9e00085e Update chain/consensus/filcns/upgrades.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-12-02 15:26:41 -08:00
Łukasz Magiera cdf169ed83 fix: chain: Fix flaky TestChainExportImport 2022-12-02 22:13:12 +01:00
Łukasz Magiera 1791db57f6 Merge pull request #9780 from filecoin-project/fix/parse-api-urls
fix: cliutil: Fix URL-based API endpoint parsing
2022-12-02 22:09:40 +01:00
frrist 0236952955 refactor: optionally set max migration workers
- configure via LOTUS_MIGRATION_MAX_WORKER_COUNT
2022-12-02 11:40:43 -08:00
Łukasz Magiera 11633ff1f7 fix: cliutil: Fix URL-based API endpoint parsing 2022-12-02 20:16:40 +01:00
mike seiler 65a91f38e0 change supported version of python to 3 2022-12-02 10:46:09 -07:00
mike seiler adc62bd732 fix for mac to be able to build docsgen-cli. changes python command to python3 2022-12-02 10:41:22 -07:00
Raúl Kripalani f681a350fc upgrade go-jsonrpc to v0.1.9. 2022-12-01 21:58:25 +00:00
Geoff Stuart d886b46139 Merge pull request #9766 from filecoin-project/asr/bump-pubsub
chore: deps: update go-libp2p-pubsub
2022-12-01 16:30:17 -05:00
Aayush Rajasekaran a58f1284b4 chore: deps: update go-libp2p-pubsub 2022-12-01 12:21:47 -06:00
Aayush Rajasekaran 159528e7ae Merge pull request #9755 from filecoin-project/asr/master-into-nv18-fevm
Merge master into feat/nv18-fevm
2022-11-29 20:30:55 -06:00
Aayush Rajasekaran 6443e72ad7 Merge branch 'master' into feat/nv18-fevm 2022-11-29 20:16:12 -06:00
Aayush Rajasekaran eccea8c7e2 Merge pull request #9754 from filecoin-project/asr/bump-fvm-and-actors
Update FVM & actors
2022-11-29 20:01:50 -06:00
Aayush Rajasekaran 12ad791917 Re-enable TestMultisigReentrant 2022-11-29 19:45:32 -06:00
Aayush Rajasekaran 38fe5b7eff Update FVM & actors 2022-11-29 19:18:59 -06:00
Geoff Stuart c2e469095c Check upper bound for deal duration 2022-11-29 15:18:29 -05:00
Ian Davis 76baeb3214 Remove support for AMIs and DO Droplets
This discontinues packer builds and stops publishing (or attempting to
publish) them to AWS / DO. These have been broken for more than 6
months, and no one seems to have complained or even noticed, which seems
to indicate they are not being used much. For cloud platfrom support, we
can optionally write docker / terraform automation that folks could use
to more easily launch instances to cloud environments instead.
2022-11-29 17:21:28 +00:00
Łukasz Magiera 6abf7384e2 Merge pull request #9741 from filecoin-project/feat/faster-snapshot-import
feat: chain: Faster snapshot imports, zstd import
2022-11-29 18:17:36 +01:00
Ian Davis c3223f446e Merge pull request #9625 from filecoin-project/btrfly-calib-all-in-one
_ci_ Build docker containers automatically for butterflynet, calibnet, and debug
2022-11-29 17:15:58 +00:00
Łukasz Magiera 7b5e8d1e96 Merge pull request #9748 from filecoin-project/feat/metrics-tag-storage-use
feat: metrics: Tag storage path types
2022-11-29 18:06:23 +01:00
Ian Davis e8d769a574 Merge branch 'main' into btrfly-calib-all-in-one 2022-11-29 16:32:14 +00:00
Aayush Rajasekaran 275d9c1553 Merge pull request #9599 from filecoin-project/feat/nv18
NV18 Staging Branch
2022-11-29 10:22:34 -06:00
Aayush Rajasekaran 30acef6c75 make jen 2022-11-29 10:11:48 -06:00
Aayush Rajasekaran 15afe384ff Merge branch 'master' into feat/nv18 2022-11-29 10:01:51 -06:00
Łukasz Magiera 32efd0fbc2 Merge pull request #9497 from ipfs-force-community/fix/add_check_gaspremium
fix:mpool add gaspremium check when less than maxfee
2022-11-29 16:53:22 +01:00
Łukasz Magiera b1045c39ed Merge pull request #9712 from filecoin-project/id/update-go-version
_build_: Update to Go Version 1.18.8
2022-11-29 16:51:21 +01:00
Geoff Stuart 61ac270876 Set more timeouts to 30s 2022-11-29 10:34:19 -05:00
Aayush Rajasekaran c182e6d3f1 Temporarily disable TestMultisigReentrant 2022-11-29 09:31:09 -06:00
Łukasz Magiera 1053310511 Merge pull request #9740 from filecoin-project/id/remove-circleci-context
_ci_: Rely on local env varibale instead of context
2022-11-29 16:21:58 +01:00
Geoff Stuart 6c38e0e9cc Merge pull request #9747 from filecoin-project/fix/unsealpiece-hang
fix: itests: Add missing task type in TestUnsealPiece
2022-11-29 10:20:35 -05:00
Ian Davis 17a130d13d Merge branch 'main' into btrfly-calib-all-in-one 2022-11-29 14:50:02 +00:00
Ian Davis dfbf4d0f43 Bump http-server-timeout default to 30s 2022-11-29 14:38:44 +00:00
Ian Davis 0a4efd4820 Merge branch 'main' into id/update-go-version 2022-11-29 14:29:11 +00:00
Łukasz Magiera ac8ab3ef9e feat: chain: Faster snapshot imports, zstd imports 2022-11-29 14:10:15 +01:00
Łukasz Magiera 57c31a79e7 feat: metrics: Tag storage path types 2022-11-29 13:06:56 +01:00
Łukasz Magiera 33bf148fcf fix: itests: Add missing task type in TestUnsealPiece 2022-11-29 13:02:45 +01:00
Łukasz Magiera a0422f6467 Merge pull request #9737 from filecoin-project/feat/cache-sched-worker-calls
feat: sched: Cache worker calls
2022-11-29 12:58:46 +01:00
Łukasz Magiera 1597e85906 sched: Address review 2022-11-29 11:46:51 +01:00
Łukasz Magiera 5a458a60c2 fix sched_test 2022-11-29 11:44:57 +01:00
Łukasz Magiera 5881edb75e feat: sched: Cache worker calls 2022-11-29 11:44:57 +01:00
Jiaying Wang e68b8e96c7 Merge pull request #9745 from filecoin-project/release/v1.18.1
build:release: v1.18.1
2022-11-29 00:10:14 -05:00
c32b8af65f build:release: v1.18.1 prep (#9744)
* fix: cli: check found before dereferencing SectorInfo

* v1.18.1 prep

* Docsgen-cli

Co-authored-by: Aayush <arajasek94@gmail.com>
Co-authored-by: Geoff Stuart <geoff.vball@gmail.com>
2022-11-28 23:28:32 -05:00
Łukasz Magiera d82b2a5804 Merge pull request #9738 from filecoin-project/feat/sched-cycle-metrics
feat: sched: Add metrics around sched cycle
2022-11-28 23:57:58 +01:00
Łukasz Magiera 285cc66773 Merge pull request #9648 from filecoin-project/fix/snap-abort-cleanup
fix: sealing: More complete snapdeals abort cleanup
2022-11-28 23:26:32 +01:00
Łukasz Magiera 8d090ba6b8 snapdeals cleanup: address review 2022-11-28 23:03:07 +01:00
Ian Davis 6455e759e3 Rely on local env varibale instead of context
We have this env varible set in the project settings as well as the
CircleCI context. Due to what seems like a bug on CircleCI's eng, the
using the context causes our release flow to halt when some member of
the team initiate releases, but not others. So for now, it's safest to
rely on the project settings, which definitely won't cause this issue.
2022-11-28 19:54:07 +00:00
Łukasz Magiera 8ba4355cab Merge pull request #9694 from filecoin-project/9159-allow-lotus-worker-to-unseal-sector-even-if-does-not-store-unsealed-data-long-term
fix: sealing: Set all path types for Unseal pipeline to sealing storage
2022-11-28 20:15:17 +01:00
Łukasz Magiera baa107278d sched: Fix duplicate view on queue sizes 2022-11-28 19:57:51 +01:00
Łukasz Magiera c0fce07889 sched: Metrics around scheduldng workload 2022-11-28 19:51:18 +01:00
Łukasz Magiera 8e79238284 Merge pull request #9713 from filecoin-project/asr/handle-activating
fix: sealer: Tweak confidence for handleUpdateActivating
2022-11-28 19:10:22 +01:00
Łukasz Magiera bc879c5bd8 feat: sched: Add metrics around sched cycle 2022-11-28 19:07:35 +01:00
Geoff Stuart 949aa26f52 Make gen 2022-11-28 13:05:44 -05:00
Shrenuj Bansal 03aabc3fc6 Make unsealing part of the no local sealing config 2022-11-28 12:27:38 -05:00
Geoff Stuart 68c9db0c82 small fix 2022-11-28 11:03:30 -05:00
ychiao f1493fbee7 eth: rpc: fix sendRawTransaction, transactionIndex, feeHistory (#9736)
* Eth JSON-RPC API: add transactionIndex

* Eth JSON-RPC API: fix EthFeeHistory and EthSendRawTransaction

* Eth JSON-RPC API: fix parsing block parameter for getBlockByNumber

* fix itest
2022-11-27 18:44:43 -08:00
Geoff Stuart 1f70ced8e5 Make http server timeouts configurable for cli commands 2022-11-25 17:32:42 -05:00
Geoff Stuart e6e50ee9f7 more linter 2022-11-25 17:05:41 -05:00
Geoff Stuart f04aca767f Maybe rest of linter errors 2022-11-25 16:41:04 -05:00
Geoff Stuart d2b7c3889b Add more timeouts 2022-11-25 16:24:09 -05:00
Geoff Stuart b55e121642 Fix some more linter errors 2022-11-25 16:19:20 -05:00
Geoff Stuart e737c1e960 Make gen 2022-11-25 16:06:19 -05:00
Ian Davis e4fe47d598 Add in two missing error checks 2022-11-25 11:43:26 +00:00
Ian Davis 6770cc69d5 go mod tidy 2022-11-25 11:35:57 +00:00
Ian Davis 9f85d3dca7 Address simple linter issues 2022-11-24 16:32:27 +00:00
Rod Vagg 8fd3875069 deps: upgrade go-merkledag to 0.8.1 (#9717)
Ref: https://github.com/ipfs/go-merkledag/releases/tag/v0.8.1
2022-11-23 19:25:00 -05:00
Aayush 40278cd3c1 Update to go-state-types v0.10.0-alpha-2 2022-11-23 17:36:49 -05:00
Aayush Rajasekaran a435aeb991 Merge pull request #9715 from filecoin-project/gstuart/update-gst-backport
chore: deps: update go-state-types backport
2022-11-23 15:50:50 -05:00
Aayush Rajasekaran 1f9c04b3f4 Merge pull request #9714 from filecoin-project/gstuart/update-gst
chore: deps: Update go-state-types to v0.10.0-alpha-2
2022-11-23 15:50:42 -05:00
Geoff Stuart 2bc070a7d8 Update go-state-types to v0.10.0-alpha-2 2022-11-23 15:31:26 -05:00
Geoff Stuart 4a91d9dcba Update go-state-types to v0.10.0-alpha-2 2022-11-23 15:29:46 -05:00
Łukasz Magiera db6532c9d7 moddiff: Nicer diff 2022-11-23 21:24:00 +01:00
Shrenuj Bansal fa596eee5b Move unsealed sector from sealing to long term storage after Unseal 2022-11-23 15:22:14 -05:00
Aayush 355a08cd04 fix: sealer: Tweak confidence for handleUpdateActivating 2022-11-23 14:38:57 -05:00
Ian Davis ca3b7c3bcf Also update version in CodeQl analysis github action 2022-11-23 19:32:17 +00:00
Ian Davis 9fb818babf Update to golang 1.18.8 in places I forgot about 2022-11-23 19:31:10 +00:00
Ian Davis 2e04575654 Update to Go Version 1.18.8 2022-11-23 19:00:19 +00:00
Łukasz Magiera ea9a8303c8 sealing: tasks: TTReleaseUnsealed -> TTFinalizeUnsealed 2022-11-23 18:57:17 +01:00
Łukasz Magiera d6f73c1a81 sealing: Address snap cleanup review 2022-11-23 18:57:17 +01:00
Łukasz Magiera dc6c2b68fe sealing: Fix tests after finalize changes 2022-11-23 18:57:16 +01:00
Łukasz Magiera 87e5549af5 sealing: Split unsealed cleanup from Finalize 2022-11-23 18:57:16 +01:00
Łukasz Magiera 0bba2bd1ba sealing: Use FinalizeSector in snap abort for cleanup 2022-11-23 18:57:16 +01:00
Łukasz Magiera 7512f82a8d make gen 2022-11-23 18:57:16 +01:00
Łukasz Magiera 211712bf6d itests: Test snapdeals abort cleanup 2022-11-23 18:57:16 +01:00
Łukasz Magiera 4ae2d400d1 Merge pull request #9709 from filecoin-project/id/discontinue-ECR
_build_: Remove ECR image publishing
2022-11-23 17:43:46 +01:00
Łukasz Magiera 985a4bd730 feat: scripts: go.mod dep diff script 2022-11-23 17:41:39 +01:00
Shrenuj Bansal 2520b16445 Merge pull request #9710 from filecoin-project/sbansal/changelog-update
Update CHANGELOG.md
2022-11-23 11:40:43 -05:00
Łukasz Magiera 4c49a4bf67 Merge pull request #9688 from filecoin-project/chore/update-index-provider
chore(deps): update index provider 0.9.1
2022-11-23 17:40:09 +01:00
Shrenuj Bansal 724a7e1ebb Update CHANGELOG.md 2022-11-23 11:35:45 -05:00
Ian Davis 6b4661be92 Remove ECR image publishing
This completely removes publishing to Amamzon ECR. ECR is a private
docker repository (like DockerHub), but since it's private is can only
be used internally by PL teams to launch lotus nodes on AWS
infrastructure. No one currently seems to be using it. All the usual
suspects (Boost, Lotus, Infra) have been asked specifically, and said
they don't, and post has been made in the #engres channel to try and
catch anyone else. No one responded saying we should save it.
2022-11-23 16:24:37 +00:00
Łukasz Magiera 0a555eda90 Merge pull request #9706 from filecoin-project/gstuart/datacap-for-each-check
fix: Add missing check in datacap for-each
2022-11-23 16:56:43 +01:00
Geoff Stuart 1b437c8b90 Merge pull request #9708 from Aloxaf/fix_sealing_workers
fix: cli: show task counts correctly
2022-11-23 09:59:12 -05:00
Łukasz Magiera 0b85c1573e Merge pull request #9627 from LexLuthr/fix/idx-provdr-connection
fix: index-provider: change connection initiation direction between daemon and market
2022-11-23 13:15:17 +01:00
Aloxaf 729952eb88 fix: cli: show task counts correctly 2022-11-23 15:26:53 +08:00
hannahhoward 34d78093e8 chore(deps): update index provider 0.9.1 2022-11-22 20:49:11 -08:00
Shrenuj Bansal 8864d71e7a Merge pull request #9707 from filecoin-project/sbansal/1.19.0-rc2_version_update
Update build version and changelog
2022-11-22 20:32:22 -05:00
Shrenuj Bansal 7b443f5b75 small comment 2022-11-22 20:30:37 -05:00
Shrenuj Bansal 04d3d79ecc make gen and docsgen 2022-11-22 17:39:28 -05:00
Shrenuj Bansal 1968498794 update build version and changelog 2022-11-22 17:20:33 -05:00
Geoff Stuart d9df433e98 Add missing check in datacap for each 2022-11-22 15:40:44 -05:00
Steven Allen 176275267b Merge branch 'feat/nv18' into feat/nv18-fevm 2022-11-22 10:32:26 -08:00
Steven Allen 2651a38f89 Merge branch 'master' into feat/nv18 2022-11-22 10:08:54 -08:00
Geoff Stuart 70dc920f8c Merge pull request #9703 from filecoin-project/asr/fix-panic
fix: cli: check found before dereferencing SectorInfo
2022-11-22 12:54:52 -05:00
Geoff Stuart 2fabffe481 Merge pull request #9704 from filecoin-project/asr/fix-panic-2
fix: cli: correctly return error panic-less-ly
2022-11-22 12:54:43 -05:00
Steven AllenandKevin Li e78d1306ee feat: fvm: add support for looking up past tipset CIDs (#9687)
* feat: add support for generating tipset CIDs

(cherry-picked from feat/nv18-fevm)

* feat: fvm: add support for looking up past tipset CIDs

We do this by adding yet another "getter" to the VM that resolves an
epoch into a TipSetKey.

Co-authored-by: Kevin Li <ychiaoli18@users.noreply.github.com>
2022-11-22 12:41:03 -05:00
Aayush 610a3eee5d fix: cli: correctly return error panic-less-ly 2022-11-22 12:10:12 -05:00
Aayush b472de1bcd fix: cli: check found before dereferencing SectorInfo 2022-11-22 12:06:45 -05:00
Geoff Stuart 64de59ab44 Merge pull request #9700 from filecoin-project/asr/remove-unused-param
refactor: build: remove unused MinVerifiedDealSize
2022-11-22 11:22:12 -05:00
Aayush Rajasekaran 0bf439ff94 Merge pull request #9702 from filecoin-project/1.19.0_backport_20221122
backport: configurable pre check timeouts and zondax hid update
2022-11-22 11:19:16 -05:00
Łukasz Magiera 87c25e211c feat: wdpost: Configurable pre-check timeouts 2022-11-22 11:05:56 -05:00
Łukasz Magiera c117611267 mod tidy 2022-11-22 11:03:53 -05:00
Ian Davis af29d2d5be Update Zondax/hid to 0.9.1
I updated us to an intermediate version based on a git sha. That version
removed a deprecation warning, but caused issues on older versions of
MacOs (Big Sur and lower). This release of Zondax/hid fixes things in a
way that both removes the deprecation warning and works on older MacOS
versions.
2022-11-22 11:03:40 -05:00
Aayush 0d2d0be8e4 refactor: build: remove unused MinVerifiedDealSize 2022-11-22 10:59:36 -05:00
Aayush Rajasekaran 6067968c07 Merge pull request #9654 from filecoin-project/gstuart/gas-estimation-tooling
feat: cli: gas estimation tooling
2022-11-22 09:55:19 -05:00
Łukasz Magiera 0bb7996a4c Merge pull request #9666 from filecoin-project/sbansal/update-lotus-release-template
docs: Update RELEASE_ISSUE_TEMPLATE.md
2022-11-22 12:46:44 +01:00
Alfonso de la Rocha 0b9b89bf2b minor fix 2022-11-22 10:59:43 +01:00
Alfonso de la Rocha f5b027eda3 address review 2022-11-22 10:52:11 +01:00
Alfonso de la Rocha 0f92bced9d Merge branch 'master' into adlrocha/cns-iface-master 2022-11-22 10:28:18 +01:00
Raúl Kripalani 56d60fbbd4 fix git conflict. 2022-11-21 22:40:21 +00:00
lovedret e56d4b06df fix: typos in eth based struct (#9656) 2022-11-21 22:39:03 +00:00
Shrenuj Bansal cc1e00b1c4 make gen 2022-11-21 15:23:44 -05:00
Shrenuj Bansal e4ce056ac6 Set all path types for Unseal pipeline to sealing storage 2022-11-21 14:40:50 -05:00
Łukasz Magiera a344142581 Merge pull request #9683 from james-anchorage/update-go.rice-v1.0.3
chore: update go.rice dependency to v1.0.3
2022-11-21 15:06:06 +01:00
Raúl Kripalani 03a7caf1e6 fix: Eth JSON-RPC API: receipt: logs bloom should be sized 256 bytes. 2022-11-18 20:44:54 +00:00
Raúl Kripalani b8901ff5fd fix: Eth JSON-RPC API: return empty logs array in receipt when no logs. 2022-11-18 20:35:57 +00:00
Raúl Kripalani c474aeee5e fix: Eth JSON-RPC API: return empty bloom on every block. 2022-11-18 19:49:39 +00:00
Raúl Kripalani ec667d49f4 fix: Eth JSON-RPC API: empty EthBytes serializes to '0x'. 2022-11-18 19:01:30 +00:00
Shrenuj Bansal 93c2e02235 Merge pull request #9685 from filecoin-project/gstuart/backport-goreleaser
baackport: ci: Fix issues with new goreleaser flow
2022-11-18 12:54:11 -05:00
Geoff Stuart fb90ba1fd1 Merge pull request #9684 from filecoin-project/id/fix-goreleaser
_build_: Fix issues with new goreleaser flow
2022-11-18 12:03:29 -05:00
Ian Davis 93698b6a83 Turn on goreleaser debug logging
This will give us much more detailed information in the release job, so
we can more easily debug issues when they occur.
2022-11-18 12:01:11 -05:00
Ian Davis 96f5697848 Add binary name to goreleaser build configs
Without this name, it assumes all binaries share the name of the project
(i.e. lotus), which causes them all to get renamed and collide when
generating the archive.
2022-11-18 12:01:11 -05:00
Ian Davis ff5c576a4d Remove kubo download after installing
Goreleaser checks to make sure we don't have a dirty git state when
releasing, which means the kubo download we use to set up IPFS should be
removed before release.
2022-11-18 12:01:11 -05:00
Ian Davis 8586ea5d78 Use new workspace name in build script 2022-11-18 12:01:11 -05:00
Ian Davis 2ae22e11ae Use context with goreleaser key 2022-11-18 12:01:11 -05:00
Ian Davis 0fd73272ea Turn on goreleaser debug logging
This will give us much more detailed information in the release job, so
we can more easily debug issues when they occur.
2022-11-18 16:34:49 +00:00
Ian Davis d48b6a0535 Add binary name to goreleaser build configs
Without this name, it assumes all binaries share the name of the project
(i.e. lotus), which causes them all to get renamed and collide when
generating the archive.
2022-11-18 16:34:49 +00:00
Ian Davis 81d4342d97 Remove kubo download after installing
Goreleaser checks to make sure we don't have a dirty git state when
releasing, which means the kubo download we use to set up IPFS should be
removed before release.
2022-11-18 16:34:03 +00:00
Ian Davis a0320d0101 Use new workspace name in build script 2022-11-18 16:33:55 +00:00
Ian Davis 5df2d9a4f6 Use context with goreleaser key 2022-11-18 16:33:55 +00:00
James Boer ccf2fe66c0 update go.rice dependency to v1.0.3 2022-11-18 16:03:27 +00:00
Geoff Stuart 96035005b8 Fold together call functions 2022-11-18 00:10:12 -05:00
Łukasz Magiera 60c79c7d4e Merge pull request #9680 from filecoin-project/feat/config-post-check-timeout
feat: wdpost: Configurable pre-check timeouts
2022-11-17 20:48:23 +01:00
Łukasz Magiera 716b981dc5 Merge pull request #9679 from filecoin-project/id/update-hid
fix/build: Update Zondax/hid to 0.9.1
2022-11-17 18:56:48 +01:00
Łukasz Magiera c82b4a13a1 mod tidy 2022-11-17 18:37:48 +01:00
Łukasz Magiera 71a84bb092 feat: wdpost: Configurable pre-check timeouts 2022-11-17 18:25:30 +01:00
Shrenuj BansalandAayush Rajasekaran 46cd0809e1 Update documentation/misc/RELEASE_ISSUE_TEMPLATE.md
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-11-17 12:02:22 -05:00
Steven Allen 348494d7c8 feat: actors: add the evm to the builtin actors shims (#9672) 2022-11-17 06:55:40 -08:00
Steven Allen 9c500e119c fix: wallaby parameters file (#9675) 2022-11-16 19:31:36 -08:00
vyzo 5386bc2625 NV18: FEVM: setup FEVM during genesis: create ETH0 actor (#9664)
* setup FEVM during genesis: create ETH0 actor

* make gen

* doExec expects to,from not from, to

* give EAM a predictable address

* update go-state-types

* proper constructor params

* workaround the situation with empty contracts

* put fevm construction after miner construction

* lint

* fix TestAPI itest

off by 1, the new miner is not 1001 anymore; that's ETH0.

* add itest for ETH0 setup

* improve test: check eth0 address
2022-11-16 17:42:38 -08:00
Aayush Rajasekaran ea629e1b2a Merge pull request #9667 from filecoin-project/frrist/actor-gen-again
refactor: chain/actors: add inspection methods to actor gen interface
2022-11-16 20:42:16 -05:00
frrist 0ae02be001 I love code gen somuchss 2022-11-16 17:22:20 -08:00
frrist 4f513692f9 fix: update paych mock to sat interface 2022-11-16 17:22:20 -08:00
frrist e61b9b2a65 refactor: add inspection methods to actor gen interface
- adds the following methods to all generated actor interfaces:
  - Code() cid.Cid
  - ActorKey() string
  - ActorVersion() actorstypes.Version
  - AllCodes() []cid.Cid
2022-11-16 17:22:18 -08:00
Geoff Stuart a38d32562e Merge pull request #9669 from filecoin-project/gstuart/ignore-generated-files-in-diff
feat: Use gitattributes to ignore generated files in diffs
2022-11-16 20:21:41 -05:00
Aayush Rajasekaran 85960256ca Merge pull request #9668 from filecoin-project/frrist/expose-init-actor-address-map
refactor: chain/actors: expose address map bitwidth and hash function
2022-11-16 20:06:40 -05:00
Geoff Stuart e71d05ba66 Use gitattributes to ignore generated files in diffs 2022-11-16 20:05:22 -05:00
frrist a780756eac refactor: expose address map bitwidth and hash function 2022-11-16 14:49:42 -08:00
Raúl Kripalani ce91e4261d nolint. 2022-11-16 22:42:45 +00:00
Raúl Kripalani e63d5e184c make gen. 2022-11-16 22:42:32 +00:00
Raúl Kripalani f809dbdd6a fix test compilation. 2022-11-16 22:29:53 +00:00
Steven Allen ba2e665fc2 fix: tvx: missing parentheses (#9649)
https://github.com/filecoin-project/ref-fvm/issues/944#issuecomment-1315245773
2022-11-16 17:19:45 -05:00
Raúl Kripalani 2ff679c679 fix test compilation. 2022-11-16 22:18:40 +00:00
Raúl Kripalani 7a71ce48f4 fix: left pad log values to full EVM words. 2022-11-16 22:08:27 +00:00
Aayush Rajasekaran 303297ae85 Merge pull request #9662 from filecoin-project/asr/update-ffi
chore: deps: update ffi
2022-11-16 16:46:22 -05:00
Raúl Kripalani 23007b0b3b fix: do not hash log values; decode as cbor byte arrays. 2022-11-16 21:45:42 +00:00
Raúl Kripalani b90451792d upgrade ffi. 2022-11-16 21:17:52 +00:00
Raúl Kripalani d441425618 eth_getTransactionReceipt: return type & non-zero bloom if logs, rm root. 2022-11-16 21:16:27 +00:00
Shrenuj Bansal 61ffbbc42d Update RELEASE_ISSUE_TEMPLATE.md 2022-11-16 16:12:04 -05:00
Shrenuj Bansal 19964df99a Merge pull request #9661 from filecoin-project/generate-changelog-v1.19.0-rc1
chore: Update changelog for v1.19.0-rc1
2022-11-16 16:07:24 -05:00
Shrenuj BansalandAayush Rajasekaran 7de8d32ab8 update version
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-11-16 16:07:00 -05:00
Raúl Kripalani a536f533d8 Eth JSON-RPC API: make EthLog#Data a string. 2022-11-16 20:51:28 +00:00
Aayush Rajasekaran 12153055b4 Merge pull request #9665 from filecoin-project/gstuart/backport-linux-binaries
backport: Forgot to include linux binaries in goreleaser
2022-11-16 15:38:39 -05:00
Ian Davis 5b4ec7dbea feat: add test and fixes for EthSubscribe (#9659) 2022-11-16 20:26:57 +00:00
Geoff Stuart 1f93d8594e Merge pull request #9663 from filecoin-project/id/include-linux-in-goreleaser
_ci_ Forgot to include linux binaries in goreleaser
2022-11-16 15:23:29 -05:00
Shrenuj BansalandAayush Rajasekaran ec9d2d1102 small update
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-11-16 15:23:19 -05:00
Ian Davis 0ff0f4d0e4 Forgot to include linux binaries in goreleaser 2022-11-16 15:09:18 -05:00
Geoff Stuart 21afb3f5ea Review fixes 2022-11-16 15:07:23 -05:00
Aayush Rajasekaran 04b52cc25d Merge pull request #9660 from filecoin-project/sbansal/update-lotus-version-1.19.1
chore: update lotus version to 1.19.1-dev
2022-11-16 15:00:23 -05:00
Ian Davis 33805a14b9 Forgot to include linux binaries in goreleaser 2022-11-16 19:48:05 +00:00
Shrenuj Bansal d98b100595 chore: Update changelog for v1.19.0-rc1 2022-11-16 14:29:00 -05:00
Aayush c7ac44d3bb chore: deps: update ffi 2022-11-16 14:24:10 -05:00
Shrenuj Bansal 22fbb3704c chore: update lotus version to 1.19.0-rc1 2022-11-16 13:55:01 -05:00
Shrenuj Bansal 233f28696d chore: update lotus version to 1.19.1 2022-11-16 13:50:44 -05:00
Ian Davis 0af570ac46 Update Zondax/hid to 0.9.1
I updated us to an intermediate version based on a git sha. That version
removed a deprecation warning, but caused issues on older versions of
MacOs (Big Sur and lower). This release of Zondax/hid fixes things in a
way that both removes the deprecation warning and works on older MacOS
versions.
2022-11-16 18:49:02 +00:00
Aayush Rajasekaran 49552c2c0a Merge pull request #9657 from filecoin-project/asr/merge-release-into-master
chore: merge release into master
2022-11-16 11:51:05 -05:00
Aayush 084e3414f0 Merge branch 'releases' into asr/merge-release-into-master 2022-11-16 10:53:33 -05:00
raulk cd180f1325 Merge pull request #9646 from iand/feat/nv18-events-historic 2022-11-16 14:38:24 +00:00
Raúl Kripalani 1ab39a40da simplify by moving receipt constructor logic to API. 2022-11-16 14:15:29 +00:00
Raúl Kripalani 32385a97cd Eth JSON-RPC API: return logs in eth_getTransactionReceipt. 2022-11-16 13:53:27 +00:00
Raúl Kripalani 7c2dcc8db6 Eth JSON-RPC API: add aliases for new methods. 2022-11-16 12:59:46 +00:00
Ian Davis 5a1f8d8f28 Return eth blocks not tipsets in subscriptions 2022-11-16 12:57:03 +00:00
Ian Davis 314fb31886 Fix signature of EthSubscribe 2022-11-16 12:18:25 +00:00
Ian Davis 8134d2f05b Parse block heights as hex 2022-11-16 12:08:48 +00:00
Ian Davis 41bf2a0297 Load actor to resolve address 2022-11-16 11:50:00 +00:00
Ian Davis d5177a394a Add TestEthGetLogsAll itest 2022-11-16 11:22:30 +00:00
Ian Davis b5f95b7837 Fix invalid address flake in TestEthNewFilterCatchAll 2022-11-16 10:53:31 +00:00
Ian Davis 0376b7b3e6 More assertions in TestEthNewFilterCatchAll 2022-11-16 10:27:20 +00:00
Raúl Kripalani 28035525f4 Merge branch 'feat/nv18-events' into feat/nv18-events-historic 2022-11-16 09:39:17 +00:00
Raúl Kripalani 2e577e3338 update filecoin-ffi and actors v10 bundle. 2022-11-16 09:37:24 +00:00
Raúl Kripalani 28b80a291f Merge branch 'feat/nv18-fevm' into feat/nv18-events 2022-11-16 09:34:53 +00:00
raulk 2735e81aaa feat: events: integrate with FVM changes (#9644) 2022-11-16 09:30:35 +00:00
Geoff Stuart 62fedfbce3 Make pre-migration optional 2022-11-15 23:12:04 -05:00
Geoff Stuart cde4b804e3 gas estimation shed command 2022-11-15 21:39:56 -05:00
+3 bd10bdf99a build: release: v1.18.0 (#9652)
* build: Bump version to v1.17.3-dev

* build: set version to v1.18.0-dev

* chore: actors: Allow builtin-actors to return a map of methods (#9342)

* Allow builtin-actors to return a map of methods

* go mod

* Fix tests

* Fix tests, check carefully please

* Delete lotus-pond (#9352)

* feat: add StateNetworkVersion to mpool API

* chore: refactor: rename NewestNetworkVersion

* feat: actors: Integrate datacap actor into lotus (#9348)

* Integrate datacap actor

* Implement datacap actor in chain/builtin

* feat: support typed errors over RPC

* chore: deps: update to go-jsonrpc 0.1.8

* remove duplicate import

* fix: itest: check for closed connection

* chore: refactor: move retry test to API

* address magik supernit

* Add ability to only have single partition per msg for partitions with recovery sectors

* doc gen

* Address comments

* Return beneficiary info from miner state Info()

* Update builtin-actors to dev/20220922-v9 which includes FIP-0045 changes in progress

* Integrate verifreg changes to lotus

* Setup datacap actor

* Update builtin-actors to dev/20220922-v9-1

* Update datacap actor to query datacap instead of verifreg

* update gst

* update markets

* update actors with hamt fix

* update gst

* Update datacap to parse tokens

* Update bundles

* datacap and verifreg actors use ID addresses without protocol byte

* update builtin-actors to rc1

* update go-fil-markets

* Update bundles to rc2

* Integrate the v9 migration

* Add api for getting allocation

* Add upgrade epoch for butterfly

* Tweak PreSeal struct to be infra-friendly

* docsgen

* More tweaking of PreSeal for genesis

* review fixes

* Use fake cid for test

* add butterfly artifacts for oct 5 upgrade

* check datacaps for v8 verifreg match v9 datacap actor

* Remove print statements

* Update to go-state-types master

* Update to go-state-types v0.9.0-rc1

* review fixes

* use go-fil-markets v1.24.0-v17

* Add accessors for allocations and claims maps

* fix: missing permissions tag

* butterfly

* update butterfly artifacts

* sealing pipeline: Prepare deal assigning logic for FIP-45

* sealing pipeline: Get allocationId with StateApi

* use NoAllocationID instead of nil AllocationId

* address review

* Add datacap actor to registry.go

* Add cli for listing allocations and removing expired allocations

* Update to go-state-types master

* deps: upgrade go-merkledag to 0.8.0

* shark params

* Update cli/filplus.go

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>

* revert change to verifreg util

* docsgen-cli

* miss the stuff

* Update FFI

* Update go-state-types to v0.9.0

* Update builtin-actors to v9.0.0

* add calib upgrade epcoh

* update  the upgrade envvar

* kill shark

* Remove fvm splash banner from nv17 upgrade

* check invariance for pending deals and allocations

* check pending verified deal proposal migrated to allocation

* Add check for unsealed CID in precommit sectors

* Fix counting of allocations in nv17 migration test

* make gen

* pass state trees as pointers

* Add assertion that migrations with & without cache are the same

* compare allocation to verified deal proposal

* Fix miner state precommit info

* fix migration test tool

* add changelog

* Update to go-state-types v0.9.1

* Integrate builtin-actors v9.0.1

* chore: ver: bump version for rc3 (#9512)

* Bump version to 1.18.0-rc3

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>

* Update CHANGELOG.md

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>

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

* Migration: Use autobatch bs

* Fix autobatch

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>

* Invoker: Use MethodMeta from go-state-types

* Add a second premigration for nv17

* Add more shed tools for migration checking

* address review

* Lotus release v1.18.0-rc4

* fix: ci: fix app-image build on ci (#9527)

* Remove old go version first

* Add GO_VERSION file

* Use GO_VERSION to set / verify go version

* mv GO_VERSION GO_VERSION_MIN

* Use GO_VERSION_MIN in Makefile check

Co-authored-by: Ian Davis <jungziege@gmail.com>

* Update to latest go-state-types for migration fixes

* go mod tidy

* fix: use api.ErrActorNotFound instead of types.ErrActorNotFound

* fix: add fields to ForkUpgradeParams

* docs: update actors_version_checklist.md

* chore: fix lint

* update to go state type v0.9.6 with market migration fix (#9545)

* update go-state-types to v-0.9.7

* Add invariant checks to migration

* fix invariant check: number of entries in datacap actor should include verifreg

* Invariant checks: Only include not-activated deals

* test: nv17 migration

* Address review

* add lotus-shed invariance method

* Migration cli takes a stateroot cid and a height

* make gen

* Update to builtin-actors v9.0.2

* Failing test that shows that notaries can remove datacap from the verifreg actor

* Test that should pass when the problem is solved

* make gen

* Review fixes

* statemanager call function will return call information even if call errors

* update go-state-types

* update builtin-actors

* bubble up errors properly from ApplyImplicitMessage

* bump to rc5

* set new upgrade heights for calibnet

* set new upgrade height for butterfly

* tweak calibnet upgrade schedule

* clarify changelog note about calibnet

* butterfly

* update calibnet artifacts

* Allow setting local bundles for Debug FVM for av 9+

* fix: autobatch: remove potential deadlock when a block is missing

Check the _underlying_ blockstore instead of recursing. Also, drop the
lock before we do that.

* fix imports

* build: set shark mainnet epoch (#9640)

* chore: build: Lotus release v1.18.0 (#9641)

* Lotus release v1.18.0

* add changelog

* address review

* changelog improvement

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

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
Co-authored-by: Łukasz Magiera <magik6k@gmail.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Aayush <arajasek94@gmail.com>
Co-authored-by: Geoff Stuart <geoff.vball@gmail.com>
Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai>
Co-authored-by: simlecode <69969590+simlecode@users.noreply.github.com>
Co-authored-by: Rod Vagg <rod@vagg.org>
Co-authored-by: Jakub Sztandera <kubuxu@protocol.ai>
Co-authored-by: Ian Davis <jungziege@gmail.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
2022-11-15 20:57:23 -05:00
Shrenuj Bansal 04f0af5865 Merge pull request #9294 from filecoin-project/sbansal/nonce-coordination-and-consensus-for-chain-nodes
Raft consensus for lotus nodes in a cluster
2022-11-15 17:25:04 -05:00
Shrenuj Bansal 22f3fbb9a3 Add comment to Push API 2022-11-15 17:02:08 -05:00
Shrenuj Bansal c0925ffb92 Remove some configs 2022-11-15 16:46:48 -05:00
Shrenuj Bansal 945122190e remove moar commented out code 2022-11-15 16:18:40 -05:00
Ian Davis bcdfc17e2a Fix TestEthNewFilterCatchAll 2022-11-15 18:21:24 +00:00
Ian Davis 98210ec6e0 Add lint directive 2022-11-15 18:14:43 +00:00
Ian Davis 7ef997330f make gen 2022-11-15 18:08:45 +00:00
Ian Davis 10357112e5 Add basic itests for ethereum filter api 2022-11-15 18:02:36 +00:00
Ian Davis ade75af765 Update filecoin-ffi to https://github.com/filecoin-project/filecoin-ffi/pull/332 2022-11-15 16:07:34 +00:00
Ian Davis c31662d92a make gen 2022-11-15 15:48:47 +00:00
Ian Davis 48ea46990e go mod tidy 2022-11-15 15:34:59 +00:00
Shrenuj Bansal 4b11b453be remove comments 2022-11-15 10:34:25 -05:00
Ian Davis 73655eda3c Fix for event entry key type is now a string 2022-11-15 15:33:08 +00:00
Ian Davis e2ddc9745c Fix lint error 2022-11-15 15:28:24 +00:00
Ian Davis bf1fcf88b1 Check actor event database schema version 2022-11-15 15:28:24 +00:00
Ian Davis 32839f6919 Initialise event index in di 2022-11-15 15:28:24 +00:00
Ian Davis 0d9c474a59 Implement EthGetLogs 2022-11-15 15:28:24 +00:00
Ian Davis 0e8dd9efc5 Add historic event indexing 2022-11-15 15:28:24 +00:00
Raúl Kripalani 907c201912 add a FEVM events itest. 2022-11-15 15:24:29 +00:00
Raúl Kripalani 4313917e4c Merge branch 'feat/nv18-fevm' into raulk/events-integrate-fvm 2022-11-15 14:47:23 +00:00
raulk 7e759547bc create EVM utilities in itest framework. (#9645) 2022-11-15 14:43:54 +00:00
Raúl Kripalani f22762d94d create EVM utilities in itest framework. 2022-11-15 13:57:36 +00:00
Raúl Kripalani 43e2a2b451 fix merge error. 2022-11-15 13:31:28 +00:00
Raúl Kripalani 28ec43cdea Merge branch 'feat/nv18-events' into raulk/events-integrate-fvm 2022-11-15 13:06:18 +00:00
Ian DavisandRaúl Kripalani 273ac513fc Ethereum actor events API fixes (#9639)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-11-15 13:02:11 +00:00
Raúl Kripalani 30050a6cb2 make gen. 2022-11-15 12:39:10 +00:00
Raúl Kripalani 40b8e9562e fix {=>New}EthHashFromCid. 2022-11-15 12:38:59 +00:00
Raúl Kripalani 846aea57c5 Merge branch 'feat/nv18-fevm' into feat/nv18-events 2022-11-15 12:28:25 +00:00
Raúl Kripalani f4341330b9 cli: evm/invoke-evm-actor: print events. 2022-11-15 12:22:45 +00:00
Raúl Kripalani 7cc2c5ce71 fix types in Eth API. 2022-11-15 12:22:36 +00:00
Raúl Kripalani 476a9331f8 fix Event schema + cbor-gen. 2022-11-15 12:15:23 +00:00
Raúl Kripalani 5249a35212 update ffi to filecoin-project/filecoin-ffi#332. 2022-11-15 12:07:34 +00:00
Raúl Kripalani 6f51ec24ae update builtin-actors v10 bundle to http://filecoin-project/builtin-actors#839. 2022-11-15 12:06:24 +00:00
raulk c75d0c4bd1 feat: events: version the MessageReceipt structure. (#9636) 2022-11-15 12:00:39 +00:00
Łukasz Magiera 0e07fa94d0 Merge pull request #9613 from filecoin-project/feat/wdpost-robustness
feat: storage: Force exit GenerateSingleVanillaProof on cancelled context
2022-11-15 10:30:25 +01:00
Shrenuj Bansal b95d1a6323 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-11-14 17:50:52 -05:00
Shrenuj Bansal f14a25a59b make gen and docsgen 2022-11-14 16:54:31 -05:00
Łukasz Magiera fd593186fa Merge pull request #9643 from filecoin-project/gstuart/proving-check-fix
fix: miner-cli: Fix lotus-miner proving check
2022-11-14 22:53:50 +01:00
Shrenuj Bansal ab1eeeba24 one more 2022-11-14 16:11:49 -05:00
Shrenuj Bansal a66619f919 update filecoin-ffi 2022-11-14 15:50:36 -05:00
Shrenuj Bansal 800d9de4d5 Address comments 2022-11-14 15:46:58 -05:00
Geoff Stuart 95af40543a Fix lotus-miner proving check 2022-11-14 15:29:50 -05:00
Łukasz MagieraandPiotr Bochenek e476c1ab17 storage: paths: Fix typo in proof error message
Co-authored-by: Piotr Bochenek <pbochenek@worldremit.com>
2022-11-14 21:04:18 +01:00
Łukasz Magiera 51e92c97c3 Merge pull request #9642 from filecoin-project/fix/snapsector-clear-ctime
fix: sealing pipeline: Clear CreationTime when starting sector upgrade
2022-11-14 20:52:58 +01:00
vyzo af39ec27b8 NV18: FEVM: Basic smoke test (#9635)
* unknown return types should not be treated as errors from WaitForMessage

* simplecoin FEVM smoke test

* add itest-fevm to circle matrix

* use a named error for metadata lookup failures

* hand-write the fevm basic test

* make gen

* address nits
2022-11-14 21:06:55 +02:00
Łukasz Magiera c79085e5b7 Merge pull request #9598 from filecoin-project/fix/ancient-snap-deals-terrible
fix:sealing-fsm:wait mutable fsm state for immutable sector upgrade error
2022-11-14 19:53:37 +01:00
Łukasz Magiera efe2d8da8a sealing pipeline: Test clearing CreationTime 2022-11-14 18:46:50 +01:00
Łukasz Magiera d8c1b67a22 fix: sealing pipeline: Clear CreationTime when starting sector upgrade 2022-11-14 18:36:26 +01:00
Łukasz Magiera 950e6116e5 Merge pull request #9633 from filecoin-project/deps/markets-v1.25.0
deps: Update go-fil-markets to v1.25.0
2022-11-14 17:42:35 +01:00
Shrenuj Bansal b541cf919d Remove double stop 2022-11-14 11:19:45 -05:00
zenground0 087da50ecc Lint 2022-11-14 10:16:37 -05:00
zenground0 d86a68f713 Review Response 2022-11-14 10:07:22 -05:00
Ian Davis 62ee9b55e1 Set better default DOCKER_LOTUS_IMPORT_SNAPSHOT 2022-11-14 14:26:57 +00:00
Ian Davis fc1b57da6e Revert accidental changes to Dockerfile.lotus 2022-11-14 14:24:55 +00:00
Geoff Stuart 3b9624c1c3 Merge pull request #9632 from filecoin-project/gstuart/beneficiary-actor-control-list
fix: cli: add beneficiary info to lotus-miner actor control list
2022-11-14 09:00:23 -05:00
Raúl Kripalani ae7847d097 make gen. 2022-11-14 13:53:30 +00:00
raulk 4eccf30de3 Merge pull request #9623 from iand/feat/nv18-ethevents 2022-11-14 11:55:45 +00:00
Raúl Kripalani efdbea5b53 fix Receipt#EventsRoot is now *cid.Cid. 2022-11-14 11:55:04 +00:00
Raúl Kripalani a915c703a5 Merge branch 'feat/nv18-events' into feat/nv18-ethevents 2022-11-14 11:46:08 +00:00
Ian Davis 91952f84bd Fix eth types comments 2022-11-14 10:27:06 +00:00
Łukasz Magiera 75a026827c circle gen: gofmt 2022-11-14 11:14:29 +01:00
Łukasz Magiera 73aabdfeff Merge pull request #9601 from filecoin-project/fix/fsm-release-dealq-on-snap-abort
fix: sealing pipeine: Release assigned deals on snapdeals abort
2022-11-14 11:07:33 +01:00
Łukasz Magiera 1d4790aa42 deps: Update go-fil-markets to v1.25.0 2022-11-14 10:52:11 +01:00
ychiao 8a7367f1c9 api: ethrpc: add missing fields (#9631)
* api: ethrpc: add missing fields

* fix make gen
2022-11-12 09:44:52 -08:00
Geoff Stuart 3e96a0630c Add beneficiary to actor control list 2022-11-11 22:02:38 -05:00
Shrenuj Bansal 8740fb4bbe remove 2nd rpc closer call 2022-11-11 16:41:01 -05:00
Raúl Kripalani fa1cbe66e7 update filecoin-ffi to 2e788b5. 2022-11-11 20:29:54 +00:00
raulk 4e7b8d555e Merge pull request #9624 from iand/feat/nv18-rcptevent 2022-11-11 20:25:37 +00:00
Raúl Kripalani 9c5d888ec9 docs gen; also fixes lack of *cid.Cid examples elsewhere. 2022-11-11 20:20:28 +00:00
Shrenuj Bansal 2681c2a51a Change config name from Raft to Cluster 2022-11-11 15:13:52 -05:00
Raúl Kripalani 17ea9f520a cbor gen. 2022-11-11 19:54:26 +00:00
Shrenuj Bansal 2fa21ff091 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-11-11 14:41:38 -05:00
Raúl Kripalani 9e6b343620 make MessageReceipt#EventsRoot a pointer. 2022-11-11 18:37:47 +00:00
Łukasz Magiera 6104567fb1 Merge pull request #9614 from filecoin-project/asr/move-unsealed
refactor: sealing: minor refactor of FinalizeReplicaUpdate
2022-11-11 13:10:02 +01:00
vyzo 7664e0691c fix tx check and test 2022-11-11 05:49:06 +02:00
vyzo 1d8ebe96bc fix error message when actor doesn't have predictable address 2022-11-11 05:21:08 +02:00
vyzo 5a5936c3c7 add comment about migration needing to create ETH address 0 2022-11-11 05:20:48 +02:00
vyzo 245e5705da embryo: simplify code 2022-11-11 05:20:27 +02:00
vyzo 4c76f654b9 eth api: remove bad todo link 2022-11-11 05:20:10 +02:00
vyzo f38b630da1 sigs: revert cosmetic change 2022-11-11 05:07:34 +02:00
vyzo 0bde9e5f50 client: check address protocol, add TODO 2022-11-11 05:07:22 +02:00
vyzo f438b1c7a6 store: fix error handling around tipset key blocks 2022-11-11 05:07:09 +02:00
vyzo 9123628254 revert newline mangling 2022-11-11 05:00:43 +02:00
vyzo 30f4ad57ab wallaby: start at nv18 2022-11-11 04:58:34 +02:00
vyzo 54f311d94a eth rlp: fix warts 2022-11-11 04:58:15 +02:00
vyzo 18f2a14a00 eth api: fix warts 2022-11-11 04:52:38 +02:00
Raúl Kripalani a9cfaa93cc upgrade go-jsonrpc to v0.1.9. 2022-11-10 20:58:01 +00:00
LexLuthr a425a38e29 change connection initiation direction 2022-11-10 21:51:51 +05:30
Ian Davis 7383ecb0ba make gen 2022-11-10 15:04:58 +00:00
Ian Davis 69210d0917 Ethereum compatible actor event API 2022-11-10 15:02:53 +00:00
Ian Davis 4eb94b5cea make gen 2022-11-10 14:50:13 +00:00
Ian Davis f660b8c7ff actor event ffi 2022-11-10 14:50:13 +00:00
Ian Davis 85df74ff43 Add EventsRoot field to message receipt 2022-11-10 14:50:06 +00:00
vyzo c9c53c9745 fix MinTimestap for null rounds 2022-11-10 06:17:43 +02:00
vyzo 0ee9f9d956 lint 2022-11-10 05:55:59 +02:00
vyzo 5949307342 fix gateway instantation for the eth api
it's a dummy, but at least it makes tests pass
2022-11-10 05:52:36 +02:00
vyzo 6e149d5406 lint 2022-11-10 05:23:55 +02:00
vyzo 6e72910d31 fix account address resolution
it's in the actor state only if it is a v5 (or later) state tree
2022-11-10 05:01:44 +02:00
vyzo 2588b45826 fix gst builtin module refs
it breaks the gen script in proxy_gen
2022-11-10 04:46:13 +02:00
vyzo a2d6c8f2f7 improve migration TODO comment 2022-11-10 04:35:54 +02:00
vyzo 30083949a0 fix genesis SetupEAM
Only when actors version is >= 10
2022-11-10 04:35:41 +02:00
vyzo 6d7a33ff70 api: ethrpc: fix unit test
and skip a non-testing test; printing doesn't constitute testing.
2022-11-10 02:52:06 +02:00
vyzo 448eca56c8 make docsgen-cli 2022-11-10 02:52:06 +02:00
vyzo deea6797c5 make gen 2022-11-10 02:52:06 +02:00
vyzo 2b23372ad3 fixup merge artifacts 2022-11-10 02:51:57 +02:00
vyzo 64798d081d go mod tidy 2022-11-09 19:53:40 +02:00
Kevin Li 2e5de478a6 api: ethrpc: fix a potential panic when querying block info (#9593) 2022-11-09 19:47:44 +02:00
imxyb 53c7d9c18f fix:add UnmarshalJSON for EthNonce (#9589) 2022-11-09 19:47:44 +02:00
Raúl Kripalani 672744ad1d upgrade go-jsonrpc to v0.1.9. 2022-11-09 19:47:43 +02:00
raulk 0bd5f1d4a4 Eth JSON-RPC: eth_estimateGas: fix gas estimation by actually making it run. (#9564) 2022-11-09 19:47:25 +02:00
Steven Allen 49da019bd0 fix: allow EthCall.From to be nil (#9556) 2022-11-09 19:47:25 +02:00
Steven Allen b3b9da5bbc fix: avoid returning an error when getting embryo state (#9550)
We need to add full FEVM state support, but that will require merging
master. This is enough for now.

fixes https://github.com/filecoin-project/ref-fvm/issues/1022
2022-11-09 19:47:24 +02:00
Steven AllenandRaúl Kripalani ea54499f24 fix: allow deploying from f1/f3 accounts (#9554)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-11-09 19:47:24 +02:00
Steven Allen 6337d594fa fix: evm: use CREATE not CREATE2 for EVM contract deployment (#9553)
Also updates the actors to accommodate this change, and fix a bug in
looking up addresses for f4 actors.
2022-11-09 19:47:23 +02:00
Raúl Kripalani dc5fc9ded4 fix eth_feeHistory. 2022-11-09 19:47:07 +02:00
Raúl Kripalani 78dd7a246a fix gas estimation.
Make it use GasEstimateMessageGas, which applies overestimation
by default. This accounts for inclusion costs.
2022-11-09 19:47:07 +02:00
Raúl Kripalani ab5f0216f6 fix message sending logic. 2022-11-09 19:47:07 +02:00
Raúl Kripalani 32617a61df fix eth_feeHistory: add missing param. 2022-11-09 19:47:06 +02:00
Raúl Kripalani 323ff1b55e make eth_getCode return nil if the target is not an EVM smart contract. 2022-11-09 19:46:24 +02:00
Raúl Kripalani 6d5ec6aff8 fix address recovery from pubkey. 2022-11-09 19:46:24 +02:00
Raúl Kripalani 9017e5de52 fix signature validation logic. 2022-11-09 19:46:24 +02:00
Kevin LiandRaúl Kripalani 64afdfc642 api: ethrpc: implement eth_feeHistory (#9539)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-11-09 19:46:22 +02:00
Raúl Kripalani c0cbcda1c2 update go-jsonrpc dependency.
To include https://github.com/filecoin-project/go-jsonrpc/pull/83.
2022-11-09 19:45:52 +02:00
Raúl Kripalani a58e87b173 fixes to Eth JSON-RPC API. 2022-11-09 19:43:02 +02:00
Raúl Kripalani 0cff785068 fix lotus state evm commands to use EAM. 2022-11-09 19:42:56 +02:00
Steven Allen 98e7623480 fix: evm: decode params/return in cli (#9536) 2022-11-09 19:40:31 +02:00
Steven Allen 7f81780ffb hack: allow sending from f4 addresses (#9533) 2022-11-09 19:40:02 +02:00
Kevin Li e17e92775c api: ethrpc: fix eth_getCode, eth_getTransactionReceipt (#9530) 2022-11-09 19:40:00 +02:00
Steven AllenandRaúl Kripalani 56b238980b feat: use f4 eth addresses wherever possible (#9532)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-11-09 19:39:50 +02:00
Steven Allen aa0e6c17b9 Eth TX Encoding (#9531) 2022-11-09 19:39:49 +02:00
Raúl Kripalani 57a515f7a8 genesis: instantiate EAM at id 10. 2022-11-09 19:38:19 +02:00
Melanie Riise 7e7fff1dc5 Eth JSON-RPC API: Add EAM as contract creator (#9528) 2022-11-09 19:33:25 +02:00
Raúl Kripalani 98e534cc77 add support for f4 addresses in the Eth JSON-RPC and signature. 2022-11-09 19:33:23 +02:00
Raúl Kripalani 17e9e97064 Eth JSON-RPC API: support f4 addresses. 2022-11-09 19:32:43 +02:00
Steven Allen 420bd34888 fix(api): eth/id address conversion (#9511) 2022-11-09 19:30:40 +02:00
Kevin Li e109be4c6a fix lint 2022-11-09 19:30:27 +02:00
Kevin Li 16ee7d07a8 fix: EthGetTransactionCount should not return error 2022-11-09 19:30:27 +02:00
Kevin Li 2741c961b7 Revert "fix: EthGetTransactionCount should not return error"
This reverts commit ea73fd5b1901c614e7c376fad5952fcbea8d5207.
2022-11-09 19:30:25 +02:00
Kevin Li ccbf57165f fix: EthGetTransactionCount should not return error 2022-11-09 19:30:16 +02:00
vyzo b9ed239cf4 add --hex option to create-evm-actor 2022-11-09 19:30:08 +02:00
vyzo 61de2f4a4a fix eth api issues with evm constructor changes 2022-11-09 19:30:08 +02:00
vyzo 2cda4547d6 fix evm constructor input data 2022-11-09 19:30:08 +02:00
vyzo a2a9147790 thread epoch timestamp through vmopts 2022-11-09 19:30:08 +02:00
raulk ee83dceef0 Eth JSON-RPC API: implement eth_getCode and eth_getStorageAt (#9397) 2022-11-09 19:30:06 +02:00
Kevin LiandRaúl Kripalani 6c7fd94aa7 api: ethrpc: implement eth_sendRawTransaction (#9334)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-11-09 19:28:17 +02:00
Kevin Li b53d5924a1 feat: ethrpc: implement call, estimateGas, getTransactionCount (#9306) 2022-11-09 19:25:40 +02:00
Kevin LiandRaúl Kripalani e5bb5b7430 feat: ethrpc: implement EthBlock and EthTx structs (#9287)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-11-09 19:23:49 +02:00
Kevin Li 4652d8559f api: ethrpc: implement a few ethereum JSON-RPC API methods (#9208) 2022-11-09 19:23:11 +02:00
Steven Allen ef90ba7cef feat: make actor debugging a build param
And enable for wallaby.

fix build.
2022-11-09 19:22:43 +02:00
Steven Allen 2500d98def feat: implement fvm gas tracing 2022-11-09 19:16:19 +02:00
vyzo fc273bb79e add chain create-evm-actor and invoke-emv-actor commands 2022-11-09 19:14:23 +02:00
Patrick Deuse 2317111c85 wallaby files
bootstrap cp fail fix

add new wallaby genesis car

Wallaby testnet CAR for FVM M2.1 Selenium r02 (#9269)

add wallabynet.car rc3-copper (#9297)

add rc3-copper wallabynet.car

add rc4-iron wallabynet.car

add rcX-4.1 wallabynet.car

wallabynet car rc4-iron patch2 (#9514)

add rc567-alloy wallabynet.car

add rc567-p1 wallabynet.car (#9558)
2022-11-09 19:11:59 +02:00
Patrick Deuse 9ecc71ca4a testin' 2022-11-09 19:11:58 +02:00
Aayush 653e93c62a feat: add wallabynet 2022-11-09 19:11:58 +02:00
vyzo 3a23ae6ea4 params 2k: start at nv18, dont do shark upgrade 2022-11-09 18:44:36 +02:00
Ian Davis de0c592a95 Port changes from https://github.com/filecoin-project/lotus/pull/9363 2022-11-09 15:33:10 +00:00
Ian Davis b94fd23da2 Refactor Lotus Dockerfile
This is a major refactor of our dockerfile to support the following
- The lotus image will remain as is.
- The lotus-test image will be deprecated.
- The lotus-all-in-one image will also ship with the lotus-seed and lotus-fountain binaries, which it currently does not.
- The lotus-all-in-one image will be built in debug, calibnet, and butterflynet modes in addition to the (current) mainnet mode.
- The lotus-all-in-one image will now be published regularly using the following tags:
  - 1.18.0-rc1 , 1.18.0-rc1-debug, 1.18.0-rc1-calibnet, 1.18.0-rc1-butterflynet . This pattern will be used for all lotus releases, including RC releases.
  - nightly, nightly-debug, nightly-calibnet, nightly-butterflynet
  - stable, stable-debug, stable-calibnet, stable-butterflynet
2022-11-09 15:33:10 +00:00
Aayush 69c55d807a Sealing manager: minor refactor 2022-11-09 09:09:59 -05:00
Łukasz Magiera cf6d7ef3ac Merge pull request #9363 from airenas/docker-arm
fix: docker: make compatible with arm platform
2022-11-09 13:02:06 +01:00
Łukasz Magiera cbcd0d49ae storage: Log a detailed error on PoSt challenge read timeout 2022-11-09 12:49:52 +01:00
Łukasz Magiera 42d02dd448 feat: storage: Force exit GenerateSingleVanillaProof on cancelled context 2022-11-09 12:38:23 +01:00
vyzo 6f176f7cf1 temporarily disable wdpost upgrade test, as nv18 migration is not yet implemented 2022-11-09 12:08:42 +02:00
vyzo 378c9d37d0 lint 2022-11-09 11:38:16 +02:00
vyzo cc79d7f79c register v10 actor method meta 2022-11-09 11:32:50 +02:00
vyzo 0b6d1ad20b set predictable address when creating account actors 2022-11-09 11:15:16 +02:00
vyzo 335d0bec3e set predictable address for account actors in genesis 2022-11-09 11:11:20 +02:00
vyzo 6bf7b0312e make gen 2022-11-09 10:45:11 +02:00
vyzo 674d127701 state tree version 5 scaffolding 2022-11-09 10:44:51 +02:00
vyzo 046ca3fbb8 go mod tidy 2022-11-09 09:16:24 +02:00
vyzo 59d7024250 update go-state-types 2022-11-09 09:16:19 +02:00
vyzo 1aadbf16ba define StateTreeVersion5 for NetworkVersion18 2022-11-09 08:30:42 +02:00
vyzo 5cb1e8a5d6 define filcns.UpgradeActorsV10 2022-11-09 07:36:09 +02:00
vyzo 3af22d3074 pack bundle for v10
pack.sh v10 dev/20221108.1-m2
2022-11-09 07:36:09 +02:00
vyzo 6aee53fc8b make gen 2022-11-09 07:36:09 +02:00
vyzo 8a7fdb04b4 update inlinegen-data 2022-11-09 07:36:09 +02:00
vyzo 5e4f24ec60 add NV18 actor keys 2022-11-09 07:36:09 +02:00
vyzo 6373e9752c agen 2022-11-09 07:36:09 +02:00
vyzo 7ffd1635f5 fix residual v9 references in templates 2022-11-09 07:36:09 +02:00
vyzo 50b971091f define actors version 10 2022-11-09 07:36:09 +02:00
vyzo d7b680ecb8 go mod tidy 2022-11-09 07:36:09 +02:00
vyzo 66dbe45f9e use go-state-types@feat/m2-nv18 2022-11-09 07:36:09 +02:00
vyzo 599f16a7cf update filecoin-ffi@master 2022-11-09 07:36:02 +02:00
Jiaying Wang 7a99325528 update ffi to 280c4f8b94fd46dc (#9608) 2022-11-08 22:34:57 +00:00
Aayush Rajasekaran bd4900ab6d Merge pull request #9515 from filecoin-project/feat/future-proof-address-protocol
feat: chain: future proof the from & to address protocols
2022-11-08 16:27:30 -05:00
Steven Allen c6f2710e1c feat: future proof against new address protocols
This lets us add new address protocols to go-address without implicitly
accepting them in messages on the network.
2022-11-08 12:28:23 -08:00
Geoff Stuart f6d9a12cba Merge pull request #9600 from filecoin-project/refactor-release-pipeline
_ci_ Refactor release pipeline to better support m1 builds
2022-11-08 13:15:26 -05:00
zenground0 3a6aae3e10 Remove another panic 2022-11-08 14:39:22 +00:00
Aayush Rajasekaran 9c5f3854ab Merge pull request #9604 from filecoin-project/steb/fix-tvx-fvm
fix: tvx: make it work with the FVM
2022-11-08 14:28:18 +00:00
zenground0 10b7961a99 Correctly pass abort upgrade an error 2022-11-08 14:11:28 +00:00
Łukasz Magiera a678b7f0ea Merge pull request #9565 from filecoin-project/feat/netretr
feat: Retrieval into remote blockstores
2022-11-08 13:28:18 +00:00
Łukasz Magiera 888f97a35f netbs: Add an integration test 2022-11-08 13:38:28 +01:00
zenground0 7f650ad7dc Go is hard 2022-11-08 12:30:53 +00:00
Łukasz Magiera 53e43a402a netbs: Drop client code for allkeys for now 2022-11-08 09:37:43 +00:00
Łukasz Magiera 401359646a netbs: Address review 2022-11-08 09:37:43 +00:00
Łukasz Magiera fcad93dc10 netbs: Fix lint 2022-11-08 09:37:43 +00:00
Łukasz Magiera 1513aab4c8 netbs: Add more missing locks 2022-11-08 09:37:43 +00:00
Łukasz Magiera ec89424c42 make repo not depend on ffi 2022-11-08 09:37:43 +00:00
Łukasz Magiera 5f5cc794f0 make config not depend on ffi 2022-11-08 09:37:43 +00:00
Łukasz Magiera b540d10b48 cli: Move ClientExport to cliutil 2022-11-08 09:37:43 +00:00
Łukasz Magiera e66d5a0537 cli: Move EpochTime to cliutil 2022-11-08 09:37:43 +00:00
Łukasz Magiera 73a515b93f make lint happy 2022-11-08 09:37:43 +00:00
Łukasz Magiera 8c1bc10aa4 apistore: Lock accesses 2022-11-08 09:37:43 +00:00
Łukasz Magiera 2c89b3240f retrieval: Support retrievals into remote stores 2022-11-08 09:37:34 +00:00
Łukasz Magiera 1577740bc4 bstore: Network blockstore 2022-11-08 09:37:11 +00:00
Aayush 14ef069ea1 tvx: fixup VM creation 2022-11-07 17:24:15 -05:00
Aayush ed83595e33 tvx: stores: implement View() 2022-11-07 16:38:50 -05:00
ZenGround0andzenground0 4ffded6fef feat:splitstore:single compaction that can handle prune aka two marksets one compaction (#9571)
* begin

* rough draft -- this should probably actually work?

* WIP

* Start testing

* message mode

* Fix tests, make gen

* Better default

* docsgen-cli

* Review Response

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2022-11-07 16:31:12 -05:00
Steven Allen 8df5b81f24 fix: make test vector extraction work with the FVM
This also ignores the VM "Flush" option and instead, flushes
unconditionally (in the FVM):

1. In the FVM, we don't read blocks on flush (ever).
2. All _uses_ of TVX use a "proxy" blockstore that buffers writes, so
nothing should actually get flushed to lotus.
2022-11-07 16:09:44 -05:00
Aayush Rajasekaran 65ee059591 Merge pull request #9597 from filecoin-project/asr/merge-release-into-master
chore: merge release/v1.18.0 into master
2022-11-07 20:41:44 +00:00
Aayush be5adc7622 Merge branch 'master' into asr/merge-release-into-master 2022-11-07 15:35:10 -05:00
Aayush f77c849a2b address merge review 2022-11-07 15:34:19 -05:00
Aayush Rajasekaran 0fe4fad72c Merge pull request #9602 from filecoin-project/steb/re-check-backing-store
fix: autobatch: remove potential deadlock when a block is missing
2022-11-07 20:16:35 +00:00
Aayush 2e78158099 fix imports 2022-11-07 15:10:27 -05:00
Steven Allen 385f787ffc fix: autobatch: remove potential deadlock when a block is missing
Check the _underlying_ blockstore instead of recursing. Also, drop the
lock before we do that.
2022-11-07 10:46:51 -08:00
Łukasz Magiera 33f7746296 fix: sealing pipeine: Release assigned deals on snapdeals abort 2022-11-07 16:50:56 +00:00
Ian Davis bc06775e04 Steamline build jobs
- Removes cargo caching (since we don't build FFI from source, this
isn't used)
- Removes npm (this isn't a build dependency, so not sure why it was
  being installed)
2022-11-07 16:18:01 +00:00
Ian Davis 2895dcfa98 Clean up workspace usage 2022-11-07 16:18:01 +00:00
Ian Davis 75f9f72147 Skip homebrew release on prereleases (i.e. *-rc) 2022-11-07 16:18:01 +00:00
Ian Davis ecef0b6361 Fix goreleaser release workflow 2022-11-07 16:17:22 +00:00
Ian Davis 7afa5c9255 Various tweaks to get m1 self hosted build working
- Set CPATH and LIBRARY_PATH for lotus m1 build
- support dry-run on new release job
2022-11-07 16:16:19 +00:00
Ian Davis 568cd38b0f Rebuild pipeline using goreleaser prebuilt binaries
This builds three separate binaries (darwin/amd64, darwin/arm64,
linux/amd64), and then combines them into single release (including a
universal darwin binary) using goreleaser.

Also removes build-ntwk-{calibration,butterfly}
2022-11-07 16:16:19 +00:00
zenground0 c902218baf Respect context 2022-11-07 16:03:22 +00:00
Aayush Rajasekaran abfabd267d Merge pull request #9572 from filecoin-project/asr/change-control
shed: set control address: add dump bytes option
2022-11-07 15:30:03 +00:00
zenground0 6dee0d8ca8 Rough draft no tests 2022-11-07 14:56:53 +00:00
Aayush c0b7343e60 Merge branch 'release/v1.18.0' into asr/merge-release-into-master 2022-11-06 14:40:13 -05:00
Łukasz Magiera 2d664c49b1 Merge pull request #9590 from filecoin-project/feat/online-exportcar
feat: shed: Online export-car
2022-11-06 10:53:39 +00:00
Geoff Stuart 54d3e412f1 Merge pull request #9373 from sectrgt/master
fix: chain: Update chain.go
2022-11-04 10:52:52 -04:00
Geoff Stuart 9a474c759b Merge pull request #9509 from filecoin-project/gstuart/fvm-debug-bundles
fix: fvm: Allow setting local bundles for Debug FVM for av 9+
2022-11-04 09:29:36 -04:00
Łukasz Magiera a0e3111b64 feat: shed: Online export-car 2022-11-04 11:48:24 +00:00
Geoff Stuart c1e1d00d0e Merge pull request #9521 from filecoin-project/gstuart/invariance-test
feat: shed: Add invariance tests for v9
2022-11-02 12:28:54 +00:00
Aayush Rajasekaran fa9d34feff Merge pull request #9588 from filecoin-project/gstuart/calib-atrifacts
chore: artifacts: update calibnet artifacts
2022-11-02 11:46:48 +00:00
Geoff Stuart 065e87c071 update calibnet artifacts 2022-11-02 09:58:32 +00:00
Aayush Rajasekaran 694db60972 Merge pull request #9586 from filecoin-project/jen/buttttttt
chore: butterfly: artifacts
2022-11-01 17:28:09 +00:00
jennijuju d186168a92 butterfly 2022-11-01 17:16:00 +00:00
Aayush Rajasekaran fe8b80120b Merge pull request #9583 from filecoin-project/gstuart/bump-version-rc
chore: release: bump version to rc5
2022-11-01 16:33:09 +00:00
Aayush Rajasekaran 546b65633a clarify changelog note about calibnet 2022-11-01 16:31:26 +00:00
Aayush Rajasekaran 1e09eff530 Merge branch 'release/v1.18.0' into gstuart/bump-version-rc 2022-11-01 16:30:28 +00:00
Aayush Rajasekaran 1608c7c644 Merge pull request #9584 from filecoin-project/gstuart/update-calibnet-upgrade-heights
chore: calibnet: update calibnet upgrade heights
2022-11-01 16:25:45 +00:00
Aayush Rajasekaran ea5b60d911 tweak calibnet upgrade schedule 2022-11-01 16:21:58 +00:00
Aayush Rajasekaran 8b65834907 Merge pull request #9585 from filecoin-project/gstuart/update-butterfly-upgrade-heights
chore: butterfly: set new upgrade height for butterflynet
2022-11-01 12:45:00 +00:00
Geoff Stuart b0a28635b4 set new upgrade height for butterfly 2022-11-01 12:39:11 +00:00
Geoff Stuart abb64508da set new upgrade heights for calibnet 2022-11-01 12:32:18 +00:00
Geoff Stuart 1b52309121 bump to rc5 2022-11-01 12:20:02 +00:00
Aayush Rajasekaran 97bdbb7df6 Merge pull request #9577 from filecoin-project/gstuart/update-vers
chore: update deps
2022-11-01 12:05:22 +00:00
Aayush Rajasekaran 98c2d25aee Merge pull request #9582 from filecoin-project/gstuart/call-fix
fix: stmgr: bubble up errors properly from ApplyImplicitMessage
2022-11-01 10:35:08 +00:00
Geoff Stuart 884b9004db bubble up errors properly from ApplyImplicitMessage 2022-11-01 10:12:22 +00:00
Aayush Rajasekaran 4463abd009 Merge pull request #9557 from filecoin-project/gstuart/remove-datacap-verifreg-test
test: verifreg: Test notaries cannot remove datacap from verifreg
2022-10-31 19:27:31 +00:00
Geoff Stuart 01bc76b424 update builtin-actors 2022-10-31 19:19:49 +00:00
Geoff Stuart 5a814ab911 update go-state-types 2022-10-31 19:18:54 +00:00
Geoff Stuart ec5358773e statemanager call function will return call information even if call errors 2022-10-31 13:23:11 +00:00
Geoff Stuart 2395de4bb3 Review fixes 2022-10-31 13:22:12 +00:00
Aayush Rajasekaran db86c7d121 shed: set control address: add dump bytes option 2022-10-31 13:14:20 +00:00
Aayush Rajasekaran 9fb3958c6d Merge pull request #9570 from filecoin-project/asr/actors-update
Update to builtin-actors v9.0.2
2022-10-31 08:04:28 -04:00
Geoff Stuart 8b2b7cb4a4 make gen 2022-10-31 11:53:30 +00:00
Geoff Stuart 3b9c226507 Test that should pass when the problem is solved 2022-10-31 11:53:30 +00:00
Geoff Stuart af62690bbc Failing test that shows that notaries can remove datacap from the verifreg actor 2022-10-31 11:53:30 +00:00
Aayush Rajasekaran f2564ab8b1 Update to builtin-actors v9.0.2 2022-10-31 11:47:47 +00:00
Geoff Stuart 0d056b5edf make gen 2022-10-31 11:39:37 +00:00
Geoff Stuart 5d465056ce Migration cli takes a stateroot cid and a height 2022-10-27 12:37:31 +01:00
Geoff Stuart 10b9d3fa96 add lotus-shed invariance method 2022-10-27 12:24:24 +01:00
Geoff Stuart f5ec47a2b3 Merge pull request #9559 from filecoin-project/clean-up-homebrew-deps
_ci_ Remove unneeded homebrew deps
2022-10-27 12:17:53 +01:00
Ian Davis 0ad2fba4d2 Remove unneeded homebrew deps
We don't use these homebrew deps when installing a prebuilt binary.

Additionally, the bzr package was disabled
2022-10-27 10:37:29 +01:00
Aayush Rajasekaran 56d68e71db Merge pull request #9549 from filecoin-project/asr/migration-integ-test
test: nv17 migration
2022-10-26 12:43:41 -04:00
Aayush b301c79462 Address review 2022-10-26 12:22:38 -04:00
Aayush Rajasekaran 21e85e3150 test: nv17 migration 2022-10-25 10:26:08 -04:00
Aayush Rajasekaran 154fb3a727 Merge pull request #9547 from filecoin-project/asr/invariants-fix
shed: include invariant checks as part of migration testing
2022-10-24 22:33:44 -04:00
Aayush Rajasekaran 23f8bac05b Merge pull request #9507 from ipfs-force-community/fix/some-issue
fix: use api.ErrActorNotFound instead of types.ErrActorNotFound & add fields to ForkUpgradeParams
2022-10-24 13:49:27 -04:00
Aayush Rajasekaran 65f89ff128 Invariant checks: Only include not-activated deals 2022-10-24 13:47:47 -04:00
Aayush Rajasekaran 394c3b6deb fix invariant check: number of entries in datacap actor should include verifreg 2022-10-24 13:44:55 -04:00
Aayush Rajasekaran 04f32ba119 Add invariant checks to migration 2022-10-24 13:44:50 -04:00
Aayush Rajasekaran 5071a59f1a Makefile: Drop rarely used binaries from build-devnets (#9513) 2022-10-24 17:20:43 +01:00
Aayush Rajasekaran 7cb4dbd402 Merge pull request #9546 from filecoin-project/gstuart/update-gst
chore: deps: update go-state-types to v0.9.7
2022-10-24 10:36:57 -04:00
Geoff Stuart 010d16946c update go-state-types to v-0.9.7 2022-10-24 12:59:12 +01:00
Jiaying Wang 7218b278a2 update to go state type v0.9.6 with market migration fix (#9545) 2022-10-24 12:38:59 +01:00
simlecode f5895d6e35 chore: fix lint 2022-10-22 23:44:49 +08:00
simlecode dae7c538e2 docs: update actors_version_checklist.md 2022-10-22 23:41:52 +08:00
simlecode 5284f60e83 fix: add fields to ForkUpgradeParams 2022-10-22 23:41:52 +08:00
simlecode 30f147770c fix: use api.ErrActorNotFound instead of types.ErrActorNotFound 2022-10-22 23:41:51 +08:00
Aayush Rajasekaran 1bd77c7fab Merge pull request #9537 from filecoin-project/chore/update-gst-migration-fixes
chore:deps:Update to go-state-types v0.9.5 for migration fixes
2022-10-21 20:30:39 -04:00
zenground0 a7a2ac0948 go mod tidy 2022-10-21 17:46:27 -04:00
zenground0 3524b45e33 Update to latest go-state-types for migration fixes 2022-10-21 17:44:50 -04:00
Geoff Stuart ebfd5c2db0 Merge pull request #9534 from filecoin-project/apt-get-timeout
_ci_: Have apt-get wait until it can get a lock in packer builds
2022-10-21 09:42:07 -04:00
Geoff StuartandIan Davis c4875d475d fix: ci: fix app-image build on ci (#9527)
* Remove old go version first

* Add GO_VERSION file

* Use GO_VERSION to set / verify go version

* mv GO_VERSION GO_VERSION_MIN

* Use GO_VERSION_MIN in Makefile check

Co-authored-by: Ian Davis <jungziege@gmail.com>
2022-10-20 22:31:24 -04:00
Aayush Rajasekaran 02879aa7d1 Merge pull request #9526 from filecoin-project/asr/release
Lotus release v1.18.0-rc4
2022-10-20 17:08:31 -04:00
Ian Davis c85a540986 Have apt-get wait until it can get a lock 2022-10-20 21:15:46 +01:00
Aayush 38c83be39e Lotus release v1.18.0-rc4 2022-10-20 14:03:41 -04:00
Aayush Rajasekaran 26ba489746 Merge pull request #9525 from filecoin-project/asr/premigrations
feat: state: add a second premigration for nv17
2022-10-20 13:57:25 -04:00
Aayush 7609655986 address review 2022-10-20 13:49:29 -04:00
Aayush dc8206e581 Add more shed tools for migration checking 2022-10-20 13:18:45 -04:00
Aayush 3401ef6f02 Add a second premigration for nv17 2022-10-19 16:50:13 -04:00
Aayush Rajasekaran 84050170b9 Merge pull request #9520 from filecoin-project/asr/invoker-method-name
feat: Invoker: Use MethodMeta from go-state-types
2022-10-19 16:49:26 -04:00
Aayush 13b59c9c23 Invoker: Use MethodMeta from go-state-types 2022-10-19 15:53:26 -04:00
Aayush Rajasekaran 6c08797980 Merge pull request #9518 from filecoin-project/asr/migration-autobatch
Migration: Use autobatch bs
2022-10-19 13:29:45 -04:00
Jakub Sztandera 66f8af9b0c Fix autobatch
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2022-10-19 18:01:05 +02:00
Aayush 66bb149a65 Migration: Use autobatch bs 2022-10-19 11:56:11 -04:00
Shrenuj Bansal 09e9562cac i hate make gen 2022-10-18 17:37:18 -04:00
Shrenuj Bansal 94bd4d8f3e make gen 2022-10-18 16:50:46 -04:00
Shrenuj Bansal ad8b959880 Address more comments and add test for gorpc auth 2022-10-18 15:53:42 -04:00
8190658fe9 chore: ver: bump version for rc3 (#9512)
* Bump version to 1.18.0-rc3

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>

* Update CHANGELOG.md

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-10-18 15:41:36 -04:00
Aayush Rajasekaran 560814d8ff Merge pull request #9510 from filecoin-project/gstuart/pack-new-bundles
chore: deps: Integrate builtin-actors v9.0.1
2022-10-18 15:15:45 -04:00
Geoff Stuart 185c5f288d Integrate builtin-actors v9.0.1 2022-10-18 14:56:26 -04:00
Geoff Stuart a955a6308a Merge pull request #9496 from filecoin-project/appimage-go1.18.1-fix
_ci_ Appimage go1.18.1 fix
2022-10-18 13:34:49 -04:00
Geoff Stuart cdd7f26fb3 Allow setting local bundles for Debug FVM for av 9+ 2022-10-18 12:48:24 -04:00
Ian Davis a406df64cf Use GO_VERSION_MIN in Makefile check 2022-10-18 16:41:28 +01:00
Ian Davis e88a7f7088 mv GO_VERSION GO_VERSION_MIN 2022-10-18 16:20:10 +01:00
Shrenuj Bansal 15ed1ee33c Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-10-17 22:55:48 -04:00
Shrenuj Bansal 674427a8b2 fix lint and make gen 2022-10-17 22:44:00 -04:00
Shrenuj Bansal 900525f8c2 some cleanup 2022-10-17 16:13:30 -04:00
Aayush Rajasekaran 4df3cc7d57 Merge pull request #9502 from filecoin-project/asr/deps
chore: deps: Update to go-state-types v0.9.1
2022-10-17 16:07:10 -04:00
Aayush b4c0a18df0 Update to go-state-types v0.9.1 2022-10-17 15:30:24 -04:00
Shrenuj Bansal b77ca54719 Change cli cmd to API with proxy 2022-10-17 11:23:10 -04:00
hunjixin e8aacf325c fix: add gaspremium check when less than maxfee 2022-10-17 12:02:56 +08:00
Shrenuj Bansal 139f8773de fix some bugs and address some comments 2022-10-16 22:52:22 -04:00
sectrgt a02564eaf2 modified: documentation/en/cli-lotus.md 2022-10-14 19:48:02 +00:00
Aayush Rajasekaran 8a2f8c34cc Merge pull request #9495 from filecoin-project/fix/postsched-ping-flood
fix: post worker sched: Don't check worker session in a busy loop
2022-10-14 11:37:23 -04:00
Ian Davis 296eaff73c Use GO_VERSION to set / verify go version 2022-10-14 15:25:40 +01:00
Łukasz Magiera 32de871243 fix: post worker sched: Don't check worker session in a busy loop 2022-10-14 15:58:25 +02:00
Ian Davis cf60d862f8 Add GO_VERSION file 2022-10-14 14:43:57 +01:00
Ian Davis a294a9592e Remove old go version first 2022-10-14 14:43:57 +01:00
Alfonso de la Rocha c65ab1b277 minor fix 2022-10-14 11:28:43 +02:00
Alfonso de la Rocha 5c2949b59d fix linter 2022-10-14 11:23:05 +02:00
Aayush Rajasekaran 9fde074ff3 Merge pull request #9490 from filecoin-project/asr/changelog
chore: add changelog to v1.18.0
2022-10-13 22:27:08 -04:00
Jennifer Wang 049ce70979 add changelog 2022-10-13 22:15:03 -04:00
Aayush b1478a49da Merge branch 'releases' into release/v1.18.0 2022-10-13 22:09:56 -04:00
Jiaying Wang 39557de7f4 Merge pull request #9468 from filecoin-project/gstuart/FIP-0045-cli
feat: cli: Add commands for listing allocations and removing expired allocations
2022-10-13 18:10:02 -04:00
Aayush Rajasekaran 8755c98894 Merge pull request #9454 from filecoin-project/gstuart/migration-test
test: Add invariance checks to v17 migration test
2022-10-13 18:08:52 -04:00
Aayush 2d6d396c78 fix migration test tool 2022-10-13 18:08:28 -04:00
Geoff Stuart 8460536068 Fix miner state precommit info 2022-10-13 16:38:30 -04:00
Geoff Stuart adc32ee3bf compare allocation to verified deal proposal 2022-10-13 16:16:07 -04:00
Aayush de87b02085 Add assertion that migrations with & without cache are the same 2022-10-13 15:53:36 -04:00
Geoff Stuart 027ea9ffd0 pass state trees as pointers 2022-10-13 15:37:37 -04:00
Geoff Stuart 86913ad50e make gen 2022-10-13 15:30:14 -04:00
Geoff Stuart 8618f216f8 Fix counting of allocations in nv17 migration test 2022-10-13 15:30:14 -04:00
Geoff Stuart 84663cc338 Add check for unsealed CID in precommit sectors 2022-10-13 15:30:14 -04:00
Geoff Stuart d9a43d4b8e check pending verified deal proposal migrated to allocation 2022-10-13 15:30:14 -04:00
Geoff Stuart 0ab9e4359a check invariance for pending deals and allocations 2022-10-13 15:30:14 -04:00
Aayush Rajasekaran 4d28bdeab7 Merge pull request #9387 from filecoin-project/asr/fip0036
feat: shed: FIP0036 post poll result processing
2022-10-13 15:21:18 -04:00
Aayush Rajasekaran 3c1b723c7f Merge pull request #9486 from filecoin-project/gstuart/remove-banner
fix: upgrade: no splash banner for nv17 :(
2022-10-13 15:20:39 -04:00
Aayush Rajasekaran 9b88a7258b Merge pull request #9484 from filecoin-project/asr/ffi-update
Update FFI
2022-10-13 15:19:46 -04:00
Geoff Stuart f891714db2 Remove fvm splash banner from nv17 upgrade 2022-10-13 15:19:17 -04:00
Aayush Rajasekaran e1aa81e3ba Merge pull request #9485 from filecoin-project/gstuart/update-deps
chore: deps: update go-state-types and builtin-actors for v9 release
2022-10-13 15:18:40 -04:00
Aayush Rajasekaran ee47a8923d Merge pull request #9463 from filecoin-project/jen/backportmerkle
deps: backport: #9455
2022-10-13 15:18:06 -04:00
Aayush Rajasekaran c4fdeb19a9 Merge pull request #9483 from filecoin-project/jen/calib
chore: build: add calib upgrade param for shark
2022-10-13 15:11:33 -04:00
Jennifer Wang 6d5139e3b2 kill shark 2022-10-13 15:05:58 -04:00
Jennifer Wang 830ff564a3 update the upgrade envvar 2022-10-13 15:04:57 -04:00
Jennifer Wang b3cffa9ca2 add calib upgrade epcoh 2022-10-13 14:59:52 -04:00
Geoff Stuart 53d8e364e8 Update builtin-actors to v9.0.0 2022-10-13 14:45:12 -04:00
Geoff Stuart 6980430b98 Update go-state-types to v0.9.0 2022-10-13 14:44:20 -04:00
Aayush ebf1254fd3 Update FFI 2022-10-13 14:43:56 -04:00
Jennifer Wang 8fd18b7ede miss the stuff 2022-10-13 14:34:08 -04:00
Aayush Rajasekaran e549a3fb4a Merge pull request #9482 from filecoin-project/gstuart/fix-grant-datacap
fix: actors: fix verifreg checking notary balance
2022-10-13 14:14:39 -04:00
Geoff Stuart 24687f209c docsgen-cli 2022-10-13 13:36:48 -04:00
Geoff Stuart 8d162267e8 revert change to verifreg util 2022-10-13 13:33:22 -04:00
Geoff StuartandAayush Rajasekaran 796ddc07b0 Update cli/filplus.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-10-13 13:07:58 -04:00
Jennifer Wang 48bf70f3ee shark params 2022-10-13 12:18:28 -04:00
Rod Vagg f84ad432e7 deps: upgrade go-merkledag to 0.8.0 2022-10-13 11:53:11 -04:00
Alfonso de la Rocha ef2200c28e make gen 2022-10-13 17:51:42 +02:00
Alfonso de la Rocha fe675b6fa1 minor fix 2022-10-13 17:16:01 +02:00
Aayush Rajasekaran 26b5fa5aca Merge pull request #9476 from filecoin-project/gstuart/datacap-actor-in-registry
fix: state: add datacap actor to actors registry
2022-10-13 11:07:48 -04:00
Alfonso de la Rocha fa71ed607b more cleaning 2022-10-13 17:07:34 +02:00
Aayush 330e54018f Update to go-state-types master 2022-10-13 11:07:11 -04:00
Alfonso de la Rocha 3105596c9e Clean pending files from rebase 2022-10-13 17:03:18 +02:00
Alfonso de la Rocha 9bfb73211e fixed RewardFunc 2022-10-13 16:43:02 +02:00
Alfonso de la Rocha 88d3de7afc run make gen to make ci happy 2022-10-13 16:43:02 +02:00
Alfonso de la Rocha 95c0afb99b minor fixes 2022-10-13 16:43:02 +02:00
raulk 653af01235 Eth JSON-RPC API: implement eth_getCode and eth_getStorageAt (#9397) 2022-10-13 16:41:35 +02:00
Kevin LiandRaúl Kripalani 9d1208c9ff api: ethrpc: implement eth_sendRawTransaction (#9334)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-10-13 16:39:14 +02:00
Alfonso de la Rocha c3ee957cc6 rm signature fns from cns iface 2022-10-13 16:30:25 +02:00
Alfonso de la Rocha 536600c95c added comments to consensus interface 2022-10-13 16:30:25 +02:00
Alfonso de la Rocha 627d6e70a6 parametrized reward function for consensus 2022-10-13 16:30:14 +02:00
Alfonso de la Rocha 43d557e0f4 minor fix 2022-10-13 16:28:45 +02:00
Alfonso de la Rocha 5626c69ce5 wip: abstract common fns required for consensus 2022-10-13 16:28:45 +02:00
Aayush Rajasekaran b96a2343ac Merge pull request #9450 from filecoin-project/gstuart/gfm-1.24.0-v17
Deps: Update go-fil-markets to 1.24.0-v17
2022-10-12 19:40:08 -04:00
Geoff Stuart 1ff4d1ae6c Add cli for listing allocations and removing expired allocations 2022-10-12 15:54:58 -04:00
Geoff Stuart 6daf3c097f Add datacap actor to registry.go 2022-10-12 15:54:36 -04:00
Aayush Rajasekaran 80eae53c59 Merge pull request #9412 from filecoin-project/feat/fip45-dealpacking
feat: sealing pipeline: Prepare deal assigning logic for FIP-45
2022-10-12 15:46:22 -04:00
Aayush 65e37c29e4 address review 2022-10-12 13:54:04 -04:00
Łukasz Magiera ce17decf3b use NoAllocationID instead of nil AllocationId 2022-10-12 13:54:04 -04:00
Łukasz Magiera dc102f076a sealing pipeline: Get allocationId with StateApi 2022-10-12 13:54:03 -04:00
Łukasz Magiera 0af9888b12 sealing pipeline: Prepare deal assigning logic for FIP-45 2022-10-12 13:42:53 -04:00
Aayush Rajasekaran e5f48ad9bf Merge pull request #9425 from filecoin-project/packer-tweaks
_ci_: Fix failing Digital Ocean and Amazon Machine Image release process
2022-10-12 13:41:58 -04:00
Aayush Rajasekaran 752d58906c Merge pull request #9467 from filecoin-project/gstuart/update-butterfly-artifacts
chore: update butterfly artifacts
2022-10-12 13:30:18 -04:00
Aayush Rajasekaran 2bdd2bf5cd Merge pull request #9471 from filecoin-project/fix/membstore-codec
fix: bstore: Handle codecs correctly in membstore Get
2022-10-12 13:18:10 -04:00
Aayush Rajasekaran 983fd2010f Merge pull request #9472 from filecoin-project/misc/gh-pr-templ-cleanup
misc: github: Cleanup PR template
2022-10-12 13:15:42 -04:00
Aayush Rajasekaran e838a86df9 Merge pull request #9437 from filecoin-project/gstuart/verifreg-accessors
feat: add API methods to get allocations and claims
2022-10-12 13:09:43 -04:00
Łukasz Magiera 2f046ec8db misc: github: Cleanup PR template 2022-10-12 10:30:12 +02:00
Łukasz Magiera 516ad171d2 fix: bstore: Handle codecs correctly in membstore Get 2022-10-12 10:03:22 +02:00
Geoff Stuart b1d2e27ae8 update butterfly artifacts 2022-10-11 14:58:33 -04:00
Łukasz Magiera e40fc14f85 Merge pull request #9436 from filecoin-project/feat/uptime
feat: Add node uptime rpc / output in info command
2022-10-11 18:20:41 +02:00
Geoff Stuart 9b96ad5b58 Merge pull request #9462 from filecoin-project/jen/butterfly
chore: butterfly: update assets
2022-10-11 10:27:09 -04:00
Geoff Stuart 59e80ae951 Merge pull request #9461 from simlecode/fix/missing-perm-tag
fix: missing permissions tag
2022-10-11 10:25:48 -04:00
Łukasz Magiera 2c11f9d265 feat: Add node uptime rpc / output in info command 2022-10-11 10:11:09 +02:00
Łukasz Magiera 1720f51d69 Merge pull request #9460 from simlecode/fix/incorrect-calculation
fix: not multiplied by the number of seconds
2022-10-11 09:42:27 +02:00
Jennifer Wang 1fe9c9c4c7 butterfly 2022-10-10 15:03:07 -04:00
Łukasz Magiera d845e65443 Merge pull request #9459 from filecoin-project/fix/netping-arg
fix: ux: specify arg in `net ping` cmd
2022-10-10 14:42:17 +02:00
Łukasz Magiera 91d5efe5ee Merge pull request #9455 from rvagg/rvagg/merkledag-0.8
deps: upgrade go-merkledag to 0.8.0
2022-10-10 14:40:03 +02:00
simlecode 11b15dbcd1 fix: missing permissions tag 2022-10-10 16:54:07 +08:00
simlecode e69fdaf48b fix: not multiplied by the number of seconds 2022-10-10 16:18:35 +08:00
Phi 0645225801 fix: ux: specify arg in net ping cmd
Specify that you need to ping the `peerMultiaddrs` with the `lotus net ping` and `lotus-miner net ping`.
2022-10-10 08:31:55 +02:00
Rod Vagg 249dfae727 deps: upgrade go-merkledag to 0.8.0 2022-10-08 10:49:46 +11:00
Geoff Stuart e2d5d12e7f Add accessors for allocations and claims maps 2022-10-07 16:41:59 -04:00
Aayush Rajasekaran 6e99a6b9f7 Merge pull request #9355 from filecoin-project/gstuart/integrate-verifreg-changes-fip45
feat: actors: Integrate builtin-actors changes for FIP-0045
2022-10-07 11:27:04 -04:00
Geoff Stuart c465274a9c use go-fil-markets v1.24.0-v17 2022-10-07 11:24:20 -04:00
Geoff Stuart a629bcab8d review fixes 2022-10-07 00:25:08 -04:00
Aayush Rajasekaran c6eb7b69e6 Update to go-state-types v0.9.0-rc1 2022-10-07 00:15:17 -04:00
Aayush Rajasekaran e57a27e12a Merge pull request #9416 from filecoin-project/fix/wallet-cmd-outputs
fix: ux: Add outputs to wallet commands
2022-10-07 00:10:10 -04:00
Aayush Rajasekaran b4c5a3a779 Merge pull request #9430 from filecoin-project/docs/reltpl-codegen
docs: release template: Mention codegen in release prep
2022-10-07 00:09:30 -04:00
Aayush f49cde8bd5 Update to go-state-types master 2022-10-06 21:12:12 -04:00
Aayush b376735cee Remove print statements 2022-10-06 19:07:27 -04:00
Aayush Rajasekaran 098d4037c9 Merge pull request #9446 from filecoin-project/gstuart/check-state-invariants
Check datacaps for v8 verifreg match v9 datacap actor
2022-10-06 19:07:00 -04:00
Geoff Stuart 1a1eff321d check datacaps for v8 verifreg match v9 datacap actor 2022-10-06 16:08:04 -04:00
Jennifer Wang b5e9f270e2 add butterfly artifacts for oct 5 upgrade 2022-10-06 11:06:21 -04:00
Geoff Stuart d3eba74c04 Use fake cid for test 2022-10-06 11:06:21 -04:00
Geoff Stuart b5c5e6627e review fixes 2022-10-06 11:06:21 -04:00
Aayush 97b04b7f77 More tweaking of PreSeal for genesis 2022-10-06 11:06:21 -04:00
Geoff Stuart 5f0ad230aa docsgen 2022-10-06 11:06:21 -04:00
Aayush Rajasekaran 6510e5f129 Tweak PreSeal struct to be infra-friendly 2022-10-06 11:06:21 -04:00
Geoff Stuart d121e2070b Add upgrade epoch for butterfly 2022-10-06 11:06:21 -04:00
Geoff Stuart f55dc46a32 Add api for getting allocation 2022-10-06 11:06:21 -04:00
Aayush de95667a6a Integrate the v9 migration 2022-10-06 11:06:21 -04:00
Geoff Stuart 2a60cbe66d Update bundles to rc2 2022-10-06 11:06:21 -04:00
Geoff Stuart 652c3707e9 update go-fil-markets 2022-10-06 11:06:21 -04:00
Geoff Stuart a054f5724b update builtin-actors to rc1 2022-10-06 11:06:21 -04:00
Geoff Stuart 4fdcc3dfc9 datacap and verifreg actors use ID addresses without protocol byte 2022-10-06 11:06:21 -04:00
Geoff Stuart d4db1bfacb Update bundles 2022-10-06 11:06:21 -04:00
Geoff Stuart a604a60b22 Update datacap to parse tokens 2022-10-06 11:06:21 -04:00
Geoff Stuart c246366e7f update gst 2022-10-06 11:06:21 -04:00
Geoff Stuart 64b1a5298a update actors with hamt fix 2022-10-06 11:06:21 -04:00
Geoff Stuart b4c04ad927 update markets 2022-10-06 11:06:21 -04:00
Geoff Stuart 558a8bc3bb update gst 2022-10-06 11:06:21 -04:00
Geoff Stuart 1973e44f49 Update datacap actor to query datacap instead of verifreg 2022-10-06 11:06:21 -04:00
Geoff Stuart 7c62f9e6ab Update builtin-actors to dev/20220922-v9-1 2022-10-06 11:06:21 -04:00
Geoff Stuart 530e6a02fc Setup datacap actor 2022-10-06 11:06:21 -04:00
Geoff Stuart bc4f9bb805 Integrate verifreg changes to lotus 2022-10-06 11:06:21 -04:00
Geoff Stuart 4218612ccd Update builtin-actors to dev/20220922-v9 which includes FIP-0045 changes in progress 2022-10-06 11:06:21 -04:00
Jiaying Wang ff02579c3d Merge pull request #9433 from filecoin-project/chore/v1.17.2-master
chore: merge releases (v1.17.2) into master
2022-10-06 09:40:39 -04:00
Jiaying Wang fc59d2b48b Merge pull request #9440 from filecoin-project/gstuart/fix-miner-info-for-beneficiary
fix: state: Return beneficiary info from miner state Info()
2022-10-06 09:27:14 -04:00
Shrenuj Bansal 17a77220c2 Ignore mpool msg existing errors for applying raft state 2022-10-06 11:44:13 +00:00
Geoff Stuart fa64b2dc80 Return beneficiary info from miner state Info() 2022-10-05 22:01:37 -04:00
Łukasz Magiera 80e99be62a Merge pull request #9434 from ribasushi/chore/shed_at_notation
chore:shed: Teach shed/sim to understand --tipset=@nnn notation
2022-10-05 19:35:27 +00:00
Peter Rabbitson ce65cdd1e5 Teach shed/sim to understand --tipset=@nnn notation 2022-10-05 21:10:19 +02:00
Łukasz Magiera 7859d62a90 Merge remote-tracking branch 'origin/releases' into chore/v1.17.2-master 2022-10-05 19:04:39 +00:00
Łukasz Magiera fb0fb7144b Merge pull request #9432 from filecoin-project/release/v1.17.2
release: v1.17.2
2022-10-05 18:32:08 +00:00
Jiaying Wang c4901e998a Merge pull request #9431 from filecoin-project/chore/v1.17.2-prep
Release v1.17.2
2022-10-05 13:45:08 -04:00
Łukasz Magiera d468c36216 release v1.17.2 2022-10-05 16:58:49 +00:00
Aayush Rajasekaran fd2b827e31 Merge pull request #9427 from filecoin-project/sbansal/backport-9413
feat: wdpost: Add ability to only have single partition per msg for partitions with recovery sectors
2022-10-05 12:56:34 -04:00
Shrenuj Bansal 98481821d8 solution for mining loop hitting the same node 2022-10-05 16:52:49 +00:00
Łukasz Magiera f4ed8476ef docs: release template: Mention codegen in release prep 2022-10-05 16:29:30 +00:00
Łukasz Magiera 4d7eddc52c Merge pull request #9428 from filecoin-project/backport/9402
fix: renew --only-cc with sectorfile
2022-10-05 16:17:06 +00:00
Phi 396f5d610e fix: renew --only-cc with sectorfile
Add the ability to extend/renew only CC-sectors with the `--only-cc` when using a sector-file.
2022-10-05 15:43:13 +00:00
Shrenuj Bansal 4904411ded Address comments 2022-10-05 15:37:04 +00:00
Shrenuj Bansal eb82d5532e doc gen 2022-10-05 15:36:54 +00:00
Shrenuj Bansal 6696de6bab Add ability to only have single partition per msg for partitions with recovery sectors 2022-10-05 15:36:41 +00:00
Ian Davis 284bfc9a57 Run packer build biweekly
This runs the build more often so we can continue to debug any remaining
issues, and ensures that we release a new image on the 15th of this
month (since it was broken on the 1st)
2022-10-05 13:05:36 +01:00
Ian Davis d1981ef34e Increase aws_polling / no_output_timeout to 1h 2022-10-05 12:28:41 +01:00
Ian Davis 80dc0ce879 Don't alias the lotus-daemon 2022-10-05 12:28:41 +01:00
Ian Davis 1d1f55125a Fix issue with snap renaming in packer script 2022-10-05 12:28:39 +01:00
Shrenuj Bansal e74838f024 Merge pull request #9413 from filecoin-project/sbansal/single-partition-post-for-recovery-sectors
feat: wdpost: Add ability to only have single partition per msg for partitions with…
2022-10-05 10:56:41 +00:00
Phi d8b6904492 fix: ux: Add cmd outputs
Adding command outputs to `lotus wallet set-default` and `lotus wallet delete`
2022-10-05 09:47:31 +02:00
Shrenuj Bansal 9653584d73 Address comments 2022-10-04 19:21:55 +00:00
Łukasz Magiera e6c8de6cc6 Merge pull request #9406 from filecoin-project/upgrade-hid
_chore_: Upgrade `hid`
2022-10-04 19:19:53 +00:00
Shrenuj Bansal 96ddd756f8 doc gen 2022-10-04 18:44:00 +00:00
Shrenuj Bansal dc247cc57d Add ability to only have single partition per msg for partitions with recovery sectors 2022-10-04 18:33:18 +00:00
Shrenuj Bansal dde204fb6a Change Mpool push API to have an option to publish 2022-10-04 16:49:09 +00:00
Ian Davis 99919a8b08 cd testplans/lotus-soup/ && go mod tidy 2022-10-03 13:54:23 +01:00
Ian Davis 44b7584c58 Upgrade to zondax/hid to fix kIOMasterPortDefault issue
This issue has been fixed in the upstream repository for months, but no
release has been issued despite repeated requests. So instead just rely
on the specific commit hash until a release is cut.
2022-10-03 13:40:27 +01:00
Shrenuj Bansal 986c5e3c68 Use multiaddrs in config for raft peerset 2022-09-30 16:45:04 +00:00
Łukasz Magiera fb3d5e47d5 Merge pull request #9398 from RobQuistNL/patch-9
feat: client: Add retrieval deal ID and bytes transferred to retrieval output
2022-09-30 11:15:13 +00:00
Łukasz Magiera 6246cf5499 Merge pull request #9402 from filecoin-project/fix/sector-file-only-cc
fix: cli: renew --only-cc with sectorfile
2022-09-30 10:57:57 +00:00
Phi 70bb865f81 fix: renew --only-cc with sectorfile
Add the ability to extend/renew only CC-sectors with the `--only-cc` when using a sector-file.
2022-09-30 10:39:41 +02:00
Rob Quist 66b77be2d0 Add retrieval deal ID and bytes transferred to retrieval output 2022-09-30 02:43:01 +02:00
Aayush 2b08ed9536 address review 2022-09-29 13:27:43 -04:00
Łukasz Magiera 3d23a54fe4 Merge pull request #9393 from filecoin-project/chore/v1.17.2-rc2-prep
v1.17.2-rc2
2022-09-29 15:22:49 +00:00
Łukasz Magiera 258001c6aa changelog: Add v1.17.2-rc2 entry 2022-09-29 15:16:57 +00:00
Łukasz Magiera 310f20e81b v1.17.2-rc2 2022-09-29 15:08:09 +00:00
Łukasz Magiera 88a17013dd Merge pull request #9391 from filecoin-project/feat/noparam-miner
feat: miner paramfetch: Don't fetch param files when not needed
2022-09-29 14:34:17 +00:00
Shrenuj Bansal b8060cd8f7 Add persistent stores for cluster raft data 2022-09-29 12:56:22 +00:00
Łukasz Magiera d240b12196 feat: miner paramfetch: Don't fetch param files when not needed 2022-09-29 12:08:05 +00:00
Shrenuj Bansal f89a682d98 Add Mpool ref to raft state and rearrange some APIs 2022-09-29 10:56:57 +00:00
Airenas Vaičiūnas f7aecbf75d Limit rust downloads only to 64-bit in dockerfile 2022-09-29 12:53:23 +03:00
Aayush 9928c1ac18 address review 2022-09-28 16:39:05 -04:00
Łukasz Magiera e5e8308f5c Merge pull request #9150 from filecoin-project/phi/update-release-template
chore: release: Update `release_issue_template`
2022-09-28 16:03:55 +00:00
Shrenuj Bansal 570f61438a Retries within proxy working 2022-09-28 15:07:05 +00:00
Łukasz Magiera c42f88e4d3 Merge pull request #9389 from filecoin-project/backport/9386
[v1.17.2 backport] Use golang 1.18.1 to build appimage
2022-09-28 14:28:32 +00:00
Ian Davis bb8c3bad86 Use golang 1.18.1 to build appimage 2022-09-28 10:15:13 +00:00
Łukasz Magiera 7bf24ccaa2 Merge pull request #9386 from filecoin-project/fix-appimage-go-version
_ci_: Use golang 1.18.1 to build appimage
2022-09-28 10:13:39 +00:00
Aayush 87597cbc33 unify fip0036 shed commands for speed 2022-09-27 21:25:40 -04:00
Aayush 9535009e46 fix: singer -> signer 2022-09-27 16:58:25 -04:00
jennijuju 9dfd604724 refactors refactors refactors 2022-09-27 16:52:03 -04:00
jennijuju 3d5ecf25b2 wip 2022-09-27 16:52:03 -04:00
Jennifer Wang 5f5491a9e5 get deal proposal 2022-09-27 16:52:03 -04:00
Jennifer Wang 0addc7207e add client 2022-09-27 16:52:03 -04:00
Jennifer Wang e88c2061f1 add token holder group 2022-09-27 16:52:03 -04:00
Ian Davis 1a3cf0c7fe Use golang 1.18.1 to build appimage 2022-09-27 21:29:23 +01:00
Shrenuj Bansal 559c2c6d34 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-09-27 16:29:03 +00:00
Łukasz Magiera 311c8b25fe Merge pull request #9383 from filecoin-project/backports/17.2rc2
v1.17.2 backports
2022-09-27 16:23:18 +00:00
Shrenuj Bansal 99e7c322eb More wip 2022-09-27 16:08:04 +00:00
Shrenuj Bansal d11248b998 Merge pull request #9384 from filecoin-project/backport/asr/rpc-errors
Backport: #9061 rpc errors
2022-09-27 11:59:10 -04:00
Aayush 9c242a8012 address magik supernit 2022-09-27 15:34:01 +00:00
Aayush 8244297b89 chore: refactor: move retry test to API 2022-09-27 15:34:01 +00:00
Aayush 13f3e0aca4 fix: itest: check for closed connection 2022-09-27 15:34:01 +00:00
Aayush 34bbd2ad26 remove duplicate import 2022-09-27 15:34:01 +00:00
Aayush 5d28eea968 chore: deps: update to go-jsonrpc 0.1.8 2022-09-27 15:34:01 +00:00
Aayush 27880ece2b feat: support typed errors over RPC 2022-09-27 15:34:01 +00:00
Ian Davis f228bf484e Don't publish new homebrew releases for RC builds 2022-09-27 14:50:44 +00:00
Aayush b4ec045bc0 fix: build: set PropagationDelaySecs correctly 2022-09-27 14:50:44 +00:00
Aayush 27030aa1e8 fix: miner: init miner's with 32GiB sectors by default 2022-09-27 14:50:44 +00:00
Aayush d8441b134a fix: miner: init: only get sector-size once 2022-09-27 14:50:44 +00:00
Łukasz Magiera a0f2ddb920 Merge pull request #9350 from filecoin-project/no-rc-homebrew-update
_ci_: Don't publish new homebrew releases for RC builds
2022-09-27 14:43:00 +00:00
Aayush Rajasekaran 583ce6d1dc Merge pull request #9365 from filecoin-project/asr/deflake
feat: dealpublisher: check for duplicate deals before adding
2022-09-26 13:18:06 -04:00
Alfonso de la Rocha bf6541857e sync mining and gossipsub attacker depdendency 2022-09-26 10:57:56 +02:00
sectrgt 857c091576 Update chain.go 2022-09-25 21:01:08 -04:00
Aayush Rajasekaran ba89d2ccac Merge pull request #9364 from filecoin-project/asr/miner-init-fix
fix: miner: init miner's with 32GiB sectors by default
2022-09-23 13:07:21 -04:00
Aayush Rajasekaran d89b196f15 Merge pull request #9061 from filecoin-project/asr/rpc-errors
feat: API:  support typed errors over RPC
2022-09-23 12:57:39 -04:00
Aayush 72b676843b fix: miner: init: only get sector-size once 2022-09-23 12:52:12 -04:00
Aayush 1ae896e73f deflake TestRetryDealsNoFunds: increase wait 10x 2022-09-23 12:43:00 -04:00
Aayush 54a4f14d09 feat: dealpublisher: check for duplicate deals before adding 2022-09-23 12:23:42 -04:00
Aayush 3e81c56349 address magik supernit 2022-09-23 11:41:53 -04:00
Aayush 3c195e4d71 chore: refactor: move retry test to API 2022-09-23 11:37:13 -04:00
Aayush 971cdf51a3 fix: miner: init miner's with 32GiB sectors by default 2022-09-23 10:53:17 -04:00
Alfonso de la Rocha 35f8abc72a minor fix in composition 2022-09-23 12:44:55 +02:00
Airenas Vaičiūnas c5a79bfc76 Make Dockerfile compatible with arm platform
1. update rust
2. add possibility to set FFI_BUILD_FROM_SOURCE
3. fix hardcoded paths: x86_64-linux-gnu
2022-09-23 09:23:03 +03:00
Shrenuj Bansal 7470549199 Address moar comments 2022-09-22 16:27:15 -04:00
Aayush Rajasekaran 4aa532390c Merge pull request #9322 from filecoin-project/jen/msigall
shed: util: get all msig
2022-09-22 15:33:58 -04:00
Aayush 06262868f5 fix: itest: check for closed connection 2022-09-22 13:58:07 -04:00
Alfonso de la Rocha ebafb6584e minor fixes. sync mining. 2022-09-22 19:46:25 +02:00
Geoff Stuart d0dff7ee4e Merge pull request #9356 from filecoin-project/asr/deflake
fix: test: simplify TestDeadlineToggling
2022-09-22 13:31:55 -04:00
Aayush 63a02a6c74 fix: test: flaky TestDeadlineToggling 2022-09-22 13:12:17 -04:00
Jennifer Wang aea9c535e0 fix typo, add wrapper on error and make jen 2022-09-22 13:12:12 -04:00
Aayush Rajasekaran ecc9af60eb Merge pull request #9358 from filecoin-project/asr/propagation
fix: build: set PropagationDelaySecs correctly
2022-09-22 12:51:56 -04:00
jennijuju 2ec4ac3c0f use offline mode instead 2022-09-22 12:42:10 -04:00
Aayush 5b96496a8d remove duplicate import 2022-09-22 11:44:19 -04:00
Aayush 6189932bef chore: deps: update to go-jsonrpc 0.1.8 2022-09-22 11:44:19 -04:00
Aayush 93f94d4ee9 feat: support typed errors over RPC 2022-09-22 11:44:19 -04:00
Aayush 906d8bffdf fix: build: set PropagationDelaySecs correctly 2022-09-22 11:42:28 -04:00
Aayush Rajasekaran 7a2bc47486 fix: test: flaky TestDeadlineToggling around nulls (#9354) 2022-09-21 21:16:24 +00:00
Geoff Stuart 37be57610c feat: actors: Integrate datacap actor into lotus (#9348)
* Integrate datacap actor

* Implement datacap actor in chain/builtin
2022-09-21 15:51:28 -04:00
Aayush Rajasekaran 24c536fed0 Merge pull request #9353 from filecoin-project/gstuart/retrieval-calculation-fix
fix: retrievals: price-per-byte calculation fix
2022-09-21 15:50:47 -04:00
Aayush Rajasekaran ff994155df Merge pull request #9351 from filecoin-project/asr/remove-newest-network
feat: refactor: remove NewestNetworkVersion
2022-09-21 15:50:02 -04:00
Aayush 32670e810c chore: refactor: rename NewestNetworkVersion 2022-09-21 15:48:51 -04:00
Aayush 347d92b29c feat: add StateNetworkVersion to mpool API 2022-09-21 15:48:27 -04:00
Shrenuj Bansal 1fe4aa3467 Add Auth func for gorpc and address comments 2022-09-21 15:41:10 -04:00
Geoff Stuart 9e94dc5550 Delete lotus-pond (#9352) 2022-09-21 15:39:46 -04:00
Geoff Stuart a1e08e5664 Fix a calculation error in price-per-byte in retrievals 2022-09-21 15:35:52 -04:00
Ian Davis f5048ec61c Don't publish new homebrew releases for RC builds 2022-09-21 12:20:26 -04:00
Geoff Stuart 94add978b0 chore: actors: Allow builtin-actors to return a map of methods (#9342)
* Allow builtin-actors to return a map of methods

* go mod

* Fix tests

* Fix tests, check carefully please
2022-09-21 10:56:58 -04:00
Łukasz Magiera c7d4c9d26d Merge pull request #9347 from filecoin-project/fix/update-go-badge
fix: docs: update Go-badge in readme
2022-09-21 15:31:50 +02:00
Phi 788b864362 Update Go-badge in readme
Update Go-badge in readme to reflect that go-version 1.18.1 or higher is needed.
2022-09-21 11:42:26 +02:00
Łukasz Magiera 84fdc0ea9e Merge pull request #9338 from filecoin-project/arajasek-patch-2
docs: release template: clarify location of version.go
2022-09-21 08:36:42 +02:00
Aayush 99db94f476 build: set version to v1.18.0-dev 2022-09-20 15:56:57 -04:00
Łukasz Magiera 39604faa09 Merge pull request #9339 from filecoin-project/chore/v1.17.2-rc1-prep
v1.17.2-rc1
2022-09-20 18:37:19 +02:00
Łukasz Magiera fd0fec07d8 Merge pull request #9337 from filecoin-project/chore/bump-v1.17.3-dev
build: Bump version to v1.17.3-dev
2022-09-20 18:31:59 +02:00
Łukasz Magiera 3ffedead7a v1.17.2-rc1 2022-09-20 18:31:06 +02:00
Aayush Rajasekaran 2bdab5a900 docs: release template: clarify location of version.go 2022-09-20 12:26:56 -04:00
Łukasz Magiera 8ca1f89ba6 build: Bump version to v1.17.3-dev 2022-09-20 18:24:42 +02:00
Aayush Rajasekaran ee3a9d2e09 Merge pull request #9335 from filecoin-project/deps/update-cborgen
deps: Use latest cbor-gen
2022-09-20 12:16:13 -04:00
Aayush 1f80471479 Update to go-state-types v0.1.12-beta 2022-09-20 11:59:26 -04:00
Łukasz Magiera 2d82527ee9 cli: Fix compute-state --html 2022-09-20 17:40:24 +02:00
Łukasz Magiera 9be712de99 deps: Use latest cbor-gen 2022-09-20 17:30:07 +02:00
Aayush Rajasekaran b6d36436c3 Merge pull request #9290 from filecoin-project/jen/propgation
feat: env: propagation delay
2022-09-19 22:00:28 -04:00
Łukasz Magiera 39af6e0365 Merge pull request #9328 from filecoin-project/fix/ffiwrap-close-ap
fix: ffiwrapper: Close readers in AddPiece
2022-09-19 17:47:15 +02:00
Łukasz Magiera dacbdee85b Merge pull request #9331 from filecoin-project/fix/no-upd-activating-panik
sealing: Avoid panicking in handleUpdateActivating on startup
2022-09-19 17:42:21 +02:00
Geoff Stuart 862e885125 Merge pull request #9330 from filecoin-project/asr/ffi-update
chore: deps: update FFI
2022-09-19 11:39:15 -04:00
Łukasz Magiera 66ad2b8102 sealing: Avoid panicking in handleUpdateActivating on startup 2022-09-19 17:32:02 +02:00
Aayush 291a889595 chore: deps: update FFI 2022-09-19 10:42:41 -04:00
Łukasz Magiera 4cdeb6cdb1 Merge pull request #9210 from filecoin-project/feat/recievesector
feat: sealing: Partially sealed sector import
2022-09-19 13:04:39 +02:00
Łukasz Magiera 015139d451 sealing pipeline: Clarify maybeNotifyRemoteDone 2022-09-19 12:16:11 +02:00
Łukasz Magiera 859c2606f0 sealing: Address review 2022-09-19 12:13:06 +02:00
Łukasz Magiera a05593da5b systar: Create file after header checks 2022-09-19 12:13:06 +02:00
Łukasz Magiera fec9c0f981 sector import: Fix lint 2022-09-19 12:13:06 +02:00
Łukasz Magiera 061a990eb8 sector import: RemoteSealingDoneEndpoint 2022-09-19 12:13:06 +02:00
Łukasz Magiera ef834b988c sector import: Fix test build 2022-09-19 12:13:06 +02:00
Łukasz Magiera 474c60203b tarutil: Strict header checks 2022-09-19 12:13:06 +02:00
Łukasz Magiera c17ab761c5 sector import: Remote Commit2 2022-09-19 12:13:06 +02:00
Łukasz Magiera 142894895d sector import: Implement seed/ticket/commr/commd checks 2022-09-19 12:13:06 +02:00
Łukasz Magiera b2dfaae68c sector import: Test remote commit1 retry 2022-09-19 12:13:06 +02:00
Łukasz Magiera 9f03569cd0 sector import: Remote Commit1 2022-09-19 12:13:06 +02:00
Łukasz Magiera 830c2ffdf5 sector import: FinalizeInto, send finalized cacde in itest 2022-09-19 12:13:06 +02:00
Łukasz Magiera 3086e8aa01 sector import: Seal with the correct proof type in saas itest 2022-09-19 12:13:06 +02:00
Łukasz Magiera 9c6d531ae7 sector import: Plumb sector download task canfig 2022-09-19 12:13:06 +02:00
Łukasz Magiera 12a8ab5ac7 sector import: Add missing initial fsm state transition 2022-09-19 12:13:06 +02:00
Łukasz Magiera fef7232c6b sector import: Initial SectorReceive itest 2022-09-19 12:13:06 +02:00
Łukasz Magiera 3caa010779 sector import: Update type-gen 2022-09-19 12:13:06 +02:00
Łukasz Magiera cdadf5e5a9 sector import: Implement handleReceiveSector 2022-09-19 12:13:05 +02:00
Łukasz Magiera cde23be559 sector import: Fix tests 2022-09-19 12:13:05 +02:00
Łukasz Magiera ea99bd9763 sector import: Sector data download 2022-09-19 12:13:05 +02:00
Łukasz Magiera fbb487ae2b sector import: Plumbing for DownloadSectorData in the sealing system 2022-09-19 12:13:05 +02:00
Łukasz Magiera 39e4845f42 sector import: Put the imported sector into the sealing pipeline 2022-09-19 12:13:05 +02:00
Łukasz Magiera 2b644525f8 sector import: More check progress 2022-09-19 12:13:05 +02:00
Łukasz Magiera 2318419291 sector import: Fix missing perm tag on SectorReceive 2022-09-19 12:13:05 +02:00
Łukasz Magiera ca790b4c69 sealing: Validate piece alignment in checkPieces 2022-09-19 12:13:05 +02:00
Łukasz Magiera 332d83bd18 sector import: Check pieces in Sealing.Receive 2022-09-19 12:13:05 +02:00
Łukasz Magiera 5c485c3375 sealing: Drop redundant Piece type 2022-09-19 12:13:05 +02:00
Łukasz Magiera 29135aa77c sector import: Initial api scaffolding 2022-09-19 12:13:03 +02:00
Łukasz Magiera d68bb937d8 fix: ffiwrapper: Close readers in AddPiece 2022-09-19 09:52:57 +02:00
Alfonso de la Rocha 8f48631fc4 index new testcase 2022-09-19 09:12:13 +02:00
Alfonso de la Rocha 749d13359f added testground test case for epoch boundary attack 2022-09-19 09:11:30 +02:00
Jiaying Wang 4abc38dacc Merge pull request #9310 from filecoin-project/fix/empty-snap
fix: sealing: Abort upgrades in sectors with no deals
2022-09-16 21:21:39 -04:00
Aayush Rajasekaran 10087ffaeb Merge pull request #9326 from filecoin-project/asr/deal-info-logs
feat: add descriptive errors to markets event handler
2022-09-16 15:54:14 -04:00
Aayush 4382bbcc96 feat: add logs to markets event handler 2022-09-16 15:36:08 -04:00
Aayush Rajasekaran 7663ec2bde Merge pull request #9325 from filecoin-project/fix/missing-pci
fix: sealing: Drop unused PreCommitInfo from pipeline.SectorInfo
2022-09-16 12:10:45 -04:00
Łukasz Magiera f1e4ecaaa3 fix: Drop unused PreCommitInfo from pipeline.SectorInfo 2022-09-16 17:51:09 +02:00
Łukasz Magiera 501d21aa28 fix expiration config handling in calcTargetExpiration 2022-09-16 15:37:50 +02:00
Łukasz Magiera e3d59288fe Merge pull request #9241 from filecoin-project/fix/control-list-panic
fix: cli: fix panic in `lotus-miner actor control list`
2022-09-16 14:11:18 +02:00
Alfonso de la Rocha 0209052821 minor changes 2022-09-16 13:09:27 +02:00
Łukasz Magiera 7cfba5e1b2 Merge pull request #9323 from LexLuthr/feat/update-storage-output
feat: miner: display updated & update-cache for storage list
2022-09-16 12:43:51 +02:00
Alfonso de la Rocha 72c80a3461 fixed unit tests 2022-09-16 09:22:37 +02:00
LexLuthr 32ce8f0d9b display updated & update-cache for storage 2022-09-16 11:37:12 +05:30
Jennifer Wang b87ade6402 docsjen 2022-09-15 17:05:07 -04:00
Aayush Rajasekaran 7d3b7fe728 Merge pull request #9321 from filecoin-project/gstuart/actors-cids-cli-network-version
fix: cli: actor-cids cli command now defaults to current network
2022-09-15 12:38:51 -04:00
Geoff Stuart 609dad02a2 actor-cids cli command now defaults to current network version instead of newest 2022-09-15 10:42:44 -04:00
Łukasz Magiera 7dd12f88e1 Merge pull request #9027 from filecoin-project/jen/butterfly
build: artifacts: butterfly
2022-09-15 16:30:02 +02:00
Łukasz Magiera 7a2a069a5a Merge pull request #9282 from Juneezee/refactor/os.ReadDir
refactor: use `os.ReadDir` for lightweight directory reading
2022-09-15 16:25:51 +02:00
Łukasz Magiera bf3daea124 sealing: Minimum upgrade sector expiration/target config 2022-09-15 16:19:57 +02:00
Łukasz Magiera 305cfa1f69 sealing: Pick safer minTarget in calcTargetExpiration 2022-09-15 16:09:13 +02:00
Łukasz Magiera d2c726cd28 fix: sealing: Abort upgrades in sectors with no deals 2022-09-15 16:09:13 +02:00
Jennifer Wang 236a21a9d7 add get all msig into lotus-shed 2022-09-15 03:34:24 -04:00
Aayush Rajasekaran 4e830a8c31 Merge pull request #9308 from filecoin-project/gstuart/beneficiary-info-cli
feat: cli: print beneficiary info in state miner-info
2022-09-14 18:12:55 -04:00
Geoff Stuart 9d63e1412e print beneficiary info in state miner-info and lotus-miner info 2022-09-14 17:54:20 -04:00
Aayush Rajasekaran 305589e347 Merge pull request #9307 from filecoin-project/gstuart/change-beneficiary
feat: api/cli: change beneficiary propose and confirm for actors and multisigs.
2022-09-14 17:47:20 -04:00
Geoff Stuart 3c19328764 Review fixes 2022-09-14 17:38:01 -04:00
Geoff Stuart 84fd51ff50 add cli commands for changing beneficiary 2022-09-14 16:52:00 -04:00
Aayush Rajasekaran 4f46ad3665 Merge pull request #9317 from filecoin-project/gstuart/cli-cleanup
chore: cli: cleanup and standardize cli
2022-09-14 16:35:49 -04:00
Geoff Stuart 4f75e2041c Add helper function to print usage when wrong number of arguments are supplied 2022-09-14 15:38:15 -04:00
Geoff Stuart 3ca9b1e331 wait.Receipt.ExitCode != 0 to wait.Receipt.ExitCode.IsError() 2022-09-14 14:53:11 -04:00
Geoff Stuart fb0633453a api, nodeApi to minerApi 2022-09-14 14:51:18 -04:00
Geoff Stuart 308cef950b cctx.Args().Len() to cctx.NArg() 2022-09-14 14:33:29 -04:00
Alfonso de la Rocha d1a4f1dc50 fixed bugs in consistent broadcast integration 2022-09-14 19:59:29 +02:00
Geoff Stuart f567db64b6 Merge pull request #9296 from filecoin-project/gstuart/beneficiary-withdraw-api
feat: api/cli: beneficiary withdraw api and cli
2022-09-14 13:36:51 -04:00
Geoff Stuart d94cdaaade Fixes node startup 2022-09-14 13:15:17 -04:00
Łukasz Magiera 3e8eaa8112 Merge pull request #9315 from filecoin-project/asr/fix-config
fix: docsgen: revert rename of API Name to Num
2022-09-14 19:13:16 +02:00
Aayush e3e6ff67db fix: docsgen: revert rename of API Name to Num 2022-09-14 12:41:47 -04:00
Geoff Stuart 21906b5a63 add api and cli calls for beneficiary withdrawl 2022-09-14 12:26:35 -04:00
Łukasz Magiera bdb62e6a40 Merge pull request #9303 from filecoin-project/9299-messages-with-empty-uuids-to-mpoolpushmessage-will-be-rejected
fix: api: Ignore uuid check for messages with uuid not set
2022-09-14 08:59:11 +02:00
Aayush Rajasekaran 7b23814fc1 Merge pull request #9291 from filecoin-project/gstuart/terminate-from-worker-addr
feat: cli: Add option to terminate sectors from worker address
2022-09-13 20:51:11 -04:00
Geoff Stuart 36fec765e7 Merge pull request #9304 from filecoin-project/tippy/update-links-2
chore: Fix dead links to docs.filecoin.io
2022-09-13 19:37:42 -04:00
TippyFlitsUK ea53f12a98 chore: Fix dead links to docs.filecoin.io 2022-09-14 00:10:22 +01:00
Shrenuj Bansal 81c729e09c Cluster raft config changes 2022-09-13 19:09:03 -04:00
Shrenuj Bansal 4be8861f41 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-09-13 17:41:06 -04:00
Shrenuj Bansal 3441224b2f WIP: rest of the stuff 2022-09-13 17:30:13 -04:00
Shrenuj Bansal a50a21b076 cleanup 2022-09-13 16:52:47 -04:00
Shrenuj Bansal 4c4b10c617 Ignore uuid check for messages with uuid not set 2022-09-13 16:33:55 -04:00
Aayush Rajasekaran d249117182 Merge pull request #9279 from filecoin-project/chore/update-bitswap
chore: update bitswap and some libp2p packages
2022-09-13 12:14:38 -04:00
Steven Allen b13cf82541 chore: update bitswap and some libp2p packages
This removes some deprecated packages from the build tree.
2022-09-13 07:56:12 -07:00
Geoff Stuart a0ec3a7bbe Add option to terminate sectors from any address 2022-09-13 10:14:28 -04:00
Alfonso de la Rocha 1dadff303c added garbage collection test. minor fix 2022-09-13 16:06:18 +02:00
Aayush Rajasekaran c791fe34b9 Merge pull request #9283 from filecoin-project/gstuart/merge-releases-1.17.1
chore: merge releases into master after v1.17.1 release
2022-09-13 10:06:13 -04:00
Alfonso de la Rocha 76031d72ad minor fixes. unit tests added 2022-09-13 12:33:28 +02:00
Aayush Rajasekaran 04a8239df4 Merge pull request #9267 from filecoin-project/jen/nv17
feat: network: add nv17 and integrate the corresponding go state type
2022-09-12 18:19:28 -04:00
Shrenuj Bansal 4171be0b98 Few more changes 2022-09-12 16:37:24 -04:00
Shrenuj Bansal a1f2fdb706 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-09-12 16:23:24 -04:00
Shrenuj Bansal 8f1b1bb1ff WIP: Raft consensus for lotus nodes in a cluster 2022-09-12 16:10:15 -04:00
Aayush 108d41fd78 Update FFI and go-state-types 2022-09-12 15:59:55 -04:00
Alfonso de la Rocha c03ad9dcfd wip: draft impl of consistent bcast 2022-09-12 19:03:06 +02:00
Jennifer Wang 001c5500bd increase the default propagation delay to 10 sec 2022-09-12 10:48:55 -04:00
Jennifer Wang 8d99d27932 add envvar for PROPAGATION_DELAY_SECS 2022-09-12 10:45:34 -04:00
Aayush 19c3232d2f more fixes 2022-09-10 12:37:03 -04:00
Aayush 76090193ea Tweak StateMinerPreCommitDepositForPower based on network version 2022-09-09 21:40:15 -04:00
Aayush c0bbaebaf4 more fixes 2022-09-09 21:40:15 -04:00
Aayush 92cc24fca2 support fvm gas tracing 2022-09-09 21:40:15 -04:00
Aayush 30f66578e1 fixup genesis creation 2022-09-09 21:40:15 -04:00
Aayush e9a3235291 more fixes 2022-09-09 21:40:15 -04:00
Geoff Stuart 642555d0fb Fix discrepancies, run fiximports 2022-09-09 21:40:15 -04:00
Aayush 0efca4d266 introduce v9 actors and nv17 2022-09-09 21:40:15 -04:00
Geoff Stuart bc2bf7d6d0 Merge branch 'releases' 2022-09-09 14:05:15 -04:00
Geoff Stuart 29fff4fb06 Merge pull request #9281 from filecoin-project/fix/call-syncBasefeeCheck
fix: miner: Call SyncBasefeeCheck from `lotus info`
2022-09-09 12:34:18 -04:00
Eng Zer Jun abef90423d refactor: use os.ReadDir for lightweight directory reading
`os.ReadDir` was added in Go 1.16 as part of the deprecation of `ioutil`
package. It is a more efficient implementation than `ioutil.ReadDir`.

Reference: https://pkg.go.dev/io/ioutil#ReadDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-09-09 19:53:40 +08:00
Phi ca965d1c6c Call SyncBasefeeCheck from lotus info
Call SyncBasefeeCheck from `lotus info` to not duplicate logic. Also switches to V1 api.
2022-09-09 13:42:34 +02:00
Jiaying Wang 8db6a939c1 Merge pull request #9273 from filecoin-project/release/v1.17.1
build: release: v1.17.1
2022-09-08 13:57:16 -04:00
Łukasz Magiera 0594e33ed7 Merge pull request #9277 from filecoin-project/fix/ffi-version
ffi: Revert accidental filecoin-ffi downgrade from #9144
2022-09-08 12:04:41 +02:00
Łukasz Magiera f9e19500be ffi: Revert accidental update from #9144 2022-09-08 11:53:52 +02:00
Jiaying Wang e3894de618 Merge pull request #9270 from filecoin-project/gstuart/v1.17.1
build: release: Ready v1.17.1 for release
2022-09-07 20:51:32 -04:00
Geoff StuartandJiaying Wang e153db31b1 Update CHANGELOG.md
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
2022-09-07 17:18:01 -04:00
Geoff StuartandJiaying Wang dc732bafd5 Update CHANGELOG.md
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
2022-09-07 17:17:51 -04:00
Geoff StuartandJiaying Wang c4e1e0941c Update CHANGELOG.md
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
2022-09-07 17:17:39 -04:00
Geoff Stuart f8946b15d2 Ready v1.17.1 for release 2022-09-06 15:30:21 -04:00
LexLuthr 67d4f905e6 feat: proving: Introduce manual sector fault recovery (#9144)
* rebase

* fix lint error

* fix errors

* add itest

* make gen after rebase

* apply suggestion from review

* make gen after latest rebase

* gen after rebase

* fix waitgroup

* change as per review

* refactor Recovery Batches

* fix CLI

* gen after rebase

* close the channel
2022-09-06 21:17:30 +05:30
Phi 9c48922a75 Fix lotus-shed actor cmd
Check the length of multisig address in lotus-shed actor cmd as well.
2022-09-05 09:58:34 +02:00
Łukasz Magiera 783fc6a20d Merge pull request #9233 from filecoin-project/feat/lotus-info-cmd
feat: cli: lotus info cmd
2022-09-05 09:47:42 +02:00
Phi ab0699875a make gen happy
make gen happy not sad
2022-09-02 15:20:36 +02:00
Phi-rjanandŁukasz Magiera a31b8a1b58 Update cli/info.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-09-02 15:12:32 +02:00
Phi 3e74819519 Check length of msig address
Check the length of multisig address, and print based on that.
2022-09-02 10:33:32 +02:00
Aayush Rajasekaran 98ff8c477e Merge pull request #9237 from filecoin-project/fix/actor-set-addrs-sender
fix: cli: Option to specify --from msg sender
2022-09-01 11:31:21 -04:00
Aayush Rajasekaran c147e315db Merge pull request #9242 from filecoin-project/fix/ledger-reject-error
fix: ux: better ledger rejection error
2022-09-01 11:29:46 -04:00
Phi a5ea5ba9c1 Fix lint
Fix lint
2022-09-01 17:01:03 +02:00
Phi 405bfeddac Better ledger rejection error
Print a more understandable error message when a transaction is being rejected on ledger.
2022-09-01 16:30:36 +02:00
Phi 7c00c1e5d5 Tune down slice
Tuning down slice to only 6 characters to avoid panics if the multisig-actor is of really low character length.
2022-09-01 11:54:10 +02:00
Phi 15ea3953f0 Option to specify --from msg sender
Adds the option to specify the account to send the message from in the `lotus-miner actor set-addrs`
2022-08-31 18:42:24 +02:00
Phi 818153a1e7 Put SyncBasefeeCheck in function
Put SyncBasefeeCheck in function
2022-08-31 13:15:28 +02:00
Phi 870c2f9554 Move newline
Move newline
2022-08-31 10:44:59 +02:00
Phi 8a45e8c8af Handle "Default address not set" better
Only print address and get balance if err == nil, else print that the Default address is not set
2022-08-31 10:40:50 +02:00
Phi 683900b5a2 make docsgen-cli
make docsgen-cli
2022-08-30 13:29:22 +02:00
Phi ab61f4bb2c lotus info cmd
Adds lotus info command that prints a lot of node information.
2022-08-30 12:54:59 +02:00
Łukasz Magiera 088bf56f2a Merge pull request #9231 from filecoin-project/fix/datacid-res-envvars
sealing: fix: Make DataCid resource env vars make more sense
2022-08-30 02:36:02 +02:00
Łukasz Magiera 2532300156 Merge pull request #9232 from filecoin-project/fix/gatewaytest-panic
cli: Don't panic with no providers in client retrieve
2022-08-29 17:27:36 +02:00
Łukasz Magiera 36ae2086ab cli: Don't panic with no providers in client retrieve 2022-08-29 16:55:58 +02:00
Łukasz Magiera 08b22edd89 fix make gen 2022-08-29 16:25:30 +02:00
Łukasz Magiera 78cde92999 Merge pull request #9230 from filecoin-project/fix/data-cid-close
fix: api: DataCid - ensure reader is closed
2022-08-29 16:15:03 +02:00
Łukasz Magiera 9d916029d9 Merge pull request #9229 from filecoin-project/deps/pubsub-v0.8.0
deps: go-libp2p-pubsub v0.8.0
2022-08-29 16:12:43 +02:00
Łukasz Magiera d00e1e78bb resources: Use 32G AP resources for DC 2022-08-29 16:12:02 +02:00
Łukasz Magiera c51283223d mod tidy 2022-08-29 16:03:03 +02:00
Łukasz Magiera e4ed3f8cf8 sealing: fix: Make DataCid resource env vars make more sense 2022-08-29 15:57:58 +02:00
Dirk McCormick 964bbca792 fix: DataCid - ensure reader is closed 2022-08-29 10:31:11 +02:00
Łukasz Magiera efc8c75e7d deps: go-libp2p-pubsub v0.8.0 2022-08-29 10:05:14 +02:00
Łukasz Magiera 28722de72d Merge pull request #9177 from filecoin-project/9171-add-retries-to-mpool-push-message
feat: message: Add retries to mpool push message from lotus miner
2022-08-29 09:24:35 +02:00
Łukasz Magiera 99c2ad4ad5 make: fix go version check 2022-08-29 09:06:19 +02:00
Jiaying Wang 1b5a1f692a Merge pull request #9206 from filecoin-project/asr/verifreg-tuple
fix: verifreg: serialize RmDcProposalID as int, not tuple
2022-08-26 16:38:34 -04:00
Jennifer Wang 343d092044 mod tidy 2022-08-26 15:33:26 -04:00
Jennifer Wang d8578190ff update go state type to v0.1.11 2022-08-26 14:43:53 -04:00
Shrenuj Bansal 6291799cfa Change go version to 1.18.1 in more readmes 2022-08-26 14:19:17 -04:00
Shrenuj Bansal b3175f0b5c Merge branch 'master' into 9171-add-retries-to-mpool-push-message 2022-08-26 12:31:35 -04:00
Shrenuj Bansal 0ebe1a6631 go mod tidy 2022-08-26 12:02:00 -04:00
Shrenuj Bansal 217cc846c3 Address more comments 2022-08-26 11:55:20 -04:00
Łukasz Magiera 45d1bd61ce Merge pull request #9183 from filecoin-project/feat/sectornum-mgmt
feat: sealing: Use bitfields to manage sector numbers
2022-08-26 10:59:24 -04:00
Łukasz Magiera 0770bced09 Merge pull request #9216 from filecoin-project/deps/libp2p-v0.22
deps: libp2p v0.22
2022-08-25 20:03:26 -04:00
Łukasz Magiera 5d9315938f Make mod tidy happy 2022-08-25 14:28:06 -04:00
Łukasz Magiera dd144eaab9 Update other deprecated libp2p imports 2022-08-25 14:23:25 -04:00
Łukasz Magiera 2086b219d2 Don't use go-libp2p-core 2022-08-25 14:20:41 -04:00
Łukasz Magiera ebd8c0c50a gomod: Update libp2p to v0.22.0 2022-08-25 14:06:21 -04:00
Łukasz Magiera 153cdf24a5 Merge pull request #9167 from ianconsolata/snap-daemon-autorun-disable
_ci_ / _build_ : Snap daemon autorun disable
2022-08-25 13:42:13 -04:00
Geoff Stuart aa27fb496f Merge pull request #9212 from filecoin-project/feat/shed-vlog-maxsz
feat: shed: add a --max-size flag to vlog2car
2022-08-25 10:25:37 -04:00
Łukasz Magiera 70f0edd041 strle, sealing: address review 2022-08-25 10:19:39 -04:00
Łukasz Magiera 2f7062d642 vlog2car: add max-size flag usage, fix lint 2022-08-25 10:08:12 -04:00
Łukasz Magiera ebeb16eda5 feat: shed: add a --max-size flag to vlog2car 2022-08-25 01:05:56 +02:00
Łukasz Magiera b8a8648f4a numassigner: fix lint 2022-08-24 11:38:29 -04:00
Łukasz Magiera 335f5df3ec numassigner: SectorNumReserveCount 2022-08-24 11:25:37 -04:00
Łukasz Magiera f1f31d1067 Merge pull request #9207 from filecoin-project/asr/deflake
fix: mock sealer: grab lock in ReadPiece
2022-08-23 21:55:18 -04:00
Aayush 5e80276631 fix: mock sealer: grab lock in ReadPiece 2022-08-23 17:24:28 -04:00
Aayush 9812792d46 fix: verifreg: serialize RmDcProposalID as int, not tuple 2022-08-23 16:58:10 -04:00
Łukasz Magiera 4a6ea4c492 Merge pull request #9202 from nujz/master
fix: cgroupV1: memory.memsw.usage_in_bytes: no such file or directory
2022-08-23 14:38:55 -04:00
Łukasz Magiera b290dac3cb Merge remote-tracking branch 'origin/master' into feat/sectornum-mgmt 2022-08-23 11:44:43 -04:00
nujz 76f6eb3edf cgroupV1: memory.memsw.usage_in_bytes: no such file or directory 2022-08-23 17:37:47 +08:00
Aayush Rajasekaran b33e3eac60 Merge pull request #9201 from filecoin-project/gstuart/state-actor-manifest-cid
feat: api: Reintroduce StateActorManifestCID
2022-08-22 18:20:24 -04:00
Łukasz Magiera c18874c122 numassigner: Don't error on fresh non-genesis miners 2022-08-22 17:49:58 -04:00
Łukasz Magiera 64290b69c9 numassigner: Fix missing api perms 2022-08-22 17:41:41 -04:00
Shrenuj Bansal b972e079b8 Address comments 2022-08-22 17:32:43 -04:00
Geoff Stuart 7d07ddd837 Reintroduce StateActorManifestCID 2022-08-22 17:17:01 -04:00
Łukasz Magiera 129eba2b5d sealing: numassign: itests/bug fixes 2022-08-22 16:58:36 -04:00
Łukasz Magiera 00bef607ca sealing: numassign: take on-chain allocated numbers into account 2022-08-22 16:55:44 -04:00
Łukasz Magiera ef2080a800 cli for managing sector reservations 2022-08-22 16:55:41 -04:00
Łukasz Magiera ca72590e49 sealing: Use bitfields to manage sector numbers 2022-08-22 16:55:08 -04:00
Łukasz Magiera 5274ddce83 Merge pull request #9198 from filecoin-project/jen/annoyed
chore:  seed: add cmd for adding signers to rkh to genesis
2022-08-22 13:05:09 -04:00
Jennifer Wang f86ce88d3d add cmd for adding signers to vkh to genesis 2022-08-21 22:33:24 -04:00
Łukasz Magiera ea504dc93b Merge pull request #9189 from filecoin-project/phi/commp-bytes
fix: ux: Output bytes in `lotus client commP` cmd
2022-08-19 19:15:19 -04:00
Shrenuj Bansal 8a19cd19d8 Merge branch 'master' into 9171-add-retries-to-mpool-push-message 2022-08-19 12:08:07 -04:00
Łukasz Magiera c9d65606f5 Merge branch 'deps/go-libp2p-v0.21' 2022-08-19 11:57:01 -04:00
Shrenuj Bansal 5a12e58c0c Return error for non retryable errors 2022-08-19 11:33:37 -04:00
Łukasz Magiera 9112470785 deps: use tagged kad-dht 2022-08-19 11:31:51 -04:00
Łukasz Magiera 87edaa3f06 deps: use tagged markets 2022-08-19 11:28:05 -04:00
Łukasz Magiera ba67431731 Merge branch 'update-go-libp2p-v0.21' of github.com:MarcoPolo/lotus into deps/go-libp2p-v0.21 2022-08-19 11:22:04 -04:00
Phi 656f4d5101 Output bytes in lotus client commP cmd
Adds an additional line that outputs bytes in the `lotus client commP` cmd. Resolves #9188
2022-08-19 12:27:09 +02:00
Shrenuj Bansal afb4b1b68f mod tidy and fiximports 2022-08-18 18:23:42 -04:00
Shrenuj Bansal 12abc74640 update jsonrpc deps 2022-08-18 18:10:57 -04:00
Shrenuj Bansal 7c404d8b5e fix error type comparison 2022-08-18 17:55:56 -04:00
Shrenuj Bansal 00975237b1 Add retries for specific types of errors 2022-08-18 15:57:59 -04:00
Jiaying Wang e165731b82 Merge pull request #9182 from filecoin-project/jen/9169
fix: ux: exclude negative available balance from spendable amount
2022-08-18 14:44:56 -04:00
Łukasz Magiera 9fb1a0d4b3 Merge pull request #9184 from filecoin-project/feat/secrenew-only-cc
feat: sectors renew --only-cc
2022-08-18 14:08:36 -04:00
Łukasz Magiera 87b82b95c8 feat: sectors renew --only-cc 2022-08-18 11:04:20 -04:00
Jennifer Wang 52bae8d37d when availabel balance is negative, exclude from spendable amount 2022-08-18 09:31:14 -04:00
Shrenuj Bansal 736b492fb0 Change go version in dockerfile 2022-08-17 16:09:30 -04:00
Shrenuj Bansal 66891b6c53 mod tidy 2022-08-17 15:28:38 -04:00
Shrenuj Bansal 942c3a879c Change go version for circleci 2022-08-17 15:21:03 -04:00
Jiaying Wang 079dab0d75 Merge pull request #9175 from filecoin-project/gstuart/v1.17.1-rc3
chore: Bump version for rc3
2022-08-17 15:13:10 -04:00
Łukasz Magiera b5ac141936 Merge pull request #9174 from filecoin-project/9171-add-uuid-to-message-sent-to-chain-node
feat: message: Add uuid to mpool message sent to chain node from miner
2022-08-17 15:07:48 -04:00
Geoff Stuart 6270f10c93 Bump version for RC 2022-08-17 14:49:44 -04:00
Shrenuj Bansal f5ba7b958e Add stateWaitMsg before checking last balance 2022-08-17 14:48:44 -04:00
Shrenuj Bansal a59f977db1 Add retries to mpool push message from lotus miner 2022-08-17 14:22:31 -04:00
Shrenuj Bansal cd5dd2727c fix lint 2022-08-17 14:14:07 -04:00
Shrenuj Bansal 087a838db5 make gen for tests 2022-08-17 14:02:53 -04:00
Shrenuj Bansal 99040a89c6 Add test for dedup mpool messages 2022-08-17 12:38:23 -04:00
Shrenuj Bansal 60751f809b Change func name and nil pointer check based on comments 2022-08-17 10:47:05 -04:00
Shrenuj Bansal 32a2ae12cb fix lint rename 2022-08-16 16:44:14 -04:00
Shrenuj Bansal 72230d3249 fix lint 2022-08-16 16:25:42 -04:00
Shrenuj Bansal b7227d3a6b run make gen 2022-08-16 15:56:32 -04:00
Shrenuj Bansal fa4a479b97 Add uuid to mpool message sent to chain node from miner 2022-08-16 15:39:06 -04:00
Łukasz Magiera f27ef344bc Merge pull request #9170 from filecoin-project/gstuart/xcode-version-ci-master
Update xcode version for macos builds
2022-08-15 15:51:10 -04:00
Geoff Stuart 84a2ebcbfd Update xcode version for macos builds 2022-08-15 12:23:20 -04:00
Łukasz Magiera bafa664d03 Merge pull request #9164 from filecoin-project/gstuart/xcode-version-ci
chore: ci: Update xcode version for macos builds
2022-08-15 10:41:26 -04:00
Łukasz Magiera 2e29b460d2 Merge pull request #9142 from filecoin-project/chore/untangle-fsm
sealing pipeline: Remove useless storage adapter code
2022-08-14 15:50:31 -04:00
Łukasz Magiera 77208728ad sealing: fix lint/tests 2022-08-14 12:50:18 -04:00
Ian Davis e0428ca8c2 Snap starts disabled now, so no need to disable 2022-08-12 14:44:31 -07:00
Jiaying Wang 8ecf6f3ad3 Merge pull request #9165 from filecoin-project/release1.17.1/detach-storage-on-worker-shutdown
backport: 9153: detach storage on worker shutdown
2022-08-12 14:48:45 -04:00
Marco Munizaga 1af9e3c313 Check err for view.Register 2022-08-12 09:55:03 -07:00
Marco Munizaga 1f65d51a69 Update go-libp2p-resource-manager to v0.5.3 2022-08-12 09:49:38 -07:00
Shrenuj Bansal a7e99bc095 make gen 2022-08-12 12:21:24 -04:00
Shrenuj Bansal 5acff25bca fiximports 2022-08-12 12:05:43 -04:00
Shrenuj Bansal 594d030a56 log errors when closing all paths instead of stopping execution 2022-08-12 12:05:26 -04:00
Shrenuj Bansal 500f71c344 Add return value assignments 2022-08-12 12:03:51 -04:00
Shrenuj Bansal dfb691b14a Close all storage paths on worker shutdown 2022-08-12 11:59:55 -04:00
Geoff Stuart b648cec9cd Update xcode version for macos builds 2022-08-12 10:56:43 -04:00
Łukasz Magiera a81cbb5a7b Merge pull request #9161 from Fatman13/fatman13
chore: fix typo in comment
2022-08-12 12:17:35 +02:00
Yu 0ad96858ff chore: do make docsgen 2022-08-12 15:12:22 +08:00
Yu bb05aeb860 chore: fix typo in comment 2022-08-12 11:53:06 +08:00
Marco Munizaga 5a133ff2d4 Hook up resource manager metrics 2022-08-11 15:56:48 -07:00
Ian Davis 8bc79a65c7 Don't automatically start the lotus daemon on snap install 2022-08-11 15:45:02 -07:00
Marco Munizaga 3c2c827bc3 Revert "Rerun ci"
This reverts commit 05f5e02c03.
2022-08-11 13:42:33 -07:00
Marco Munizaga 05f5e02c03 Rerun ci 2022-08-11 13:22:58 -07:00
Geoff Stuart c326eadd8b Merge pull request #9151 from RobQuistNL/patch-8
fix: sealing: Add information on what worker a job was assigned to in logs
2022-08-11 16:01:53 -04:00
Marco Munizaga df777b3166 Update deps 2022-08-11 12:53:10 -07:00
Marco Munizaga 6d4b962391 Use v0.8.0 go-bitswap 2022-08-11 12:38:50 -07:00
Geoff Stuart 525ee3b77d Merge pull request #9153 from filecoin-project/sbansal/detach-storage-on-worker-shutdown
fix: worker: Close all storage paths on worker shutdown
2022-08-11 15:01:33 -04:00
Marco Munizaga 61abd91eb9 Use kad-dht fork 2022-08-11 11:39:06 -07:00
Marco Munizaga 6ae75aa1a2 Mod tidy 2022-08-11 11:23:34 -07:00
Marco Munizaga d03992f878 Update rcmgr 2022-08-11 11:23:19 -07:00
Marco Munizaga 15e00a125d Update rcmgr 2022-08-11 11:23:01 -07:00
Marco Munizaga 57772135ad Update dep 2022-08-11 11:22:21 -07:00
Marco Munizaga abd418af41 Fix lint 2022-08-11 11:20:12 -07:00
Marco Munizaga 6a17cad206 Update testplans go.mod 2022-08-11 11:20:10 -07:00
Marco Munizaga 766d809f0c Update to go-libp2p v0.21-RC 2022-08-11 11:15:20 -07:00
Shrenuj Bansal 1c98e37db8 fiximports 2022-08-11 11:53:58 -04:00
Shrenuj Bansal 4d10487463 log errors when closing all paths instead of stopping execution 2022-08-11 10:44:26 -04:00
Geoff Stuart 0b5e27d3de Merge pull request #9152 from ianconsolata/update-packer-snap-name
Use lotus snap (and fix typo) for packer builds
2022-08-11 09:14:11 -04:00
Geoff Stuart 5119769de0 Merge pull request #9155 from filecoin-project/phi/print-withdraw-receipt
fix: ux: msg receipt for actor withdrawal
2022-08-11 09:05:02 -04:00
Phi 509c44d446 fix: ux: msg receipt for actor withdrawal
Prints the message receipt when withdrawing from the miner-actor. Also highlights that the command is waiting for the message to be included in  a block.
2022-08-11 09:34:18 +02:00
Shrenuj Bansal 10dba44638 Add return value assignments 2022-08-10 17:43:54 -04:00
Shrenuj Bansal f390c186e6 Close all storage paths on worker shutdown 2022-08-10 17:06:01 -04:00
Rob Quist f5086c98e8 fix: Add information on what worker a job was assigned to in logs
More detailed logs
2022-08-10 21:33:19 +02:00
Ian Davis 670c53e863 Use lotus snap (and fix typo) for packer builds 2022-08-10 11:44:52 -07:00
Phi a59d83518d Update release_issue_template
Update release_issue_template.

- Changed some wrong links (links pointed to version.go in IPFS-repo)
- Removed `Create a discussion for this release`
- Removed "Prep the changelog using `scripts/mkreleaselog`, and add it to `CHANGELOG.md`" since this already has been captured in the first pre-release step. Left that you should make sure that the CHANGELOG is up to date.
2022-08-10 14:44:14 +02:00
Jiaying Wang 98e1282a3f Merge pull request #9148 from filecoin-project/gstuart/bump-version-rc
chore: versioning: Bump version for RC and add changelog
2022-08-09 15:22:50 -04:00
Jiaying Wang 3244969b93 Merge pull request #9147 from filecoin-project/gstuart/bump-versions
chore: versioning: Bump version to v1.17.2-dev
2022-08-09 13:57:25 -04:00
Geoff Stuart 495023460c Bump version for RC and add changelog 2022-08-09 13:53:21 -04:00
Geoff Stuart f536257d3c Bump version 2022-08-09 13:38:28 -04:00
Jiaying Wang b0109094cc Merge pull request #9146 from filecoin-project/jen/17tomaster
chore: merge: releases (v1.17.0) to master
2022-08-09 13:32:53 -04:00
Jennifer Wang 50edfbd182 fix merge 2022-08-09 13:30:21 -04:00
Jennifer Wang ded80070c5 fix version 2022-08-09 13:27:50 -04:00
Jennifer Wang e7628229fc Merge branch 'releases' into jen/17tomaster 2022-08-09 13:23:02 -04:00
Geoff Stuart 533f1a6fdb Merge pull request #9141 from filecoin-project/fix/getcommitcutoff-panic
fix: storage: don't panic in getCommitCutoff when precommit is not found
2022-08-09 13:03:22 -04:00
Łukasz Magiera 71dacb5af8 sealing pipeline: Remove useless storage adapter code 2022-08-09 13:40:06 +02:00
Łukasz Magiera fe2a589890 sealing pipeline: Cleanup AddresSelector plumbing 2022-08-09 12:57:36 +02:00
Łukasz Magiera 4b6a9e0387 sealing pipeline: Cleanup journal plumbing 2022-08-09 12:42:35 +02:00
Łukasz Magiera ca1ff19541 fix: storage: don't panic in getCommitCutoff when precommit is not found 2022-08-09 11:44:40 +02:00
Jiaying Wang ada6a143ad Merge pull request #9139 from filecoin-project/chore/update-ffi
Update FFI
2022-08-08 22:06:48 -04:00
Geoff Stuart e24198ab22 Merge pull request #9133 from filecoin-project/ianconsolata/parallel-snap-publish
_ci_: Run snap builds for lotus and lotus-filecoin in parallel
2022-08-08 19:48:03 -04:00
Steven Allen fa04496c81 chore: deps: update FFI
- Updates rust-fil-proofs to v12.
- Updates the FVM to 1.2 (no change, just updated proofs).
- Remove actors v6 bundle from the FFI (previously used for FVM testing)
2022-08-08 14:40:13 -07:00
ZenGround0andzenground0 8b7be6d47e feat:chain:splitstore auto prune (#9123)
Auto Prune

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2022-08-08 16:06:32 -04:00
Ian Davis 837fa4eae9 Run snap builds for lotus and lotus-filecoin in parallel 2022-08-05 15:13:29 -07:00
ZenGround0andzenground0 0c91b0dc10 feat:chain:splitstore chain prune (#9056)
* Splitstore chain prune
* Protect on reification for simpler logic and sound cold compact protect
* Recovery from checkpoint during chain prune
* Splitstore (discard and universal mode) running in itests
* Add pause and restart functions to itest block miner
* Add config options to itest full nodes
* Add FsRepo support for itest full ndoes

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2022-08-05 16:34:16 -04:00
Łukasz Magiera 881e16ec75 Merge pull request #9032 from filecoin-project/feat/storage-redeclare
feat: sealing: storage redeclare/detach
2022-08-05 21:49:47 +02:00
Łukasz Magiera cb2b4fa4aa Merge remote-tracking branch 'origin/master' into feat/storage-redeclare 2022-08-05 21:26:15 +02:00
Łukasz Magiera 9b4cca9fd0 Merge branch 'LexLuthr-feat/SchedRemoveRequest' 2022-08-05 10:50:02 +02:00
Łukasz Magiera 11e4914531 Merge branch 'feat/SchedRemoveRequest' of github.com:LexLuthr/lotus into LexLuthr-feat/SchedRemoveRequest 2022-08-05 10:40:45 +02:00
Łukasz Magiera adae785075 Merge branch 'feat/f8-worker-env' 2022-08-05 09:52:52 +02:00
Łukasz Magiera 24c16bf387 Merge pull request #9038 from Jorropo/base256emoji
base256emoji
2022-08-05 09:51:25 +02:00
Łukasz Magiera ee08c15b8c Merge branch 'f8-env-patch' of github.com:Factor8Solutions/lotus into feat/f8-worker-env 2022-08-05 09:46:06 +02:00
Łukasz Magiera ec3468fea6 Merge branch 'docs/ysrotciv-desc' 2022-08-05 09:40:39 +02:00
Łukasz Magiera 8a39b79ee8 Merge branch 'desc' of github.com:ysrotciv/lotus into docs/ysrotciv-desc 2022-08-05 09:33:26 +02:00
Łukasz Magiera e51904555b Merge pull request #9072 from zl03jsj/fix/zl/cli/list-miner-control-addresses-fail-if-have-robust-address
fix: cli: `./lotus-miner actor control list`, if the `owner` is not account
2022-08-05 09:29:23 +02:00
Łukasz Magiera 82451e425b Merge pull request #8984 from filecoin-project/chore/clean-readme
chore:docs:remove readme reference to deprecated specs-actors
2022-08-05 09:22:00 +02:00
Łukasz Magiera e196742ece cli: Update docsgen, don't require args in storage redeclare 2022-08-05 09:05:46 +02:00
Łukasz Magiera 819314de46 Merge remote-tracking branch 'origin/master' into feat/storage-redeclare 2022-08-05 09:01:30 +02:00
Łukasz Magiera 5a186d4fa8 Merge pull request #9127 from Aloxaf/Aloxaf-patch-1
fix: build: use GOCC when building lotus-fountain
2022-08-05 08:59:46 +02:00
Aloxaf 298fbd8d88 fix: build: use GOCC when building lotus-fountain 2022-08-05 10:47:06 +08:00
Ian Davis b46b23e4ff Merge pull request #9122 from filecoin-project/ianconsolata/custom-shell-for-snapcraft
_ci_ : Change default shell options for snapcraft publish
2022-08-04 09:30:08 -07:00
zl 1fdd324efc just show actor id, if actor is not an account 2022-08-04 16:14:56 +08:00
Ian Davis 5a8bc204b7 Change default shell options for snapcraft publish
The builds were erroring only in CircleCI, when run manually the same
command worked fine. I reached out to CircleCI support, and got the
following message:

>>>
The reason you are seeing this error when running in CircleCI and not while debugging with SSH is due to the -e set in #!/bin/bash -eo pipefail at the beginning of the shell while the debugging shell would just be #!/bin/bash. The -e sets to exit to the shell when any non zero [0] exit code status.

Since you say the command works when debugging with SSH you can set the shell to use /bin/bash -o pipefail using a default shell options. Here is an example:

      - run:
          name: <<command name>>
          shell: /bin/bash -o pipefail
          command: |
            << some commands>>

Notice that I still added -o pipefail as that prevents errors in a pipeline from being masked.
2022-08-03 21:29:35 -07:00
Geoff Stuart 2498d58ba1 Merge pull request #9120 from filecoin-project/ianconsolata/goreleaser-tweak
_ci_: Switches goreleaser notes back to default (keep-existing)
2022-08-03 23:13:57 -04:00
LexLuthr ffc10d80ec fix lint error after merge 2022-08-04 02:35:22 +05:30
LexLuthr a59d73d64a Merge branch 'master' into feat/SchedRemoveRequest 2022-08-04 02:24:14 +05:30
Ian Davis 3717795652 Switches goreleaser notes back to default (keep-existing) 2022-08-03 13:45:29 -07:00
Łukasz Magiera ab0592231c Merge pull request #9116 from filecoin-project/feat/worker-name-set
feat: sealing: Allow overriding worker hostname
2022-08-03 22:44:29 +02:00
LexLuthr 25bec140fb make gen after rebase 2022-08-04 02:07:22 +05:30
LexLuthr 23bb80ab2c fix lint errors 2022-08-04 02:00:24 +05:30
LexLuthr c962fe9011 fix the itest parsing errors 2022-08-04 02:00:24 +05:30
LexLuthr 4e2536e0ef switch pledging func 2022-08-04 02:00:24 +05:30
LexLuthr b15f1e5b93 fix itest 2022-08-04 02:00:24 +05:30
LexLuthr 0fce643a10 fix sectorstatus in itest 2022-08-04 02:00:24 +05:30
LexLuthr fad79f3218 respond to caller. Add itest 2022-08-04 02:00:24 +05:30
LexLuthr cdc08e566f fix everything pointed as per review 2022-08-04 02:00:24 +05:30
LexLuthr c736dedfa6 move requestremove inside runSched 2022-08-04 02:00:24 +05:30
LexLuthr cf78fa99ee Rebase on master 2022-08-04 01:59:48 +05:30
Ian Davis e9fd960021 Merge pull request #9119 from filecoin-project/ianconsolata/use-lotus-for-snap
_ci_: Publish to both `lotus` and `lotus-filecoin` for snap
2022-08-03 12:54:35 -07:00
Ian Davis 9a9428789d Build / Publish snap twice (lotus-filecoin + lotus) 2022-08-03 12:15:53 -07:00
Łukasz Magiera 453b454b7b Merge pull request #9109 from filecoin-project/feat/dlinfo-enchantments
feat: miner cli: proving deadline command enchantments
2022-08-03 20:54:08 +02:00
shrenujbansal f023f04b40 Merge pull request #9113 from filecoin-project/9083-shed-command-for-getting-raw-bytes-stored-in-active-deals
feat: market: Add lotus-shed cmd to get total active deal storage
2022-08-03 11:28:07 -04:00
Jiaying Wang 2830429add Merge pull request #9117 from filecoin-project/release/v1.17.0
build: release: v1.17.0
2022-08-03 10:44:08 -04:00
Jiaying Wang c633b2535f Merge pull request #9112 from filecoin-project/phi/v1170prep
build: release: v1.17.0 prep
2022-08-03 10:31:55 -04:00
Shrenuj Bansal 654a3c976e remove tipset retrieval to use default 2022-08-03 10:08:59 -04:00
Phi c1c3e3e551 Add 9111 to the changelog
Add 9111 to the changelog
2022-08-03 13:09:32 +02:00
Łukasz Magiera ecddd08048 itests: Test custom worker names 2022-08-03 13:05:30 +02:00
Łukasz Magiera da33d82e1b feat: sealer: Custom worker name config 2022-08-03 12:58:49 +02:00
Łukasz Magiera 4d10adae3c Merge branch 'hostname_variable' of github.com:clinta/lotus into feat/worker-name-set 2022-08-03 12:40:18 +02:00
Łukasz Magiera b647998f15 Merge pull request #8969 from filecoin-project/push-lotus-gateway-container
push lotus-gateway to docker hub
2022-08-03 11:40:11 +02:00
Łukasz Magiera 384b6433c0 circle: Fix template 2022-08-03 11:14:53 +02:00
Łukasz Magiera a38a9ea144 Merge remote-tracking branch 'origin/master' into push-lotus-gateway-container 2022-08-03 11:12:26 +02:00
Łukasz Magiera 4818d78432 cli: Put bitfield stats in 'proving deadline' behind a flag 2022-08-03 11:06:05 +02:00
Łukasz Magiera a9474a5a22 Merge pull request #9101 from filecoin-project/sbansal/lotus-worker-stop-cmd
feat: worker: Add stop cmd for lotus worker
2022-08-03 11:01:40 +02:00
Łukasz Magiera 4b47881950 Merge branch 'master' into sbansal/lotus-worker-stop-cmd 2022-08-03 10:42:19 +02:00
Łukasz Magiera dc0c4abe4c Merge branch 'LexLuthr-feat/minerWithdrawBalanceAPI' 2022-08-03 10:39:53 +02:00
Łukasz Magiera 01a6cdaf03 Merge branch 'feat/minerWithdrawBalanceAPI' of github.com:LexLuthr/lotus into LexLuthr-feat/minerWithdrawBalanceAPI 2022-08-03 10:33:09 +02:00
Aayush Rajasekaran 479bbffebf Merge pull request #9115 from filecoin-project/asr/backport
chore: backport 9111
2022-08-02 23:16:32 -04:00
Łukasz Magiera 92d27aa6d2 Merge remote-tracking branch 'origin/master' into feat/storage-redeclare 2022-08-03 00:56:23 +02:00
Shrenuj Bansal 2f65a20d16 Add IsDealActive func to template
wq
2022-08-02 18:54:42 -04:00
Aayush Rajasekaran aff1077b00 Merge pull request #9114 from filecoin-project/asr/makefile-fiximports
feat: build: run fiximports on make actors-gen
2022-08-02 18:11:37 -04:00
Aayush 5e98b8a0d6 add a test for Post max sectors recovery 2022-08-02 18:09:18 -04:00
Aayush f210aeafdd fix: post: restrict recoveries per deadline 2022-08-02 18:09:12 -04:00
Aayush 468a4ff2ac feat: build: run fiximports on make actors-gen 2022-08-02 18:05:57 -04:00
Jiaying Wang 36d311aa4f Update CHANGELOG.md 2022-08-02 16:49:14 -04:00
Shrenuj Bansal 31a09b73cc Add lotus-shed cmd to get total active deal storage 2022-08-02 16:40:39 -04:00
Phi 61b0fa9d9e Properly fix Lotus link
Properly fix Lotus link
2022-08-02 22:07:48 +02:00
Phi 0568f6c875 Fix Lotus mission scope link
Fix Lotus mission scope link
2022-08-02 22:05:10 +02:00
Phi a7e5255848 Add callout for Boost
Add callout for Boost
2022-08-02 22:03:25 +02:00
Aayush 1b45f42d70 fix makegen 2022-08-02 15:55:04 -04:00
Aayush Rajasekaran c0d2f249bc Merge pull request #9111 from filecoin-project/asr/fix-rec-setcor-limit
fix: post: restrict recoveries per deadline
2022-08-02 15:44:33 -04:00
Phi 0ac4dec694 Add PR 9106 to the changelog
Add PR 9106 to the changelog
2022-08-02 21:42:08 +02:00
Phi 795924b872 v1.17.0 prep
v1.17.0 prep
2022-08-02 21:30:18 +02:00
Aayush 784926b2b4 add a test for Post max sectors recovery 2022-08-02 15:28:43 -04:00
Aayush 50c22aef7a fix: post: restrict recoveries per deadline 2022-08-02 12:32:44 -04:00
Łukasz Magiera 8294e03d4e itests: More fixes after fixing sector metadata import 2022-08-02 17:35:26 +02:00
Shrenuj Bansal 5f0ac7defb Wait 20s for worker shutdown so the miner can unregister the worker 2022-08-02 10:59:32 -04:00
Łukasz Magiera 6d2990314f storage: Fix detaching shared paths 2022-08-02 15:46:35 +02:00
Łukasz Magiera d1173265b3 itests: Helper returning non-genesis sector list 2022-08-02 15:29:38 +02:00
Łukasz Magiera eb366c6aa0 fix typo in storage detach cmd 2022-08-02 15:18:24 +02:00
Łukasz Magiera 9a5ca5017b gen 2022-08-02 10:45:20 +02:00
Łukasz Magiera 4548cea000 cli: More verbose deadline command 2022-08-02 10:40:34 +02:00
Łukasz Magiera 8c1d1bfd4a cli: show live sectors in the deadlines command by default 2022-08-02 10:15:12 +02:00
Łukasz Magiera 65ba7bd37d cli: clueanup deadlines command 2022-08-02 10:12:24 +02:00
Łukasz Magiera b3cce636cc Merge branch 'Feat/add_provingDeadline_option' of github.com:beck-8/lotus into feat/dlinfo-enchantments 2022-08-02 10:06:48 +02:00
LexLuthr f5a7a650e7 rename to ActorWithdrawBalance 2022-08-02 13:04:54 +05:30
Aayush Rajasekaran 68f5e8d27e Merge pull request #9106 from filecoin-project/feat/rec-sector-const
feat: wdpost: Envvar for limiting recovering sectors
2022-08-01 21:54:13 -04:00
Aayush Rajasekaran 201a4ea57c Merge pull request #9107 from filecoin-project/jen/9104
chore: backport: #9106
2022-08-01 21:26:18 -04:00
Aayush c42d43bf44 fix: sector counter for recovery 2022-08-01 21:26:01 -04:00
Aayush Rajasekaran e94c0de8c6 Merge pull request #9108 from filecoin-project/asr/fix-rec-setcor-limit
fix: sector counter for recovery
2022-08-01 14:57:46 -04:00
Ian Davis b0b660b52d Merge pull request #9096 from filecoin-project/goreleaser
_ci_: Use goreleaser to build macos universal binaries (including M1 macs)
2022-08-01 11:36:49 -07:00
Aayush 650130f9c4 fix: sector counter for recovery 2022-08-01 14:30:20 -04:00
Shrenuj Bansal 9d65b56d2e Add cli docs for lotus worker stop cmd 2022-08-01 14:20:01 -04:00
LexLuthr e0e0b0b62f don't wait for msg to land on chain 2022-08-01 23:41:24 +05:30
Shrenuj Bansal e7bace9341 Update API docs 2022-08-01 11:36:34 -04:00
Łukasz Magiera 0b5d2abc3d feat: mpool: Include gaslimit in error msg in ValidForBlockInclusion 2022-08-01 11:19:18 -04:00
Łukasz Magiera 3feb9167cb feat: wdpost: Envvar for limiting recovering sectors 2022-08-01 11:19:11 -04:00
Łukasz Magiera f8cf3b1510 feat: mpool: Include gaslimit in error msg in ValidForBlockInclusion 2022-08-01 17:15:26 +02:00
Łukasz Magiera c215a03edd feat: wdpost: Envvar for limiting recovering sectors 2022-08-01 16:58:05 +02:00
Łukasz Magiera 1ee82dd604 fix lint 2022-08-01 15:58:06 +02:00
Łukasz Magiera 3cd8d9eb06 itests: Worker tests for storage detach/redeclare 2022-08-01 15:58:06 +02:00
Łukasz Magiera 3309e10b0d itests: Test storage detach/redeclare 2022-08-01 15:58:06 +02:00
Łukasz Magiera 0ccaa00969 itests ensemble: import presealed sector metadata 2022-08-01 15:58:06 +02:00
Łukasz Magiera d690b49d17 storage: Fix linter warnings 2022-08-01 15:58:06 +02:00
Łukasz Magiera 8cff52aef6 Storage detach/attach in lotus-miner, cli commands 2022-08-01 15:58:06 +02:00
Łukasz Magiera 943d2a72c6 storage: StorageRedeclareLocal on lotus-worker 2022-08-01 15:58:06 +02:00
Łukasz Magiera e252e666bd storage: Storage detach on lotus-worker 2022-08-01 15:58:06 +02:00
Łukasz Magiera f947e65f15 wip storage redeclare/detach 2022-08-01 15:58:06 +02:00
LexLuthr e9705c4e26 remove comment pointed out in review 2022-07-30 17:16:50 +05:30
Shrenuj Bansal dfea74cca8 Add stop cmd for lotus worker 2022-07-29 18:33:30 -04:00
LexLuthr 9e9a3825aa rerun make gen 2022-07-29 20:32:05 +05:30
LexLuthr 498334e860 fix spelling mistakes 2022-07-29 20:18:10 +05:30
LexLuthr 4f03486011 miner withdrawbalance API 2022-07-29 20:09:49 +05:30
Ian Davis 52aef0b926 make circleci 2022-07-28 21:17:46 -07:00
Ian Davis c759211032 Switch to filecoin-project from personal fork 2022-07-28 21:03:12 -07:00
Ian Davis 83199661ce Add separate names to build-and-push-image jobs 2022-07-28 20:37:42 -07:00
Ian Davis 7f1b4dc438 Use goreleaser to build universal darwin binaries
This is a small refactor of our workflow to test out goreleaser, a yaml
based tool for building, packaging, and releasing go binaries on
multiple platforms. It supports building binaries for to most of the platforms we
care about, including linux and  macos, and also supports publishing
those binaries automatically as releases in Github, homebrew, snap, and
even apt / deb.

If this trial goes well, I think we should eventually replace the entire
release workflow with goreleaser. For now, this test is more tightly
scoped to only automated the MacOS release process, since that is the
one we have the most issues with. This PRi / commit:
- Builds darwin-amd64 and darwin-arm64 binaries of lotus, lotus-miner,
  and lotus-worker
- Packages them into a universal darwin binary
- Publishes those to a release in Github based on the current tag
- Uses the binaries in the release to auto-publish and updated homebrew
  configuration to filecoin-project/homebrew-lotus
- Does a `dry-run` build to produce a snapshot on release branches with
  no tag
- Manually generate and upload checksums after goreleaser
2022-07-28 20:37:42 -07:00
Geoff Stuart a843c52e38 Merge pull request #9090 from filecoin-project/id/fix-snap-again
_ci_: More tweaks to snapcraft release process
2022-07-28 15:36:57 -04:00
Jiaying Wang 27bb5f1e82 Merge pull request #9093 from filecoin-project/jen/caterpillar
chore: interop: update interop assets
2022-07-28 11:22:57 -04:00
Jennifer Wang 9d08c4bc8f update interop assets 2022-07-28 10:44:57 -04:00
Ian Davis 564aaa7bb1 Snapcraft push was renamed to snapcraft upload 2022-07-27 13:40:16 -07:00
Ian Davis c2887b3e59 Make snap build more verbose to debug issues. 2022-07-27 13:16:58 -07:00
Ian Davis 7e47ab2a1e Don't publish a stable release on RC tags 2022-07-27 13:16:58 -07:00
Aayush Rajasekaran 5046b3165d Merge pull request #9088 from filecoin-project/id/build-arch-bundle.sh
fix: ci: Forgot a .sh on the end of a the new publish script
2022-07-27 12:04:58 -04:00
Ian Davis 9762da5af5 Forgot a .sh on the end of the script 2022-07-27 08:39:11 -07:00
Geoff Stuart b69eb08dd3 Merge pull request #9084 from filecoin-project/asr/deflake-test
fix: test: deflake TestQuotePriceForUnsealedRetrieval
2022-07-27 08:22:31 -07:00
Jiaying Wang fd1207c5c7 Merge pull request #9077 from filecoin-project/phi/v1704
build: release: v1.17.0-rc4
2022-07-26 11:50:55 -04:00
Ian Davis 1d55066029 Removed unused array 2022-07-26 08:56:05 +02:00
Ian Davis 04fce8a5fa Fix snap publishing flow, publish assets independently 2022-07-26 08:55:48 +02:00
Frank Y 70e72efcca fix desc error 2022-07-26 10:26:53 +08:00
Ian Davis aa0aaccc24 Merge pull request #8994 from filecoin-project/run-builds-on-release-branches
_ci_: update snapcraft and release flow logic
2022-07-25 10:28:03 -07:00
Aayush Rajasekaran 3c191d209d fix: test: deflake TestQuotePriceForUnsealedRetrieval 2022-07-25 11:17:07 -04:00
Ian Davis 04f7067034 Removed unused array 2022-07-24 22:20:35 -07:00
Ian Davis 8a41a6bb5b Fix snap publishing flow, publish assets independently 2022-07-24 22:16:16 -07:00
Phi 1a388cc559 Update CHANGELOG.md
Updates CHANGELOG.md with the two new PRs 9044 and 9055
2022-07-22 13:28:40 +02:00
Phi 05bb68f07d bump version to v1.17.0-rc4
bump version to v1.17.0-rc4
2022-07-22 13:09:21 +02:00
Aayush Rajasekaran ead1e6be68 Merge pull request #9055 from filecoin-project/gstuart/hacky-sealing-fix-backport
Fix: sealing: hacky sealing fix backport
2022-07-21 11:48:49 -04:00
zl 179efaf447 fix: command: ./lotus-miner actor control list, if the owner is multisig. 2022-07-21 14:14:52 +08:00
zenground0 156fb17dad Review Response 2022-07-20 12:58:49 -04:00
zenground0 316d35f015 lotus shed addr decode 2022-07-20 12:58:49 -04:00
beck 6583a44a92 reduce redundant code 2022-07-20 10:21:52 +08:00
Jiaying Wang 40bc05a38e Merge pull request #9062 from filecoin-project/chore/delete-codecov
ci:testing:remove codecov
2022-07-19 15:56:50 -04:00
zenground0 9d407f100f another try 2022-07-19 11:41:55 -07:00
zenground0 cf4b39db8c Remove codecov from CI 2022-07-19 11:37:35 -07:00
Aayush Rajasekaran d3e565483b Merge pull request #9052 from filecoin-project/asr/fvm-metrics
fix: FVM: record message applied metrics
2022-07-18 20:33:37 -04:00
Geoff Stuart a72f3dc29e Workaround for sealing bug 2022-07-18 13:55:01 -07:00
Geoff Stuart 4b79cc68cb Merge pull request #9043 from filecoin-project/gstuart/hacky-sealing-fix
fix: sealing: Workaround for sealing bug
2022-07-18 13:54:03 -07:00
Aayush 279b1f4317 FVM: record message applied metrics 2022-07-18 10:50:58 -04:00
Jiaying Wang 23d51e6134 Merge pull request #9044 from filecoin-project/asr/backport
fix: deps: update FFI to fix a slow memory leak
2022-07-17 19:18:51 +00:00
Aayush Rajasekaran e950421e87 Merge pull request #9037 from filecoin-project/asr/implicit-limit
FVM: Use MaxInt64 for Implicit Message gas limits
2022-07-15 15:28:31 -04:00
Aayush Rajasekaran 7972bd8446 Merge pull request #9036 from filecoin-project/asr/tracing
feat: FVM: always enable tracing for user-triggered executions
2022-07-15 15:09:58 -04:00
Aayush 7cd0ce4010 FVM: Use MaxInt64 for Implicit Message gas limits 2022-07-15 15:09:12 -04:00
Aayush 4515405f04 fix: deps: update FFI to fix a slow memory leak 2022-07-15 15:07:53 -04:00
Aayush Rajasekaran 3c3fba87da Merge pull request #9040 from filecoin-project/asr/typo
chore: sealer: Fixup typos
2022-07-15 15:07:21 -04:00
Geoff Stuart b22e24a95a Workaround for sealing bug 2022-07-15 11:56:08 -07:00
Steven Allen d4cdd82f72 fix: deps: update FFI to fix a slow memory leak (#9042)
There was a memory leak in creating proofs, fixed in
https://github.com/filecoin-project/filecoin-ffi/pull/308
2022-07-15 16:34:32 +00:00
Aayush Rajasekaran 3353cbe23a Fixup typos 2022-07-15 08:20:37 -04:00
Łukasz Magiera 9eb8f4ee9d Merge pull request #9013 from filecoin-project/feat/path-type-filters
feat: storage: Path type filters
2022-07-15 13:08:43 +02:00
Łukasz Magiera db9105e166 storage: Add one more test case to TestFileTypeAnyAllow 2022-07-15 12:47:46 +02:00
Łukasz MagieraandAayush Rajasekaran e1b02dd13d storage: paths: Review suggestions
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-07-15 12:46:20 +02:00
Jorropo 93afbdeaae base256emoji 2022-07-15 00:52:28 +02:00
Aayush 474a50252b FVM: always enable tracing for user-triggered executions 2022-07-14 15:41:26 -04:00
Aayush af525a4cf2 VM: Remove v15 FVM support 2022-07-14 14:55:48 -04:00
Aayush Rajasekaran ca713c57e7 Merge pull request #8084 from filecoin-project/itest_net_tests
test: net: net and conngater tests
2022-07-13 15:59:17 -04:00
Aayush Rajasekaran 57e5aa667f Merge pull request #8991 from filecoin-project/fix/estimate-with-zero-base-fee
fix: gas: estimate gas with a zero base-fee
2022-07-13 11:57:22 -04:00
Jiaying Wang 9794652e0b Merge pull request #9029 from filecoin-project/jen/173
build: release: v1.17.0-rc3
2022-07-13 11:51:14 -04:00
Jennifer Wang d751ef7900 v1.17.0-rc3 2022-07-13 10:49:42 -04:00
Jennifer Wang d85d4f6094 butterfly artifacts 2022-07-13 08:54:19 -04:00
Łukasz Magiera ac2ea039b5 path index: Raise alerts on bad filter config 2022-07-12 21:45:12 +02:00
Łukasz Magiera 91e474e72e sealer: Pass correct args to SubAllowed in selectors 2022-07-12 21:45:12 +02:00
Łukasz Magiera 43db2fb8a4 miner cli: Print allow/deny types in storage list 2022-07-12 21:45:12 +02:00
Łukasz Magiera 59d069dc4d itests: Tests for storage path filters 2022-07-12 21:45:12 +02:00
Łukasz Magiera 0ca1cc2bcd itests: Test lotus-miner with no store/seal paths 2022-07-12 21:45:12 +02:00
Łukasz Magiera cd682e200b sealer: Fix no-remote move selector 2022-07-12 21:45:12 +02:00
Łukasz Magiera 6ac5c16d2b storage: Path type filters 2022-07-12 21:45:12 +02:00
Łukasz Magiera e7c8082956 Merge pull request #9017 from filecoin-project/jen/v17merge
build: merge: release v1.17.0 to master
2022-07-12 19:07:30 +02:00
Patrick Deuse 66a7e32e58 added gpu proving lotus-worker env vars 2022-07-12 21:36:32 +08:00
Patrick Deuse 8a0b25cfc1 fix c+p typo 2022-07-12 21:35:11 +08:00
Patrick Deuse 67ef0b3af4 added lotus-worker run env vars 2022-07-12 21:33:32 +08:00
Jiaying Wang 2b4d4f3f02 Merge pull request #9008 from 1475-IPFS/change-bootstrap-peer
change 1475 bootstrap peer
2022-07-12 09:06:45 -04:00
Łukasz Magiera c90826e670 Merge pull request #9010 from LexLuthr/feat/dagstore-destroyshard
feat: dagstore: Add DestroyShard() in dagstore wrapper
2022-07-12 14:41:52 +02:00
Jiaying Wang 32f99e8a01 Merge pull request #9014 from filecoin-project/jen/backport
build: merge: v1.16.1 to master
2022-07-11 19:24:30 -04:00
Jiaying Wang e61ae91e6f Merge pull request #9014 from filecoin-project/jen/backport
build: merge: v1.16.1 to master
2022-07-11 14:58:32 -04:00
Jennifer Wang 8486ae0d51 Merge branch 'releases' into jen/backport 2022-07-11 14:27:26 -04:00
Steven Allen 9b75390b24 address cr 2022-07-11 15:57:27 +00:00
Łukasz Magiera e8230b5523 Merge pull request #8985 from filecoin-project/masih/dep-up-carv2-2-4-1
chore: market: Upgrade to `go-car` `2.4.1`
2022-07-11 16:47:33 +02:00
LexLuthr 0e2118e12e fix lint errors 2022-07-11 17:24:53 +05:30
LexLuthr 89b3119220 mock test for DestroyShard 2022-07-11 17:11:35 +05:30
Łukasz Magiera d9311b200c Merge pull request #8978 from filecoin-project/fix/marketnode-storageauth
fix: Delegate storage auth on market nodes
2022-07-11 12:23:47 +02:00
Łukasz Magiera 7059215294 Merge pull request #8999 from LesnyRumcajs/patch-1
Docs: readme: use proper hwloc dependency for Fedora
2022-07-11 12:19:50 +02:00
LexLuthr 2b63a9d0bd add destroyshard to wrapper 2022-07-11 15:00:12 +05:30
lifei 12f07998b9 change 1475 bootstrap peer 2022-07-11 11:27:50 +08:00
Aayush 9662c1463d Fixup itest net tests 2022-07-10 11:09:54 -04:00
TheMenko 49f074144d change variable to better descriptive name and check addr count 2022-07-10 10:17:40 -04:00
TheMenko 23728626e2 add stm annotations 2022-07-10 10:17:40 -04:00
TheMenko 0d437f732d add tests for netstat and netlimit, fix error checking 2022-07-10 10:17:40 -04:00
TheMenko 1a0dd76ed1 testing network functions from node net and conngater 2022-07-10 10:17:40 -04:00
Steven Allen d192b821a9 fix: gas: estimate gas with a zero base-fee
Otherwise, an account will need funds to estimate the max possible gas a
message could take (which is usually the block gas limit).

This does mean gas estimation no longer checks if the sending account
has enough funds to cover the message cost, but MpoolPush will now do
this.
2022-07-08 09:47:45 -07:00
Marten Seemann a825682bf9 chore: stop using the deprecated github.com/libp2p/go-libp2p-yamux (#8998) 2022-07-08 09:44:24 -07:00
Hubert b156df5e32 ReadMe: use proper hwloc dependency for Fedora 2022-07-08 13:13:43 +02:00
Jiaying Wang 852b5c5ce6 Merge pull request #8996 from filecoin-project/fix/update-libp2p
chore: update and fix libp2p
2022-07-08 02:35:12 -04:00
Steven Allen 6bed08fe54 chore: update libp2p
1. This pulls in a multistream fix that should fix that fixes a few
tests (and probably a few actual bugs).
2. This deduplicates dependencies that have been merged into the
monorepo.

fixes #8953
2022-07-07 21:38:13 -07:00
Aayush Rajasekaran d8398ed037 Merge pull request #8993 from filecoin-project/fix-peer-idfromstring
fix incorrect usage of peer.IDFromString (should be peer.Decode)
2022-07-07 18:05:00 -04:00
Marten Seemann d52f01a19f fix incorrect usage of peer.IDFromString (should be peer.Decode) 2022-07-07 21:47:33 +00:00
Jiaying Wang a2fa07d355 Merge pull request #8992 from filecoin-project/release/v1.16.1
build: release v1.16.1
2022-07-07 16:32:41 -04:00
Jiaying Wang 0f5b2880fd Merge pull request #8990 from filecoin-project/jen/v1161
build: release: v1.16.1 prep
2022-07-07 16:17:44 -04:00
Jennifer Wang a596b9c2ac v1.16.1 prep 2022-07-07 16:03:32 -04:00
Jiaying Wang fcf9a80d0b Merge pull request #8988 from filecoin-project/asr/v1.16.1
Backports: 8986, 8982
2022-07-07 15:42:27 -04:00
Aayush c4ad7c81e2 remove mock file 2022-07-07 14:51:21 -04:00
Aayush d68a60e8d9 feat: recovery: Config for maximum partition count per message 2022-07-07 14:48:37 -04:00
Łukasz Magiera 673f9238be feat: wdpost: Config for maximum partition count per message 2022-07-07 14:10:31 -04:00
Aayush Rajasekaran fb0fe6bc51 Merge pull request #8986 from filecoin-project/asr/feat/dfr-maxpart-config
feat: recovery: Config for maximum partition count per message
2022-07-07 13:37:01 -04:00
Aayush 770c32c3cb feat: recovery: Config for maximum partition count per message 2022-07-07 12:46:33 -04:00
Masih H. Derkani 74cd93e5bd Upgrade to go-car 2.4.1
Upgrade to the latest `go-car` to roll out a fix to the minimum index
width, where it could cause a validation error when CAR data payload
contains identity CIDs with empty data.
2022-07-07 16:13:44 +01:00
Łukasz Magiera b499ef0c3a Merge pull request #8982 from filecoin-project/feat/post-maxpart-config
feat: wdpost: Config for maximum partition count per message
2022-07-07 16:48:38 +02:00
zenground0 3cfff416c0 replace specs-actors with builtin actors 2022-07-07 09:21:47 -05:00
Jiaying Wang eeca22e407 Merge pull request #8976 from filecoin-project/jen/gocar
deps: update go-fil-markets to v1.23.0
2022-07-07 10:03:56 -04:00
Łukasz Magiera 1de56d5e47 Merge pull request #8833 from kaola526/master
feat: msig cli: Check for existing signers in add-propose
2022-07-07 13:56:44 +02:00
Łukasz Magiera 9288526867 Merge pull request #8942 from filecoin-project/asr/migrate-nv16-shed
feat: shed: migrate-nv16
2022-07-07 13:45:02 +02:00
Łukasz Magiera e278380f22 cli: msig: Cleanup duplicate signer message 2022-07-07 13:41:47 +02:00
Łukasz Magiera 7741175b7d feat: wdpost: Config for maximum partition count per message 2022-07-07 12:38:21 +02:00
Łukasz Magiera 7e7343c3d2 Merge pull request #8977 from filecoin-project/fix/lotus-stats-actor-string
fix: lotus-stats: actor code string
2022-07-06 23:41:13 +02:00
Travis Person b27afb4348 fix: lotus-stats: actor code string 2022-07-06 23:23:55 +02:00
Łukasz Magiera 413183e4fa fix: Delegate storage auth on market nodes 2022-07-06 22:22:41 +02:00
Dirk McCormick 2d2b06464c feat: update go-fil-markets to v1.23.0 2022-07-06 11:43:06 -04:00
Cory Schwartz 91e678bdcb fix circleci template 2022-07-05 11:42:24 -07:00
Cory Schwartz c079a12c9c push lotus-gateway to docker hub 2022-07-05 11:18:51 -07:00
Aayush Rajasekaran 75d78de336 Merge pull request #8959 from filecoin-project/feat/post-check-config
sealer: Config for disabling builtin PoSt / PoSt pre-checks
2022-07-04 11:49:08 -04:00
Aayush Rajasekaran b35a325816 Fixup typos 2022-07-04 11:27:56 -04:00
Łukasz Magiera 9a97d83889 wdpost: itests for new config fields 2022-07-04 16:15:23 +02:00
Łukasz Magiera 2e7a2b184d Merge pull request #8952 from filecoin-project/feat/prov-dl-info-nums
feat: cli: Hide sector nums in 'proving deadline' by default
2022-07-04 15:03:53 +02:00
Łukasz Magiera 9ad7276dc9 feat: cli: Hide sector nums in 'proving deadline' by default 2022-07-04 14:46:48 +02:00
Łukasz Magiera d5206aa2fc Merge pull request #8954 from filecoin-project/feat/prov-info-time
ux: print absolute time for proving period start in proving cli
2022-07-04 14:35:05 +02:00
Łukasz Magiera 7e7dc9179e Merge pull request #8963 from filecoin-project/ux/proving-description
ux: cli: add compute description
2022-07-04 14:34:35 +02:00
Phi a1675a8230 ux: cli: add compute description
Add description to the `lotus-miner proving compute` command.
2022-07-03 11:51:50 +02:00
Łukasz Magiera 2daefe57bf Merge pull request #8955 from filecoin-project/feat/disconnect-cmd
chore:networking:disconnect cmd
2022-07-01 22:38:24 +02:00
Łukasz Magiera d5100f883d cfgdoc-gen: Handle empty lines in comments 2022-07-01 22:32:10 +02:00
zenground0 1d2cbd3148 go mod tidy 2022-07-01 16:23:34 -04:00
zenground0 1607f92017 Update deps 2022-07-01 16:23:34 -04:00
Łukasz Magiera 59f3161fd6 wdpost: Config for disabling sector prechecks 2022-07-01 22:20:05 +02:00
Łukasz Magiera 84881f64ad sealer: Config for disabling builtin PoSt 2022-07-01 21:24:54 +02:00
Łukasz Magiera 0277ff4239 wdpost: move fault/recover code to a separate file 2022-07-01 21:24:22 +02:00
zenground0 0ace22961c Actually proper pid decode 2022-07-01 13:14:56 -05:00
zenground0 27604ac5de Proper pid parsing 2022-07-01 12:54:40 -05:00
zenground0 db72f241b9 go mod tidy 2022-07-01 12:36:27 -05:00
zenground0 a686809bf0 disconnect just takes pid 2022-07-01 12:35:04 -05:00
zenground0 ef5bbde160 net disconnect 2022-07-01 12:35:04 -05:00
zenground0 d1e325a3bb Update deps 2022-07-01 12:34:37 -05:00
Łukasz Magiera 9bfb370892 ux: print absolute time for proving period start in proving cli 2022-07-01 18:45:29 +02:00
Jiaying Wang f46cfb44b9 Merge pull request #8947 from filecoin-project/arajasek-patch-2
chore: state: clarify state tree versioning in comment
2022-06-29 20:02:51 -04:00
Aayush Rajasekaran 8f087c7e25 chore: state: clarify state tree versioning in comment 2022-06-29 17:37:35 -04:00
Geoff Stuart 3bb7e9d113 Merge pull request #8941 from filecoin-project/gstuart/actors-cids-older-versions
Feat: api: Api call to get actor cids works for versions < 16
2022-06-29 15:31:50 -04:00
Geoff Stuart 4bebce0201 Remove StateActorManifestCID 2022-06-29 15:16:13 -04:00
Aayush Rajasekaran 68fc567ef1 Merge pull request #8945 from filecoin-project/asr/upgrade-idxprov
chore: market: upgrade index-provider and related dependencies
2022-06-29 15:10:33 -04:00
Geoff Stuart 56c7e7a8d6 Remove old functions for getting actors cids 2022-06-29 14:58:58 -04:00
Geoff Stuart 4268b426f9 review fixes 2022-06-29 14:58:58 -04:00
Geoff Stuart ed65b4c3bf Api call to get actor cids works for versions < 16 2022-06-29 14:58:56 -04:00
Aayush 0c34699f23 unbreak itests 2022-06-29 14:55:35 -04:00
Masih H. Derkani e8c44babcf Remove dependency to archived quic and regenerate CLI docs
The quic transport implementation is now moved to `go-libp2p` mono repo.
Replace the dependency to the archived repo with the new one.

Regenerate CLI docs.
2022-06-29 14:55:35 -04:00
Masih H. Derkani 39a710e1d6 Address lint issues as a result of libp2p deprecations and tidy go mod
Address staticcheck issues caused by deprecated APIs and `go mod tidy`.
2022-06-29 14:55:35 -04:00
Masih H. Derkani 57ed804304 Update ffi submodule to the backport of go-blockstore dep. update
See:
- https://github.com/filecoin-project/filecoin-ffi/commit/d40be3364a6c31f28a8f1dc27ca13d84b6e5a25b
2022-06-29 14:55:34 -04:00
Masih H. Derkani 535129a07a Upgrade to go-fil-markets v1.22.2
Upgrade to the latest go-fil-markets with dependency to go-blockstore
upgraded.
2022-06-29 14:55:22 -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
Masih H. Derkani 35dd30cfa9 Upgrade index-provider and all related dependencies 2022-06-29 14:55:22 -04:00
Aayush Rajasekaran 709fe5c65e Merge pull request #8841 from filecoin-project/feat/debug-execution
PoC: FVM Debug Dual Execution
2022-06-29 14:35:43 -04:00
Aayush 906463bc17 more review 2022-06-29 14:23:35 -04:00
Aayush f9cf25f966 address review 2022-06-29 11:57:46 -04:00
Aayush a52d584d0c an attempt at cleanup 2022-06-28 19:24:47 -04:00
vyzo 3ad2fc5c4a feat: FVM Debug Dual Execution 2022-06-28 18:00:04 -04:00
Cory Schwartz cafb110f42 Merge pull request #8931 from filecoin-project/appimage-broken-build
fix appimage build
2022-06-28 11:22:55 -07:00
Aayush 324cad3b76 feat: shed: migrate-nv16 2022-06-28 12:44:43 -04:00
Cory Schwartz 29b509fb2f restore original circleci config 2022-06-28 00:00:46 -07:00
Cory Schwartz 4e28dfa34e remove sign lines 2022-06-27 23:46:05 -07:00
Cory Schwartz 7365ae890a no update information 2022-06-27 23:39:04 -07:00
Cory Schwartz 83d0709859 install patchelf 2022-06-27 16:08:20 -07:00
Cory Schwartz 3817571c5e increase timeout 2022-06-27 15:58:56 -07:00
Cory Schwartz d4665d869c indent 2022-06-27 15:50:41 -07:00
Cory Schwartz de81eaffa7 temporary remove filter 2022-06-27 15:49:27 -07:00
Cory Schwartz f052caf8a3 test appimage build 2022-06-27 15:45:02 -07:00
Jiaying Wang 1583fe09a6 Merge pull request #8929 from filecoin-project/jen/masterbp
build: chore: releases back to master
2022-06-27 16:07:40 -04:00
Jennifer Wang b7c91559cc resolve conflict 2022-06-27 15:24:13 -04:00
Jennifer Wang c3f3eb0812 Merge branch 'releases' into jen/masterbp 2022-06-27 15:13:12 -04:00
Łukasz Magiera cd1b43918d Merge pull request #8460 from blademasterzhang/master
fix: readme: Update install instructions link
2022-06-27 12:00:43 +02:00
Łukasz MagieraandJiaying Wang f0c12a0c2c readme: link to installation instructions directly
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
2022-06-27 11:59:32 +02:00
Łukasz Magiera 3e55995d24 Merge pull request #8887 from lidel/patch-1
docs: update ./documentation/en/README.md
2022-06-27 11:54:34 +02:00
Jiaying Wang eba821945b Merge pull request #8905 from filecoin-project/feat/go-fil-marketsv1.22.0
deps: upgrade go-fil-markets to v1.22.0
2022-06-26 22:19:31 -04:00
Jiaying Wang 01254ab320 Merge pull request #8915 from filecoin-project/v16
build: release: v1.16.0
2022-06-24 16:49:19 -04:00
Jiaying Wang ed735a3427 Merge pull request #8914 from filecoin-project/jen/v16
build: release: v1.16.0 prep
2022-06-24 15:42:27 -04:00
Jennifer Wang 3b9783db68 add changelog 2022-06-24 15:41:11 -04:00
Jennifer Wang 83d796f34d bump the version to v1.16.0 2022-06-23 17:20:39 -04:00
Geoff Stuart 8b96396ef9 Merge pull request #8912 from filecoin-project/gstuart/retrieval-no-hang
Fix: cli: Break out of retrieval if provider cancels
2022-06-23 17:15:17 -04:00
Geoff Stuart c10c89883c Break out of retrieval if provider cancels 2022-06-23 16:59:44 -04:00
Aayush Rajasekaran 2f2760290a Merge pull request #8911 from filecoin-project/asr/manifest-cid-check
feat: shed: print out actor code CIDs in manifest cid checker
2022-06-23 16:57:48 -04:00
Aayush fd5981b7ee feat: shed: print out actor code CIDs in manifest cid checker 2022-06-23 16:47:43 -04:00
Aayush Rajasekaran b3890d59f0 Merge pull request #8907 from filecoin-project/gstuart/api-actors-cids
feat: api: api call to get actors cids
2022-06-23 16:34:20 -04:00
Jiaying Wang 23bd1b2cdf Merge pull request #8909 from filecoin-project/asr/update-actors
Update actors to v8.0.0
2022-06-23 16:31:40 -04:00
Aayush Rajasekaran a0027031cd Merge pull request #8908 from filecoin-project/asr/bump-fvm
chore: deps: update FFI to use FVM 1.0.0
2022-06-23 15:50:29 -04:00
Aayush 42a16546c1 Update actors to v8.0.0 2022-06-23 15:45:20 -04:00
Geoff Stuart 83d7db88cf review fixes 2022-06-23 14:32:14 -04:00
Aayush 73ea687e9e chore: deps: update FFI to use FVM 1.0.0 2022-06-23 14:14:27 -04:00
Geoff Stuart e684248f48 Added api call to get actors cids 2022-06-23 14:07:23 -04:00
Dirk McCormick f010aa9046 feat: upgrade go-fil-markets to v1.22.0 2022-06-23 16:08:12 +02:00
Łukasz Magiera b368d08596 Merge pull request #8896 from filecoin-project/gstuart/make-deal-devnet
Make cli deal command get Block Delay specific to build
2022-06-23 14:40:48 +02:00
Jiaying Wang 824da5ea51 Merge pull request #8901 from filecoin-project/fixchangelog
chore: changelog: fix the the upgrade epoch in changelog
2022-06-22 22:42:37 -04:00
Jennifer Wang 69b7594aec fix the the upgrade epoch in changelog 2022-06-22 22:20:21 -04:00
Geoff Stuart dc4ba81b9c Make cli deal command get Block Delay specific to build 2022-06-22 19:35:03 -04:00
Jiaying Wang 6638ed4c30 Merge pull request #8884 from filecoin-project/jen/1602
build: release: v1.16.0-rc2
2022-06-22 19:29:51 -04:00
Jennifer Wang 6a6d6714ad update changelog 2022-06-22 19:27:34 -04:00
Aayush Rajasekaran 5d55e3d537 Merge pull request #8898 from filecoin-project/jen/ffi2
deps: ffi: update
2022-06-22 16:28:51 -04:00
Jiaying Wang eabb2d1916 Merge pull request #8897 from filecoin-project/jen/art
misc: fvm liftoff
2022-06-22 15:54:57 -04:00
Jennifer Wang 5d0a01abfc update ffi 2022-06-22 15:42:21 -04:00
Steven Allen cd6c0c2ad3 feat: move banner, embed, and run at v8 upgrade only
1. Embed the banner in the upgrades subsystem instead of reading it at
runtime.
2. Print it all at once instead of line-by-line.
3. Run it in the v8 upgrade itself.
2022-06-22 12:41:14 -07:00
Jennifer Wang 17cd28028f fvm liftoff 2022-06-22 15:21:50 -04:00
Aayush 4815c73bb4 tidy lotus-soup go.mod 2022-06-22 14:30:06 -04:00
Aayush Rajasekaran 7f864d0f10 Update go-fil-markets v1.20.1-v16-2 2022-06-22 14:27:15 -04:00
Jennifer Wang 781f92402a add mainnet upgrade epoch 2022-06-22 14:27:15 -04:00
Jennifer Wang ea823558de bump version to v1.16.0-rc2 2022-06-22 14:27:15 -04:00
Jennifer Wang 820013a31e add mainnet upgrade epoch for nv16 2022-06-22 14:27:15 -04:00
Aayush Rajasekaran 550d3888ca Merge pull request #8895 from filecoin-project/asr/update-actors
chore: deps: update to actors v8.0.0-rc.2, except for calibnet
2022-06-22 14:24:37 -04:00
Aayush e122d113c7 chore: deps: update to actors v8.0.0-rc.2, except for calibnet 2022-06-22 14:17:40 -04:00
Aayush Rajasekaran a43231b95a Merge pull request #8893 from filecoin-project/asr/exec-trace-v16
fix: fvm: make exectraces match legacyVM some more
2022-06-22 14:14:45 -04:00
Aayush Rajasekaran eb9c3420e4 Merge pull request #8892 from filecoin-project/feat/bundle-pack-multi-release
feat: support overriding actor versions per-network
2022-06-22 14:14:24 -04:00
Aayush Rajasekaran a0aa9ad845 Merge pull request #8894 from filecoin-project/asr/update-ffi
chore: deps: Update FFI
2022-06-22 14:09:12 -04:00
Aayush a7a30732f1 Update FFI 2022-06-22 13:48:24 -04:00
Steven Allen 1ced322310 feat: support overriding actor versions per-network 2022-06-22 10:47:04 -07:00
Aayush e860a052e7 fix: fvm: make exectraces match legacyVM some more 2022-06-22 13:46:12 -04:00
Aayush Rajasekaran a80da7f1f9 Merge pull request #8889 from filecoin-project/asr/exec-trace
fix: fvm: make exectraces match legacyVM some more
2022-06-22 13:45:39 -04:00
Aayush 866693f3d5 fix: fvm: make exectraces match legacyVM some more 2022-06-22 11:29:14 -04:00
Marcin Rataj b2956ad199 docs: update ./documentation/en/README.md 2022-06-22 00:03:02 +02:00
kaola526 e3003dce31 fix ci/circleci error 2022-06-21 17:49:10 +08:00
kaola526 ace17753f0 Merge branch 'filecoin-project:master' into master 2022-06-21 17:20:56 +08:00
Aayush Rajasekaran d6e00bcd4e Merge pull request #8816 from filecoin-project/asr/reentrant-test
Add a reentrant multisig test
2022-06-20 18:14:20 -04:00
Aayush 7554991085 Add a reentrant multisig test 2022-06-20 17:22:45 -04:00
Aayush Rajasekaran 0e186ce16f Merge pull request #8883 from filecoin-project/asr/label-json-master
chore: deps: Update to go-state-types v0.1.10
2022-06-20 14:48:15 -04:00
Aayush Rajasekaran f44ad2682a Merge pull request #8882 from filecoin-project/asr/label-json
chore: deps: Update to go-state-types v0.1.10
2022-06-20 14:48:11 -04:00
Aayush b7ee05e60a Update to go-state-types v0.1.10 2022-06-20 14:20:30 -04:00
Aayush b1fddec1ce Update to go-state-types v0.1.10 2022-06-20 14:17:03 -04:00
Phi-rjan 17b5fc80ff Merge pull request #8881 from filecoin-project/phi/fix-butterfly
fix: deps: Update butterfly artifacts
2022-06-20 16:51:11 +02:00
Jennifer Wang 1ccd9051a3 update butterfly artifects 2022-06-20 10:38:08 +02:00
Łukasz Magiera 2c3dbb239a Merge pull request #8871 from filecoin-project/chore/drop-pipeline-adapters
chore: sealing pipeline: Remove adapter code (storage refactors part 2)
2022-06-17 20:00:58 +02:00
Łukasz Magiera ae17b765c0 storage: Address review, no tok 2022-06-17 18:25:59 +02:00
Geoff Stuart 3fe16ccd41 Merge pull request #8814 from nicobao/feat/uninstall/8812
build: deps: add uninstall make target
2022-06-17 12:01:09 -04:00
Geoff Stuart 5c884b5fd1 Merge pull request #8830 from filecoin-project/fix/error-client-deal
fix: ux: Check for client deal addrs on-chain
2022-06-17 11:42:04 -04:00
Geoff Stuart 12f9b2cefe Merge pull request #8879 from filecoin-project/chore/drop-specsstorage
storage: Don't depend on specs-storage, move to storiface
2022-06-17 11:24:46 -04:00
Łukasz Magiera db676acdf8 storage: Cleanup interfaces a bit 2022-06-17 13:52:19 +02:00
Łukasz Magiera 58416d0881 storage: Don't depend on specs-storage, move to storiface 2022-06-17 13:36:33 +02:00
Łukasz Magiera 7de400b5ac Merge remote-tracking branch 'origin/master' into chore/drop-pipeline-adapters 2022-06-17 11:31:05 +02:00
Łukasz Magiera 4a4d64f528 sealing pipeline: Rename 'tok' to 'tsk' 2022-06-17 11:20:33 +02:00
Jiaying Wang 7330ac5d7e Merge pull request #7715 from filecoin-project/jen/simplythings
update release template
2022-06-17 05:10:26 -04:00
Jiaying Wang 9e1794f290 Merge pull request #8857 from filecoin-project/jen/butterflyreset
chore: build: update butterfly artifacts
2022-06-16 16:59:14 -04:00
Jennifer Wang 4df19f9686 address feedbacks + nit 2022-06-16 16:53:47 -04:00
Jiaying Wang 8815fc1c1f Merge pull request #8875 from filecoin-project/phi/update-version
build: bump master version to v1.17.1-dev
2022-06-16 16:34:44 -04:00
Jennifer Wang 8375cc9f3e make gen 2022-06-16 16:19:56 -04:00
Geoff Stuart 1ad1c12294 Merge pull request #8872 from filecoin-project/jen/master16
chore: backport: v1.16.0 bundle to master
2022-06-16 16:11:00 -04:00
Phi 34b04ccbe3 bump version 2022-06-16 22:05:45 +02:00
Jennifer Wang ae37db71a8 update bundles for v16# Please enter the commit message for your changes. Lines starting 2022-06-16 14:27:17 -04:00
Jennifer Wang 51b6b07110 Merge branch 'release/v1.16.0' into jen/master16 2022-06-16 14:24:44 -04:00
Jiaying Wang 3465f3aba3 Merge pull request #8837 from filecoin-project/jen/refactor
chore: refactor:  rename var name for syncing mainnet v15 using FVM
2022-06-16 14:16:52 -04:00
Jiaying Wang a11fd00ca3 Merge pull request #8856 from filecoin-project/feat/markets-v1.21.0
feat: update go-fil-markets to v1.21.0
2022-06-16 14:04:43 -04:00
Łukasz Magiera d56241603a sealing pipeline: Remove adapter code! 2022-06-16 17:22:50 +02:00
Łukasz Magiera 59a4fe1e56 sealing pipeline: Don't adapt MpoolPushMessage 2022-06-16 15:54:15 +02:00
Łukasz Magiera 9c4d10ec73 api: handle no-precommit in StateSectorPreCommitInfo gracefully 2022-06-16 15:20:58 +02:00
Łukasz Magiera 06b3e555c5 sealing pipeline: Drop ChainBaseFee, don't wrap StateSectorPartition 2022-06-16 14:00:37 +02:00
Łukasz Magiera db842224b8 sealing pipeline: Drop StateMarketStorageDealProposal 2022-06-16 13:33:59 +02:00
Łukasz Magiera 2dc1df878d api: Move StateComputeDataCID to full-node 2022-06-16 13:29:35 +02:00
Łukasz Magiera a084445e6c sealing pipeline: Use non-special ChainHead 2022-06-16 13:15:49 +02:00
Łukasz Magiera 048bfe6d5b sealing pipeline: Use non-special msg wait APIs 2022-06-16 12:47:19 +02:00
Łukasz Magiera cd4514bddf sealing pipeline: Drop StateMinerActiveSectors 2022-06-16 12:34:29 +02:00
Łukasz Magiera 9fad80ce9a sealing pipeline: Drop unused miner-info related methods 2022-06-16 12:18:24 +02:00
Łukasz Magiera 9aa5659d24 sealing pipeline: Drop TipSetToken, use TipSetKey directly 2022-06-16 12:05:58 +02:00
kaola526 4ae3d61b76 Merge branch 'filecoin-project:master' into master 2022-06-16 09:17:02 +08:00
Geoff Stuart b706efc33b Merge pull request #8858 from filecoin-project/chore/storage-refactors
chore: storage refactors part 1
2022-06-15 11:53:49 -04:00
Łukasz Magiera 6d770f6e10 make gen 2022-06-15 16:51:30 +02:00
Łukasz Magiera 427efb57f9 Merge pull request #8864 from filecoin-project/fix/shed-user-version
feat: shed: report the "user version"
2022-06-15 14:15:24 +02:00
Łukasz Magiera 25d848f718 fix paychget test 2022-06-15 12:09:11 +02:00
Łukasz Magiera 05cdeb80c3 chore: remove redundant import prefixes 2022-06-15 12:06:22 +02:00
kaola526 2e3b8402cc Update multisig.go 2022-06-15 06:59:17 +08:00
Steven Allen 5677dc915b feat: shed: report the "user version"
This version includes the network name and commit, for easier debugging.
2022-06-14 15:58:36 -07:00
kaola526 de550c8bbb Merge branch 'filecoin-project:master' into master 2022-06-15 06:53:40 +08:00
Łukasz Magiera 39cede946c chore: Fix more imports with '2' suffix 2022-06-14 21:37:54 +02:00
Łukasz Magiera 7864e1470e fix docsgen-cli 2022-06-14 21:05:48 +02:00
Łukasz Magiera a581d73548 chore: Fix imports with '2' suffix 2022-06-14 20:36:33 +02:00
Łukasz Magiera 28099a3905 storage: Move storage/sealer/stores to storage/paths 2022-06-14 20:25:52 +02:00
Łukasz Magiera 82857e6d5d chore: rerun gen with moved packages 2022-06-14 20:13:31 +02:00
Łukasz Magiera a9600b8a6f storage: Move extern/sector-storage to storage/sealer 2022-06-14 20:03:38 +02:00
Łukasz Magiera 98a48a47f8 storage: Move extern/storage-sealing to storage/pipeline 2022-06-14 19:41:59 +02:00
Łukasz Magiera cf835fcc0c fix wdpost unit tests 2022-06-14 19:33:57 +02:00
Łukasz Magiera 717bda63b1 storage: Move control address logic to storage/ctladdr 2022-06-14 19:32:29 +02:00
Łukasz Magiera dff1bf2868 storage: Move window-post logic into a separate package 2022-06-14 19:27:09 +02:00
Łukasz Magiera 12c91bb41d storage: Move mock PreCommit helper to the mock package 2022-06-14 19:23:14 +02:00
Łukasz Magiera 6afb43afbb wallet: Move key.go into separate pkg to avoid import loops 2022-06-14 19:21:40 +02:00
Łukasz Magiera d48b629b46 Merge pull request #8863 from filecoin-project/chore/run-fiximports
chore: fix imports conflict
2022-06-14 19:11:09 +02:00
Łukasz Magiera 6c3361b5a4 chore: fix imports conflict 2022-06-14 18:58:19 +02:00
Łukasz Magiera 422f66776f Merge pull request #8859 from filecoin-project/chore/import-fix
chore: Fix imports
2022-06-14 18:54:03 +02:00
Łukasz Magiera a7b695eac3 fiximports: Don't leave backup files on osx 2022-06-14 18:31:33 +02:00
Aayush Rajasekaran 435c1f4278 Merge pull request #8855 from filecoin-project/jen/backport
chore: backport: release v1.16.0 back to master
2022-06-14 11:11:13 -04:00
Łukasz Magiera 3f0f5834b3 make: run fiximports in docsgen 2022-06-14 17:03:12 +02:00
Łukasz Magiera e65fae28de chore: fix imports 2022-06-14 17:00:51 +02:00
Łukasz Magiera d929d7104f fiximports script 2022-06-14 17:00:18 +02:00
Aayush 6d21b72d6c Testplans: go mod tidy 2022-06-14 09:13:33 -04:00
Łukasz Magiera 016749b60b Merge pull request #8854 from swift-mx/mx_log
fix: format error log
2022-06-14 11:18:23 +02:00
Jennifer Wang ed091b6d49 update butterfly artifects 2022-06-14 03:23:58 -04:00
Dirk McCormick 43bf95b8b8 feat: update go-fil-markets to v1.21.0 2022-06-14 09:15:19 +02:00
Jennifer Wang e3fbe53f76 Merge branch 'release/v1.16.0' into jen/backport 2022-06-14 02:35:01 -04:00
swift-mx 19a4395cd7 fix: format error log 2022-06-14 14:13:44 +08:00
Jennifer Wang 5a67bb0f69 v1.16.0-rc1 changelog 2022-06-14 01:57:42 -04:00
Jiaying Wang 5624c71084 Merge pull request #8851 from filecoin-project/jen/v1160
build: release: v1.16.0-rc1
2022-06-13 23:59:28 -04:00
Jennifer Wang 82ead268bd go mod tidy 2022-06-13 23:31:35 -04:00
Jennifer Wang b0c8dd5454 remove wrongly added whiteblock cid 2022-06-13 23:31:12 -04:00
Jennifer Wang 9254085bd4 correct the upgrade time comment 2022-06-13 23:27:31 -04:00
Jennifer Wang ca3282cb43 Merge branch 'releases' into jen/v1160 2022-06-13 23:25:10 -04:00
kaola526 ea59d5870d Merge branch 'filecoin-project:master' into master 2022-06-14 11:22:48 +08:00
kaola526 51ad079bc7 fix bug 2022-06-14 11:17:04 +08:00
Jennifer Wang b3adf6f09c docsgen 2022-06-13 23:12:19 -04:00
Steven Allen e9157e9dcc fix: build: really make macos compatible (#8853) 2022-06-14 03:02:43 +00:00
Jennifer Wang 35791682aa upgrade to 8.0.0-rc.1 bundle & manifest 2022-06-13 23:02:02 -04:00
Jennifer Wang 14e37adc95 fix: build: add calibrationnet to the actors bundle 2022-06-13 23:01:37 -04:00
Steven Allen 4b7f141230 fix: build: make the build/actors/pack.sh script work on macos 2022-06-13 22:51:58 -04:00
kaola526 bc25a3fd37 fix bug 2022-06-14 10:40:45 +08:00
Aayush Rajasekaran a4dbeeb51f Merge pull request #8852 from filecoin-project/chore/fix-pack
fix: build: fix pack script and add calibrationnet to bundle
2022-06-13 22:40:37 -04:00
Steven Allen b16d3c07c1 fix: build: add calibrationnet to the actors bundle 2022-06-13 19:35:08 -07:00
Steven Allen d8d8ed1f1c fix: build: make the build/actors/pack.sh script work on macos 2022-06-13 19:34:29 -07:00
Aayush Rajasekaran 55dd92fb53 Merge pull request #8849 from filecoin-project/asr/proof-bump-v16
Add new proofs version type
2022-06-13 22:10:27 -04:00
Aayush Rajasekaran 89a486c6ca Merge pull request #8848 from filecoin-project/asr/proof-bump
Add new proofs version type
2022-06-13 22:09:42 -04:00
Aayush 69fae9dc52 Add new proofs version type 2022-06-13 21:49:42 -04:00
Aayush 717d592a3b Add new proofs version type 2022-06-13 21:41:25 -04:00
Jennifer Wang cda21546c4 chore: update butterfly for reset of v16 2022-06-13 21:02:08 -04:00
Jennifer Wang 2b8aaf7261 update calib v16 skyr upgrade 2022-06-13 20:32:33 -04:00
Aayush Rajasekaran 1d821eda57 Merge pull request #8847 from filecoin-project/jen/v16prep
chore: backport: 8838 & 8769
2022-06-13 19:06:21 -04:00
Steven Allen ddc9425c07 feat: refactor: actor bundling system (#8838)
1. Include the builtin-actors in the lotus source tree.
2. Embed the bundle on build instead of downloading at runtime.
3. Avoid reading the bundle whenever possible by including bundle
   metadata (the bundle CID, the actor CIDs, etc.).
4. Remove everything related to dependency injection.
    1. We're no longer downloading the bundle, so doing anything ahead
       of time doesn't really help.
    2. We register the manifests on init because, unfortunately, they're
       global.
    3. We explicitly load the current actors bundle in the genesis
       state-tree method.
    4. For testing, we just change the in-use bundle with a bit of a
       hack. It's not great, but using dependency injection doesn't make
       any sense either because, again, the manifest information is
       global.
    5. Remove the bundle.toml file. Bundles may be overridden by
       specifying an override path in the parameters file, or an
       environment variable.

fixes #8701
2022-06-13 10:51:49 -07:00
Steven Allen 30981d0fdd feat: refactor: actor bundling system (#8838)
1. Include the builtin-actors in the lotus source tree.
2. Embed the bundle on build instead of downloading at runtime.
3. Avoid reading the bundle whenever possible by including bundle
   metadata (the bundle CID, the actor CIDs, etc.).
4. Remove everything related to dependency injection.
    1. We're no longer downloading the bundle, so doing anything ahead
       of time doesn't really help.
    2. We register the manifests on init because, unfortunately, they're
       global.
    3. We explicitly load the current actors bundle in the genesis
       state-tree method.
    4. For testing, we just change the in-use bundle with a bit of a
       hack. It's not great, but using dependency injection doesn't make
       any sense either because, again, the manifest information is
       global.
    5. Remove the bundle.toml file. Bundles may be overridden by
       specifying an override path in the parameters file, or an
       environment variable.

fixes #8701
2022-06-13 10:15:00 -07:00
Łukasz Magiera 1cd94f598d Merge pull request #8820 from filecoin-project/asr/deprecate-blocksync
refactor: remove old BlockSyncProtocolID
2022-06-13 18:36:21 +02:00
vyzo d4d5ce3021 only enable rcmgr by default in full nodes
opt-in with envvar for other nodes, as there are still some issues
with markets related protocols
2022-06-13 12:16:20 -04:00
Aayush Rajasekaran 2d07131f29 Merge pull request #8845 from filecoin-project/asr/cherry-picks
chore: cherry-pick fixes to release branch
2022-06-10 19:17:11 -04:00
Aayush Rajasekaran 05ca8875e0 Merge pull request #8826 from filecoin-project/asr/address-bump
chore: deps: Update to go-address v1.0.0
2022-06-10 17:48:53 -04:00
Aayush dda9ac31c6 invoker: gen the registry 2022-06-10 17:40:07 -04:00
Aayush d32ed4440d Drop actor meta shimming for testing 2022-06-10 17:30:07 -04:00
Aayush 7dcb11b8c0 Update to tagged actors versions 2022-06-10 17:29:57 -04:00
Aayush RajasekaranandŁukasz Magiera 131831ca61 Update cmd/lotus-shed/cid.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-06-10 17:29:13 -04:00
Aayush 37e524adac Update to go-address v1.0.0 2022-06-10 17:24:37 -04:00
Aayush Rajasekaran f81194ddfd Merge pull request #8842 from filecoin-project/revert-8770-chore/update-pubsub
Revert "deps: update go-libp2p-pubsub to v0.7.0"
2022-06-10 17:13:24 -04:00
Aayush Rajasekaran 6422bf4a60 Merge pull request #8843 from filecoin-project/gstuart/lite-migration-master
Feat: migration: Implement function to migrate actors with only code changes
2022-06-10 16:12:16 -04:00
Geoff Stuart b7010c9e60 Implement function to migrate actors with only code changes 2022-06-10 15:52:32 -04:00
Aayush Rajasekaran b6a7e0553e Merge pull request #8815 from filecoin-project/gstuart/lite-migration
feat: migrations: function for migrating builtin actors with only code changes
2022-06-10 15:36:05 -04:00
Jiaying Wang f09fc45469 Revert "deps: update go-libp2p-pubsub to v0.7.0" 2022-06-10 14:29:56 -05:00
Geoff Stuart 3f712c376a Example V9 migration function 2022-06-10 15:07:42 -04:00
Aayush Rajasekaran 64ed93b728 Merge pull request #8840 from filecoin-project/arajasek-patch-2
fix: build: params_2k should not have the v16 upgrade set
2022-06-10 14:46:46 -04:00
Geoff Stuart bec1dc47ce update specs-actors version 2022-06-10 14:22:54 -04:00
Geoff Stuart 801c670edd Remove ChainPutMany 2022-06-10 14:09:05 -04:00
Geoff Stuart 64d62f1f7e Review fixes v2 2022-06-10 12:32:31 -04:00
Geoff Stuart 3c4792d3e9 review fixes 2022-06-10 11:35:01 -04:00
Aayush Rajasekaran d2fe574af3 fix: build: params_2k should not have the v16 upgrade set 2022-06-10 10:05:20 -04:00
Łukasz Magiera e899f73800 Merge pull request #8517 from filecoin-project/rate-limit-gateway
feat: Add rate limiting to the lotus gateway
2022-06-10 13:18:10 +02:00
Łukasz Magiera ae42ed0bb1 Merge remote-tracking branch 'origin/master' into rate-limit-gateway 2022-06-10 13:01:20 +02:00
Aayush e79c2eaa4a gofmt 2022-06-09 18:32:20 -04:00
jennijuju 41e325e822 chore: refactor: rename var name for syncing mainnet v15 using FVM 2022-06-09 16:53:16 -05:00
Jiaying Wang 87d1e8ddfd Merge pull request #8831 from filecoin-project/arajasek-patch-2
refactor: rename LOTUS_USE_FVM_EXPERIMENTAL
2022-06-09 17:42:16 -04:00
Aayush Rajasekaran 5bb50289bd Merge pull request #8835 from filecoin-project/fix/merge-conflict
fix: build: fix 2k build params
2022-06-09 17:25:30 -04:00
Steven Allen 36a4c1791c fix: build: fix 2k build params 2022-06-09 14:23:26 -07:00
Aayush Rajasekaran c661d247e5 Merge pull request #8810 from filecoin-project/asr/feat-into-master
Merge nv16 changes into master
2022-06-09 16:09:35 -04:00
Aayush b211c51643 invoker: gen the registry 2022-06-09 16:09:23 -04:00
Geoff Stuart 339692cde5 create function for migrating builtin actors with only code changes 2022-06-09 15:13:42 -04:00
Geoff Stuart 5c0f2c8ae6 Add putObj and putMany to apiBlockstore 2022-06-09 15:13:42 -04:00
kaola526 9e27c49168 Merge branch 'filecoin-project:master' into master 2022-06-10 00:37:37 +08:00
kaola526 c244a0bbdc fix bug #8825 2022-06-10 00:36:46 +08:00
Aayush Rajasekaran fbefd617a2 refactor: rename LOTUS_USE_FVM_EXPERIMENTAL 2022-06-09 11:21:22 -04:00
Phi faa3b185bf fix: ux: client deal addrs is on-chain check
Checks if the address used in `lotus client deal` is "initialized" on-chain before running the `uiLoop`. Resolves #8817
2022-06-09 16:20:51 +02:00
Łukasz Magiera 16d6e0eeb5 Merge pull request #8818 from 2color/improve-retrieval-error
chore: improve error message when maxPrice is too low
2022-06-09 15:47:09 +02:00
Łukasz Magiera 1190050e86 Merge pull request #8829 from zl03jsj/fix/TestPaychGetRestartAfterAddFundsMsg_may_stuck_in_forever_waiting
Fix: PaychGetRestartAfterAddFundsMsg may stuck in forever waiting
2022-06-09 15:30:22 +02:00
zl e732e1b00b fix TestPaychGetRestartAfterAddFundsMsg may stuck in forever waiting 2022-06-09 16:36:50 +08:00
Aayush 82e439172e Drop actor meta shimming for testing 2022-06-08 13:41:30 -04:00
Aayush 789f212f6c refactor: remove old BlockSyncProtocolID 2022-06-08 13:38:56 -04:00
Aayush 74a00ebdda Update to tagged actors versions 2022-06-08 13:31:50 -04:00
Aayush RajasekaranandŁukasz Magiera 474d11b805 Update cmd/lotus-shed/cid.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-06-08 13:18:50 -04:00
Aayush Rajasekaran e3f1eb29a1 Merge pull request #8823 from filecoin-project/fix/ux-paych-addfunds
fix: paych: Print "waiting for confirmation.."
2022-06-08 11:25:15 -04:00
Phi 0444563e65 fix: paych: Print "waiting for confirmation.."
Prints an "waiting for confirmation.." when running `lotus paych [fromAddress toAddress amount]` to indicate that the command is waiting for the msg to be confirmed and not just hanging.
2022-06-08 10:43:49 +02:00
Cory Schwartz 84cc1e30fd lint 2022-06-07 10:36:57 -07:00
Daniel N c1a7f6292e Improve error message when maxPrice is too low
This also happens when maxPrice is not set and it deafults to 0
2022-06-07 11:10:20 -05:00
Nicolas Gimenez 3cdd92c4c0 build: deps: add uninstall make target
Run `sudo make uninstall` to remove binaries added
during installation. The command does NOT delete the potentially critical
`.lotus` and `.lotusminer` folders.
2022-06-07 09:38:46 -05:00
Aayush Rajasekaran 0e5e5f49df Merge pull request #8804 from filecoin-project/gstuart/exec-trace-consistency
Fix: state:  Set exec trace subcalls to nil when appropriate
2022-06-07 09:40:00 -04:00
Aayush Rajasekaran 27eaebad7e Merge pull request #8302 from filecoin-project/raulk/tvx-fixes
feat: conformance & tvx: support ReportConsensusFault messages
2022-06-06 23:34:16 -04:00
Aayush Rajasekaran 05c19b37a4 Merge pull request #8756 from filecoin-project/jen/devnetfixport
fix: build: genesis miner network version
2022-06-06 23:33:01 -04:00
Geoff Stuart 81cacd76a7 Implement function to access state of system actor 2022-06-06 23:23:32 -04:00
Cory Schwartz ea51732163 use key type 2022-06-06 16:37:11 -07:00
Geoff Stuart 0c789b06dc Call with no subcalls is nil instead of empty array for backwards compatibility 2022-06-03 15:21:47 -04:00
Aayush b28c11a57d Merge branch 'feat/nv16' 2022-06-03 14:01:49 -04:00
Aayush Rajasekaran 8212b2c5d9 Merge pull request #8755 from filecoin-project/jen/devnetver
fix: build: use the genesis network version when creating a network
2022-06-03 13:43:29 -04:00
Aayush Rajasekaran 7ff86efba2 Merge pull request #8776 from filecoin-project/jen/mergev1153to16
chore: build: merge v1.15.3 into v1.16.0
2022-06-03 13:38:32 -04:00
Aayush 91e69644c2 Merge branch 'feat/nv16' into jen/mergev1153to16 2022-06-03 13:18:27 -04:00
Aayush 89531e33a1 fixup merge 2022-06-03 13:16:44 -04:00
Aayush Rajasekaran e857498914 Merge pull request #8801 from filecoin-project/asr/libp2p-v16
chore: deps: update to go-libp2p v0.19.4
2022-06-03 12:02:29 -04:00
Aayush 37fdcbf197 chore: deps: update to go-libp2p v0.19.4 2022-06-03 11:48:40 -04:00
Łukasz Magiera 5d7f3c252d Merge pull request #8799 from filecoin-project/chore/update-libp2p
deps: update go-libp2p@v0.19.4
2022-06-03 02:22:23 +02:00
vyzo 927aea9937 update go-libp2p@v0.19.4 2022-06-02 22:29:21 +03:00
Łukasz Magiera 73ee5957e7 Merge pull request #8787 from swift-mx/mx_get_hello_message
feat: lotus-shed get remote peer hello message
2022-06-02 19:45:13 +02:00
Łukasz Magiera db13ada6a3 Merge pull request #8797 from filecoin-project/feat/nicer-netstat
feat: cli: Nicer net stat
2022-06-02 19:25:57 +02:00
Łukasz Magiera c43b4f304b cli docsgen 2022-06-02 17:51:26 +02:00
Łukasz Magiera 3de6856058 feat: cli: Nicer net stat 2022-06-02 16:54:56 +02:00
swift-mx 1fd2be1329 fix: setStreamHandler before connect 2022-06-02 19:59:52 +08:00
swift-mx 9c33816c90 fix: remove say hello 2022-06-02 17:22:43 +08:00
swift-mxandŁukasz Magiera 5a961c90f5 Update cmd/lotus-shed/hello.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-06-02 17:09:35 +08:00
swift-mx 63a2d9f1fe fix: timeout 5 2022-06-02 16:54:58 +08:00
swift-mx d04594a375 style: hello.go 2022-06-02 16:49:59 +08:00
swift-mxandŁukasz Magiera 0fd74eda69 style: libp2p new
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-06-02 16:36:18 +08:00
Łukasz Magiera 93f3b49235 Merge pull request #8785 from filecoin-project/gstuart/fix/manifest-cid-bundle-cli
Fix: cli: clean up manifest-cid-from-car
2022-06-02 10:32:50 +02:00
Łukasz Magiera eb84bf2ebd Merge pull request #8784 from filecoin-project/arajasek-patch-2
chore: vm: Rename tracing envvar to LOTUS_VM_ENABLE_TRACING
2022-06-02 10:31:51 +02:00
Łukasz Magiera 1b4849b05e Merge pull request #8786 from filecoin-project/gstuart/fix/cleanup-load-bundle
Cleanup LoadBundle
2022-06-02 10:30:29 +02:00
swift-mx e691efb9cd fix: CI 2022-06-02 12:02:41 +08:00
swift-mx 45104a856b feat: lotus-shed get remote peer hello message 2022-06-02 11:51:11 +08:00
Jiaying Wang 2f6a383023 Merge pull request #8781 from filecoin-project/release/v1.15.3
build: release: v1.15.3
2022-06-01 22:46:43 -04:00
Geoff Stuart 782011b572 Cleanup LoadBundle 2022-06-01 22:22:52 -04:00
Geoff Stuart bf6f9799e6 Fixup manifest-cid-from-car 2022-06-01 22:12:50 -04:00
Aayush Rajasekaran 6f25476709 chore: vm: Rename tracing envvar to LOTUS_VM_ENABLE_TRACING 2022-06-01 18:18:49 -04:00
Jiaying Wang a7e8f5aa17 Merge pull request #8761 from filecoin-project/jen/1153prep
build: release: prep lotus v1.15.3
2022-06-01 15:35:25 -04:00
Jiaying WangandAayush Rajasekaran c095d101a1 Update CHANGELOG.md
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-06-01 14:09:13 -04:00
Steven Allen 0c4863c58e Merge pull request #8779 from filecoin-project/chore/update-ffi
chore: deps: update filecoin-ffi
2022-06-01 11:02:19 -07:00
Steven Allen 352c23748e chore: deps: update filecoin-ffi
- Uses the global MAX_LEN exported by fvm_shared.
- Formats errors with debug, for additional information.
2022-06-01 10:44:48 -07:00
Łukasz Magiera 6b68071d2f Merge pull request #8777 from filecoin-project/fix/bench-typos
fix: bench: consistency in description
2022-06-01 10:59:22 +02:00
Cory Schwartz 4c51e4ccda default 5 sec 2022-06-01 00:59:13 -07:00
Cory Schwartz e645e8aa7c Merge branch 'master' into rate-limit-gateway 2022-06-01 00:58:23 -07:00
Phi a7a9e2a60e fix: bench: consistency in description
Changing /tmp/sl and /tmp/cac to /tmp/sealed and /tmp/cache for consistency with the rest of the description
2022-06-01 08:50:13 +02:00
Jennifer Wang cec9425c83 prep lotus v1.15.3 2022-05-31 16:39:23 -04:00
Jiaying Wang 130ef04ca5 Merge pull request #8764 from filecoin-project/asr/storage
chore: deps: Use tagged version of specs-storage
2022-05-31 16:38:22 -04:00
Jennifer Wang 2e59d0129d Merge branch 'release/v1.15.3' into jen/mergev1153to16 2022-05-31 16:33:18 -04:00
Aayush Rajasekaran d1a241e5b7 Merge pull request #8770 from filecoin-project/chore/update-pubsub
deps: update go-libp2p-pubsub to v0.7.0
2022-05-31 11:30:53 -04:00
vyzo 91c634b965 update go-libp2p-pubsub to v0.7.0 2022-05-31 14:00:43 +03:00
Łukasz Magiera 9de9c584ec Merge pull request #8769 from filecoin-project/feat/rcmgr-for-daemon
feat: only enable rcmgr by default in full nodes
2022-05-31 12:30:42 +02:00
vyzoandPeter Rabbitson 207ff66b3b update comment.
Co-authored-by: Peter Rabbitson <ribasushi@protocol.ai>
2022-05-31 12:33:08 +03:00
vyzoandPeter Rabbitson bc180c8d78 update comment.
Co-authored-by: Peter Rabbitson <ribasushi@protocol.ai>
2022-05-31 12:32:56 +03:00
vyzo a1e6410178 remove outdated comment 2022-05-31 12:09:04 +03:00
vyzo a313dcba74 only enable rcmgr by default in full nodes
opt-in with envvar for other nodes, as there are still some issues
with markets related protocols
2022-05-31 12:03:03 +03:00
Aayush Rajasekaran 000b932cac Merge pull request #8762 from filecoin-project/jen/removecar
chore: bundle: remove wrongly committed bundle cars
2022-05-30 21:08:20 -04:00
Aayush Rajasekaran ff02a666bd Merge pull request #8763 from filecoin-project/jen/rmbundle
chore: bundle: remove wrongly committed bundle cars
2022-05-30 21:08:16 -04:00
Aayush 869f6abcd6 Use tagged version of specs-storage 2022-05-30 18:08:28 -04:00
Jennifer Wang 64709dd587 remove wrongly committed bundle cars 2022-05-30 17:24:46 -04:00
Jennifer Wang 157d519dd4 remove wrongly committed bundle cars 2022-05-30 17:21:44 -04:00
Aayush 8cbbee3a87 Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 16:17:41 -04:00
Aayush Rajasekaran 81d3cda69b Merge pull request #8758 from filecoin-project/asr/revert-pricelist
Revert "VM: Refactor pricelist to be based on network versions"
2022-05-30 16:11:17 -04:00
Jiaying Wang 04894350b7 Merge pull request #8759 from filecoin-project/asr/revert-pricelist-v16
Revert "VM: Refactor pricelist to be based on network versions"
2022-05-30 16:11:14 -04:00
Jiaying Wang 5b3a6e89ff Merge pull request #8670 from filecoin-project/jen/actorcid
chore: state: add cli to get the manifest & actor cid for network v16 & up
2022-05-30 15:31:22 -04:00
Aayush c95ad7229f Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 15:25:33 -04:00
Jennifer Wang 4d1ee38930 docs gen 2022-05-30 15:22:03 -04:00
Aayush 3c8dcda094 Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 15:19:51 -04:00
Jennifer Wang 970aa299a2 move actor key to a const array 2022-05-30 14:59:46 -04:00
Jennifer Wang 2c1cf42aa0 add cli to get the actor cid forthe current network version 2022-05-30 14:20:14 -04:00
Jennifer Wang f7b0bbf0d8 fix genesis miner netwokr version 2022-05-30 13:33:10 -04:00
Jennifer Wang a476816f40 fix genesis miner netwokr version 2022-05-30 13:32:04 -04:00
Aayush Rajasekaran e59edfdd0c Merge pull request #8754 from filecoin-project/jen/backport
fix: deps: restore butterfly network genesis from v1.14.4
2022-05-30 13:22:59 -04:00
Travis Person 860298d65b fix: deps: restore butterfly network genesis from v1.14.4 2022-05-30 12:58:21 -04:00
Aayush Rajasekaran 2a5e36c542 Merge pull request #8742 from filecoin-project/jen/butterldly
chore: bundle: butterfly manifest cid & epoch
2022-05-30 12:11:45 -04:00
Jiaying Wang dbeec2900b Update params_butterfly for upgrade v16 epoch and cid 2022-05-30 11:55:30 -04:00
Łukasz Magiera 041af452ac Merge pull request #8751 from sunday527/feat/nv16
fix: lotus-bench make command
2022-05-30 16:46:24 +02:00
Łukasz Magiera 285c9b9d4a Merge pull request #8373 from filecoin-project/feat/simple-op-bench
feat: bench: simple sealing operations commands
2022-05-30 16:43:02 +02:00
Aayush Rajasekaran 160281bc53 Merge pull request #8745 from filecoin-project/gstuart/publish-storage-deals-test
test:  deals: Test deal label with invalid utf8
2022-05-30 10:42:41 -04:00
Geoff Stuart 4a40eb5af9 make gen 2022-05-30 10:29:05 -04:00
Łukasz Magiera 790a331ca5 bench: Support multiple piece infos in ParsePieceInfos 2022-05-30 16:19:57 +02:00
Łukasz Magiera e148663155 bench: add simple bench descriptions 2022-05-30 15:44:05 +02:00
Łukasz Magiera d7e99b801e bench: Simple snapdeals 2022-05-30 15:44:05 +02:00
Łukasz Magiera 6ae0cb8ac4 bench: Simple commit1/2 2022-05-30 15:44:05 +02:00
Łukasz Magiera 580bafb98e bench: Accept sector nums in simple post 2022-05-30 15:44:05 +02:00
Łukasz Magiera 1960a7726b bench: Simple distributed post, print perf 2022-05-30 15:44:05 +02:00
Łukasz Magiera 56bde5adf9 Merge pull request #8692 from filecoin-project/feat/health-endpoints
feat: networking: add healthz and livez endpoints
2022-05-30 15:42:06 +02:00
tian zhou ce1658f347 fix: lotus-bench make command 2022-05-30 19:29:37 +08:00
Geoff Stuart 4469d0c819 Reset interopnet 2022-05-27 16:46:29 -04:00
Geoff Stuart 775a94a239 Test deal label with invalid utf8 2022-05-27 16:43:06 -04:00
Geoff Stuart e11f03a1fc Replace caterpillar manifest cid 2022-05-27 14:37:01 -04:00
Łukasz Magiera 2b5114eb12 Merge pull request #8744 from filecoin-project/fix/storagestat-log-spam
fix: worker: don't log normal storage stat calls
2022-05-27 20:03:49 +02:00
Łukasz Magiera ed0c30542a Merge pull request #8741 from filecoin-project/fix/worker-nodefault-param-checks
fix: worker: don't check params with --no-default when not needed
2022-05-27 19:53:27 +02:00
Łukasz Magiera d38cd87d35 Merge pull request #8657 from gnasnik/master
feat: add create ledger wallet address by account index command
2022-05-27 19:52:48 +02:00
Łukasz Magiera a448b229a8 fix: worker: don't log noraml storage stat calls 2022-05-27 19:43:06 +02:00
Geoff Stuart 8d0558bd75 Merge pull request #8743 from filecoin-project/jen/interop
chore: bundle: update caterpillar cid
2022-05-27 13:27:52 -04:00
Jiaying Wang 7de6d93e26 Update params_interop.go 2022-05-27 13:10:11 -04:00
Jiaying Wang 92ef099f5a Update params_interop.go 2022-05-27 13:09:11 -04:00
Aayush Rajasekaran 1b3d7c9054 Merge pull request #8740 from filecoin-project/asr/update-actors
Update actors
2022-05-27 12:39:35 -04:00
Aayush Rajasekaran 73e86679d0 Merge pull request #8739 from filecoin-project/asr/update-ffi
Update FFI
2022-05-27 12:39:29 -04:00
Łukasz Magiera 1058e3bc41 fix: worker: don't check params with --no-default when not needed 2022-05-27 18:25:48 +02:00
Aayush de65d8c3b4 Update actors 2022-05-27 12:07:45 -04:00
Aayush Rajasekaran 40d75d17d4 Merge pull request #8734 from filecoin-project/asr/implicit-fail
fvm: fail if implicit message fails
2022-05-27 11:43:34 -04:00
Aayush 7ea661bf87 fvm: fail if implicit message fails 2022-05-27 11:43:20 -04:00
Aayush 3cfd1fed31 Update FFI 2022-05-27 11:39:25 -04:00
Aayush Rajasekaran c5b5a99603 Merge pull request #8733 from filecoin-project/asr/disable-skyr
Add disable flag for Skyr upgrade
2022-05-27 11:21:03 -04:00
Aayush Rajasekaran 44d415a1e2 Merge pull request #8738 from filecoin-project/fix/openrpc-aliases
fix: rpc: readd rpc.discover aliases; lotus-gateway openrpc
2022-05-27 11:18:36 -04:00
Łukasz Magiera 032e598962 feat: gateway: OpenRPC support 2022-05-27 17:03:56 +02:00
Łukasz Magiera 48aa0131bf fix: rpc: readd rpc.discover aliases 2022-05-27 17:03:03 +02:00
Aayush Rajasekaran bcdbb7296d Merge pull request #8737 from filecoin-project/feat/compute-wdpost-no-fault
feat: wdpost: Ignore faults in lotus-miner proving compute window-post
2022-05-27 11:03:01 -04:00
Aayush Rajasekaran 69d3542ee2 Merge pull request #8736 from filecoin-project/fix/postworker-check-params
fix: post workers: check proving params on startup
2022-05-27 11:00:17 -04:00
Łukasz Magiera 5624b7eaad Merge pull request #8725 from filecoin-project/feat/worker-task-count-limits
feat: sched: Per worker concurrent task count limits
2022-05-27 16:57:38 +02:00
Łukasz Magiera 7117a8d80d fix lint 2022-05-27 16:15:52 +02:00
Łukasz Magiera 26a0b43116 Merge remote-tracking branch 'origin/master' into feat/worker-task-count-limits 2022-05-27 16:01:32 +02:00
Łukasz Magiera af510e2cd7 feat: wdpost: Ignore faults in lotus-miner proving compute window-post 2022-05-27 13:14:47 +02:00
Łukasz Magiera 7d7ecb5ec8 fix: post workers: check proving params on startup 2022-05-27 13:04:19 +02:00
Aayush 4fa04abb8c Add disable flag for Skyr upgrade 2022-05-26 18:20:49 -04:00
Aayush Rajasekaran a081f8d92d Merge pull request #8732 from filecoin-project/gstuart/check-actor-cid
feat: build: Check for manifest CID while loading bundle
2022-05-26 18:12:00 -04:00
Geoff Stuart 30e7f89662 Check for manifest CID while loading bundle 2022-05-26 17:30:32 -04:00
Łukasz Magiera 7836e20801 Merge pull request #8710 from filecoin-project/feat/stor-fin-move-selector
feat: sched: Finalize* move selectors
2022-05-26 21:20:48 +02:00
Łukasz Magiera cfff877ec7 Merge pull request #8700 from filecoin-project/feat/multi-sched
feat: sched: Add scheduler interfaces, configurable assigner
2022-05-26 21:20:30 +02:00
Geoff Stuart c159290868 Reset interopnet 2022-05-26 00:03:24 -04:00
Geoff Stuart 966f6816eb Merge pull request #8719 from filecoin-project/gstuart/cli-bad-post
feat: cli: New commands for testing.
2022-05-25 17:10:18 -04:00
Geoff Stuart 7bf9ce2f2f review fixes 2022-05-25 16:42:50 -04:00
Aayush Rajasekaran 06279b5f1a Merge pull request #8606 from filecoin-project/asr/fix-drand-round
Fix: drand: calculation of round from Filecoin epochs
2022-05-25 15:36:53 -04:00
Geoff Stuart cd8a6b5a7a Merge pull request #8727 from filecoin-project/asr/actors-update
Update actors to dev/20220525
2022-05-25 14:23:18 -04:00
Aayush Rajasekaran 8127473bab Update actors to dev/20220525 2022-05-25 14:21:08 -04:00
Aayush Rajasekaran 3e2df74e8b Merge pull request #8722 from filecoin-project/fix/nv16-testing-bundle
[nv16] don't clobber test bundles during migration
2022-05-25 12:50:11 -04:00
Aayush Rajasekaran 6924a3d5f2 Fix calculation of Drand round from Filecoin epochs 2022-05-25 12:43:52 -04:00
Łukasz Magiera 2bdc729fe7 Merge remote-tracking branch 'origin/master' into feat/worker-task-count-limits 2022-05-25 18:25:15 +02:00
vyzo bb0e3a6cb0 don't clobber test bundles during migration 2022-05-25 19:16:11 +03:00
Łukasz Magiera b90b9e97a6 fix tests 2022-05-25 17:33:44 +02:00
Łukasz Magiera 666dc00e63 docsgen 2022-05-25 16:37:40 +02:00
Łukasz Magiera c47e1bd483 sched: use correct resource table in assignReadyWork 2022-05-25 16:32:00 +02:00
Łukasz Magiera 083c7421ce feat: sched: Worker task count limits for all task types 2022-05-25 16:31:26 +02:00
beck 43ec14fa9c Feat/add provingDeadlineInfoCmd live option 2022-05-25 11:12:32 +08:00
beck 2375df2b62 Feat/add provingDeadlinesCmd live option 2022-05-25 11:11:23 +08:00
frank c33f87d5b4 remove conditions that won't happen 2022-05-25 11:03:04 +08:00
frank efca50c146 fix CodeQL warning 2022-05-25 10:18:48 +08:00
Geoff Stuart 8323ff77b6 Reset interopnet 2022-05-24 17:22:58 -04:00
Geoff Stuart ef4a44cd06 appease linter 2022-05-24 15:24:54 -04:00
Geoff Stuart 8d0f33f2e1 make gen 2022-05-24 14:41:13 -04:00
Geoff Stuart 8d1ebf7abb Fixed wording in some cli commands 2022-05-24 14:41:13 -04:00
Geoff Stuart 354719327b Add generate-and-send-consensus-fault command to cli 2022-05-24 14:41:13 -04:00
Aayush Rajasekaran e87bb5db6a Merge pull request #8680 from filecoin-project/feat/nv16-migration-bundle
[nv16] Ensure v8 bundle is loaded during migration
2022-05-24 14:33:22 -04:00
Jiaying Wang ddbcf1fc61 Merge pull request #8718 from filecoin-project/jen/1153prep
build: release: v1.15.3-rc2
2022-05-24 14:30:04 -04:00
Aayush Rajasekaran c2f0bd3c62 Merge pull request #8668 from filecoin-project/asr/fix-post-test
fix wdpost_dispute tests
2022-05-24 14:22:01 -04:00
Jiaying Wang 2c3df5f187 Merge pull request #8716 from filecoin-project/fix/makefile-flags
build: set NetworkBundle in params file
2022-05-24 14:04:32 -04:00
Jennifer Wang 24474042f8 update the changelog 2022-05-24 14:01:54 -04:00
Jennifer Wang 4c6598e861 bump the version to v1.15.3-rc2 2022-05-24 14:01:01 -04:00
Aayush 2b847a98ae fix wdpost_dispute tests 2022-05-24 13:58:30 -04:00
Cory Schwartz d2299dfbf8 backoff/reconnect loop 2022-05-24 10:24:37 -07:00
Aayush Rajasekaran c07c87c131 Merge pull request #8706 from filecoin-project/fix/8636
fix: vm: always set the root message in execution traces in the FVM
2022-05-24 12:55:37 -04:00
Aayush Rajasekaran eab4d4b464 Merge pull request #8683 from filecoin-project/fix/drop-fvm-nv14
feat: fvm: drop nv14 support from the FVM
2022-05-24 12:48:32 -04:00
Steven Allen 496799f867 build: set NetworkBundle in params file
Otherwise, we end up overriding the ldflags.

fixes #8684
2022-05-24 09:42:22 -07:00
Jiaying Wang 5e7f5029d8 Merge pull request #8677 from filecoin-project/jennijuju-patch-3
Update bundle.go
2022-05-24 12:40:59 -04:00
Łukasz Magiera 6f2c8d6f5f Merge pull request #8715 from filecoin-project/feat/miner-commp-cmd
feat: miner cli: sealing data-cid command
2022-05-24 18:09:26 +02:00
Łukasz Magiera b53db68bda fix lint 2022-05-24 16:22:52 +02:00
Łukasz Magiera df7709c2e2 cli docsgen 2022-05-24 16:01:54 +02:00
Łukasz Magiera 7054475c00 ffiwrapper: Handle null padding in DataCid automatically 2022-05-24 15:59:11 +02:00
Łukasz Magiera 3fa2ada987 support http in lotus-miner sealing data-cid 2022-05-24 15:47:49 +02:00
Łukasz Magiera 6095aba4dd lib: support http readers passing over jsonrpc 2022-05-24 15:47:23 +02:00
Łukasz Magiera bacaccc378 feat: miner cli: sealing data-cid command 2022-05-24 15:07:53 +02:00
Łukasz Magiera 4b1bfa9964 Merge pull request #8478 from filecoin-project/gstuart/replica-update-unseal
Snap Deals full unseal
2022-05-24 14:48:10 +02:00
Lim Kin Sang 3f0e5b3ff4 Merge branch 'filecoin-project:master' into master 2022-05-24 17:41:32 +08:00
Łukasz Magiera 70f3b98574 Fix config doc 2022-05-24 01:33:56 +02:00
Łukasz Magiera 8c081e271a itests: test TestWorkerPledgeLocalFin 2022-05-24 01:13:30 +02:00
Cory Schwartz 2b0d0ce224 fix itests 2022-05-23 14:59:57 -07:00
Łukasz Magiera 7612860d15 config: Storage.DisallowRemoteFinalize 2022-05-23 23:53:25 +02:00
Łukasz Magiera 8c6cba7a03 feat: sched: Finalize* move selectors 2022-05-23 23:36:26 +02:00
Łukasz Magiera b576008e87 sched: Strong preferrence in WorkerSelector 2022-05-23 23:28:55 +02:00
Łukasz Magiera 3de34ea3c0 Fix TestWorkerPledgeSpread in CI 2022-05-23 23:28:31 +02:00
Łukasz Magiera 58574554c1 itests: Test spread sched assigner 2022-05-23 22:31:06 +02:00
Łukasz Magiera f2c2993164 sched: Correct allocated resource accounting in spread assigner 2022-05-23 22:22:27 +02:00
Łukasz Magiera fd8b91a5d4 sched: Fix resource checks 2022-05-23 22:18:41 +02:00
Łukasz Magiera 16f434c790 config: Plumb Assigner config correctly 2022-05-23 22:02:39 +02:00
Łukasz Magiera 443488b096 lint, docsgen 2022-05-23 22:02:39 +02:00
Łukasz Magiera 5ba8bd3b99 sched: Configurable assigners 2022-05-23 22:02:39 +02:00
Łukasz Magiera 588b8ecbca sched: Separate WindowSelector func 2022-05-23 22:02:39 +02:00
Łukasz Magiera 9ac19cb14b feat: sealing: Put scheduler assign logic behind an interface 2022-05-23 22:02:39 +02:00
Łukasz Magiera b32e5e916b Merge pull request #8709 from filecoin-project/jen/butterfly
fix: deps: restore butterfly network genesis from v1.14.4
2022-05-23 21:49:31 +02:00
Łukasz Magiera 199f48d16a Merge pull request #8705 from filecoin-project/jen/libp2pbackpot
deps: libp2p: update to the latest golibp2p tag
2022-05-23 21:48:07 +02:00
Łukasz Magiera df98a2a089 Merge pull request #8704 from filecoin-project/jen/libp2p
deps: libp2p: update to the latest golibp2p tag
2022-05-23 21:46:34 +02:00
Travis Person cd5b6e30fa fix: deps: restore butterfly network genesis from v1.14.4 2022-05-23 15:20:07 -04:00
Jiaying Wang 8ee361c6c8 Merge pull request #8708 from filecoin-project/fix/butterflynet-genesis
fix: deps: restore butterfly network genesis from v1.14.4
2022-05-23 15:19:27 -04:00
Jennifer Wang 5cfedacf9f make jen 2022-05-23 15:11:46 -04:00
Cory Schwartz 7d55ab0734 make atomic 2022-05-23 12:04:13 -07:00
Travis Person f2d09b65cc fix: deps: restore butterfly network genesis from v1.14.4 2022-05-23 18:57:52 +00:00
Steven Allen 23239c0393 fix: vm: always set the root message in execution traces in the FVM
Even when disabled. This mimics the behavior or the lotus VM.
2022-05-23 11:23:17 -07:00
Cory Schwartz 0a7fbd0fce Merge remote-tracking branch 'origin/feat/health-endpoints' into feat/health-endpoints 2022-05-23 11:14:34 -07:00
Cory SchwartzandŁukasz Magiera b4852038a1 Update node/health.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-05-23 11:11:45 -07:00
Jennifer Wang d0c97e07f9 update to the latest golibp2p tag 2022-05-23 14:06:18 -04:00
Jennifer Wang 38bce53e18 update to the latest golibp2p tag 2022-05-23 14:02:50 -04:00
Łukasz Magiera 8998f6e0f1 Merge pull request #8646 from filecoin-project/jen/bumpmaster
build: version: bump the version to v1.15.4-rc1
2022-05-23 19:13:19 +02:00
Łukasz Magiera af1de800c8 Merge pull request #8490 from galargh/patch-1
ci: deps: Use testground-github-action from testground org
2022-05-23 19:12:12 +02:00
Łukasz Magiera dde36723da Merge pull request #8672 from filecoin-project/feat/worker-nodefault
feat: worker: lotus-worker run --no-default
2022-05-23 19:09:03 +02:00
Łukasz Magiera 2cea84dcce Merge pull request #8689 from filecoin-project/docs/commit-config
docs:sealing:fix default miner config comments
2022-05-23 19:04:37 +02:00
jennijuju dbe146b0c9 bump the version to v1.15.4-rc1 2022-05-23 19:02:26 +02:00
Łukasz Magiera abf8316eda worker: Less confusing usage on --no-default 2022-05-23 18:53:48 +02:00
Steven Allen f7c610ee23 feat: vm: drop nv14 support from the FVM
The next FVM version will only support nv15+.

This change also disables the FVM before nv15, even if enabled through
the environment variable. This allows "catching up" from before nv15.
2022-05-23 09:50:54 -07:00
Łukasz Magiera 389df95b00 config: Update batching comment in all the places 2022-05-23 18:49:01 +02:00
Aayush Rajasekaran e717d51069 Merge pull request #8702 from filecoin-project/chore/backport-raw-export-fix
fix: vm: support raw blocks in chain export
2022-05-23 12:48:49 -04:00
Steven Allen 89bca05a8d fix: vm: support raw blocks in chain export
We need this for NV16 to include code in chain snapshots.

NOTE: I've also checked the splitstore, and we appear to be doing the
right thing there already.
2022-05-23 09:45:56 -07:00
Łukasz Magiera 12599550c1 Merge pull request #8690 from filecoin-project/arajasek-patch-2
fix: verifreg: update deprecation log
2022-05-23 18:45:02 +02:00
Łukasz Magiera 8526118e3a Merge pull request #8691 from filecoin-project/fix/support-raw-export
fix: vm: support raw blocks in chain export
2022-05-23 18:43:48 +02:00
Łukasz Magiera 58055987a3 Merge pull request #8696 from swift-mx/mx_precommits_info
feat: precommits info
2022-05-23 18:41:43 +02:00
Łukasz Magiera c748b2bf9d Merge pull request #8637 from filecoin-project/gstuart/cli-compact-partitions
Implement cli command for compactPartitions
2022-05-23 18:36:41 +02:00
Cory Schwartz 45d15cb8ee handle error during liveness check 2022-05-23 09:29:11 -07:00
Łukasz Magiera d7bc0e8413 make docsgen-cli 2022-05-23 18:25:51 +02:00
Geoff Stuart 6216fae0f8 Implement cli command for compactPartitions 2022-05-23 18:23:02 +02:00
swift-mx 23f9ac4c3c Update cli-lotus-miner.md 2022-05-24 00:17:38 +08:00
swift-mxandŁukasz Magiera ae8f3d8fe2 Update cmd/lotus-miner/precommits-info.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-05-24 00:12:09 +08:00
swift-mxandŁukasz Magiera 0b3ee32ce4 Update cmd/lotus-miner/precommits-info.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-05-24 00:11:59 +08:00
swift-mx 3ea55333a8 fix: docsgen-cli 2022-05-23 14:28:47 +08:00
swift-mx ea282ea055 feat: precommits info 2022-05-23 12:54:00 +08:00
Cory Schwartz 444d0b1b8a add healthz and livez endpoints 2022-05-20 18:38:17 -07:00
Steven Allen f491e39f22 fix: vm: support raw blocks in chain export
We need this for NV16 to include code in chain snapshots.

NOTE: I've also checked the splitstore, and we appear to be doing the
right thing there already.
2022-05-20 18:56:30 -04:00
Aayush Rajasekaran a9b40c448b verifreg: fix deprecation log 2022-05-20 13:38:23 -04:00
Aayush Rajasekaran c3d91ddf80 Merge pull request #8687 from filecoin-project/raulk/integrate-fvm-m1-freeze
upgrade filecoin-ffi to integrate fvm 1.0.0-rc.1 and builtin-actors v7.5.0.
2022-05-20 12:14:08 -04:00
Aayush 6fecccdf26 Update builtin-actors to dev/20220520 2022-05-20 11:51:13 -04:00
zengroundumbass 7c37451f48 Fix inaccurate config comment 2022-05-20 11:09:55 -04:00
Cory Schwartz 44264dccba fix integration test 2022-05-20 03:48:10 -07:00
Cory Schwartz b30548376b connection rate limiting 2022-05-20 03:40:52 -07:00
Łukasz Magiera 8552cdb54c Merge pull request #8645 from LexLuthr/feat/dag-reg-shard
feat: dagstore: add dagstore register-shard command
2022-05-20 11:56:05 +02:00
unknown c4cfb7a296 scheduling optimization 2022-05-20 17:04:51 +08:00
Raúl Kripalani 40aafbaea6 upgrade filecoin-ffi to integrate fvm 1.0.0-rc.1 and builtin-actors v7.5.0. 2022-05-20 00:45:44 +01:00
Cory Schwartz c9d3652357 Merge branch 'master' into rate-limit-gateway 2022-05-19 14:25:36 -07:00
Geoff Stuart ca21235a4f Can now specify a range of partitions to make a bad proof for 2022-05-18 21:31:54 -04:00
Geoff Stuart e49a9b790b Implemented sendInvalidWindowPoStCmd for cli 2022-05-18 21:31:54 -04:00
Geoff Stuart 3c61b3d841 compact 2022-05-18 21:31:54 -04:00
Geoff Stuart 9be120a04e Reset interopnet take 5 2022-05-18 21:23:39 -04:00
Geoff Stuart c0a00f48ce Reset interopnet 2022-05-18 21:23:39 -04:00
Aayush d39b9a8d83 Makefile: also build lotus-fountain and lotus-stats on devnets 2022-05-18 17:31:13 -04:00
vyzo 811bb58c5a always load the bundle into the blockstore during the migration 2022-05-18 20:20:17 +03:00
vyzo a694bb898d remove stale TODO comment 2022-05-18 20:19:44 +03:00
vyzo 45392a2696 Merge pull request #8678 from filecoin-project/fix/nv16-bundle-key
[nv16] add the network name to the bundle key in the datastore
2022-05-18 19:58:53 +03:00
vyzo 91daae2e36 add the network name to the bundle key in the datastore 2022-05-18 19:14:11 +03:00
Jiaying Wang 23eee4b3df Update bundle.go 2022-05-18 11:54:23 -04:00
vyzo cd2a998980 Merge pull request #8675 from filecoin-project/jen/devnet
chore: bundle: make devnet get the right bundle
2022-05-18 18:38:38 +03:00
Jennifer Wang 125272a526 make devnet get the right bundle 2022-05-18 11:04:10 -04:00
Geoff Stuart e7b4242b1c reset interopnet 2022-05-18 10:17:48 -04:00
Łukasz Magiera effee8ce1f Merge pull request #8589 from filecoin-project/fix/sched-hang
stores: Deduplicate parallel stat requests
2022-05-18 14:35:16 +02:00
Łukasz Magiera 6b3bc8c9d2 feat: worker: lotus-worker run --no-default 2022-05-18 12:27:46 +02:00
Geoff Stuart 243d18d812 Merge pull request #8669 from filecoin-project/jen/inter
chore: network: update interop info
2022-05-17 23:49:00 -04:00
Jennifer Wang 67a7ed0ac5 upgrade to v16 sooner! 2022-05-17 23:48:06 -04:00
Jennifer Wang a7fb84ef3b update interop info 2022-05-17 23:35:49 -04:00
Aayush 3c2fcce2c3 fix: genesis: only sign preseal deals after v16 2022-05-17 18:42:43 -04:00
Aayush Rajasekaran f6805f2794 Merge pull request #8534 from filecoin-project/asr/refactor
Use new go-state-types state accessors
2022-05-17 16:04:32 -04:00
Aayush 3b23ba0520 Address review 2022-05-17 15:52:59 -04:00
Aayush b2b20e469f Fix tests 2022-05-17 15:21:27 -04:00
Aayush 8cca9b1970 Use new go-state-types accessors 2022-05-17 15:21:27 -04:00
vyzo ee11018780 Merge pull request #8658 from filecoin-project/feat/nv16-dev-bundle
[nv16] niceties for development bundle loading
2022-05-17 22:14:02 +03:00
vyzo 93417fca7d Merge pull request #8660 from filecoin-project/fix/issue-8659
[nv16] use network bundle names consistent with the network name
2022-05-17 22:13:02 +03:00
vyzo 86e1144b65 Merge pull request #8666 from filecoin-project/feat/nv16-flexibundle
[nv16] flexible bundle loading
2022-05-17 22:12:48 +03:00
vyzo dbbbab4f8a use dev bundle release 2022-05-17 22:01:38 +03:00
vyzo 31c8460116 fix typo 2022-05-17 21:47:01 +03:00
vyzo ccb2e44e36 make path/url be a map of network name to car uri 2022-05-17 21:45:17 +03:00
vyzo d949b6c8ef fix envvar handling 2022-05-17 21:14:49 +03:00
vyzo daf452a180 flexible bundle loading 2022-05-17 20:38:32 +03:00
vyzo e9ece8eb3f improve comment 2022-05-17 20:06:17 +03:00
vyzoandAayush Rajasekaran 5981495740 Update build/README-bundle.md
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-05-16 22:42:21 +03:00
vyzo 314b417446 use network bundle names consistent with the network name 2022-05-16 22:02:37 +03:00
vyzo 5c0c4d64e2 more storage blah 2022-05-16 21:52:34 +03:00
vyzo 31301e2b9d storage blah 2022-05-16 21:50:50 +03:00
vyzo 6360107d53 godocs for bundle struct 2022-05-16 21:48:12 +03:00
vyzo eee73eed59 use switch for release/path logic 2022-05-16 21:45:12 +03:00
vyzoandraulk 60bf397569 fix typo
Co-authored-by: raulk <raul@protocol.ai>
2022-05-16 21:39:22 +03:00
vyzoandraulk 06f6b2885a fix typo
Co-authored-by: raulk <raul@protocol.ai>
2022-05-16 21:39:08 +03:00
vyzoandraulk 5eccdaaab7 fix typo
Co-authored-by: raulk <raul@protocol.ai>
2022-05-16 21:38:43 +03:00
vyzoandraulk 221e7952ab fix typo
Co-authored-by: raulk <raul@protocol.ai>
2022-05-16 21:38:09 +03:00
vyzo 30283e60f5 add basic readme for bundle specifications 2022-05-16 21:13:58 +03:00
vyzo 46a85fc11e niceties for development bundle loading 2022-05-16 21:09:09 +03:00
vyzo b4be759b2c don't store dev bundle release keys in the datastore
This is a nicety for development, so that we always load a development bundle to avoid having
to give them distinct names etc. Just call you release "dev" or "dev.xxx..." and put the bundle
in `.lotus/builtin-actors/v8/dev/builting-actors-${network}.{car,sha256sum}` and it will be
unconditionally loaded.
2022-05-16 15:11:10 +03:00
Geoff Stuart 56d30d3e0c Update interopnet genesis car 2022-05-15 17:58:11 -04:00
Geoff Stuart 05c7d86d55 Reset caterpillar 2022-05-14 16:59:42 -04:00
Jiaying Wang e1dfccb542 Merge pull request #8649 from filecoin-project/jen/v153
build: version: release v1.15.3-rc1
2022-05-13 02:13:29 -04:00
Lim Kin Sang 409748595c Merge branch 'filecoin-project:master' into master 2022-05-13 14:06:19 +08:00
jennijuju 5d65d9f7c8 release v1.15.3-rc1 2022-05-13 02:03:38 -04:00
LexLuthr 8f71927cb7 add new command to docs 2022-05-13 01:18:03 +05:30
vyzo 8a8fb56bf4 Merge pull request #8642 from filecoin-project/feat/nv16-bundles
[nv16] dynamic loading of builtin actor bundles
2022-05-12 22:18:55 +03:00
vyzo 68b280b695 add comments in the DI bundle loader 2022-05-12 22:03:18 +03:00
LexLuthr 6115bd02f1 run make gen 2022-05-13 00:27:26 +05:30
LexLuthr 4326fc370b add the new subcommand 2022-05-13 00:02:17 +05:30
vyzo 30d339842e rename bundle.toml to bundles.toml 2022-05-12 21:14:03 +03:00
vyzo 515a2dba8f use embeded toml spec for actor bundles 2022-05-12 20:53:12 +03:00
vyzo 37b807278a fix lotus-seed 2022-05-12 17:25:23 +03:00
LexLuthr 7e492f23b1 add dagstore register-shard command 2022-05-12 19:46:53 +05:30
vyzo a803021eef add TODO about the bundle load cost 2022-05-12 16:48:31 +03:00
vyzo 14f597d391 pass NetworkBundle through ldflags 2022-05-12 16:44:42 +03:00
vyzo 7be42d9935 refactor to pass the network bundle name through ldflags from build 2022-05-12 16:42:59 +03:00
vyzo 70bf990294 LOTUS_PATH is the canonical way to get the repo path 2022-05-12 16:21:29 +03:00
vyzo 7b6f109401 add retry logic for bundle fetcher 2022-05-12 10:00:20 +03:00
vyzo 26d07fd987 move bundle fetcher to node/bundle instead of chain/actors 2022-05-12 09:51:08 +03:00
vyzo da8bda3248 fix typo 2022-05-12 09:47:27 +03:00
vyzo de9ee7b334 fix lint 2022-05-11 22:48:01 +03:00
vyzo 37d94a3c91 move cli bundle loading back to init 2022-05-11 22:45:25 +03:00
vyzo 98730b90a3 fix lint 2022-05-11 22:41:56 +03:00
vyzo 73f6402ade bundle fetcher script does not exist any more 2022-05-11 22:34:43 +03:00
vyzo 74f300290e dynamic loading of builtin actor bundles 2022-05-11 22:30:07 +03:00
Łukasz Magiera 33a05d33a9 Merge pull request #8622 from RobQuistNL/patch-7
fix: Make deal making logs much less noisy
2022-05-10 20:21:29 -04:00
Łukasz Magiera f0867a9615 Merge pull request #8629 from filecoin-project/arajasek-patch-2
fix: upgrades: correct error message for v16 migration
2022-05-10 20:19:28 -04:00
Łukasz Magiera 03f412404a Merge pull request #8638 from filecoin-project/asr/merge-releases
chore: merge releases back into master
2022-05-10 20:07:37 -04:00
Aayush Rajasekaran c69b579201 Merge branch 'releases' into asr/merge-releases 2022-05-10 20:02:01 -04:00
Łukasz Magiera 086908e535 stores: Cache disk usage results for a few seconds 2022-05-10 19:18:49 -04:00
Aayush Rajasekaran d6178993c2 Merge pull request #8635 from filecoin-project/asr/pubsub
fix: mpool: avoid deadlock on unsubscribe
2022-05-10 17:21:27 -04: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
Aayush Rajasekaran fbcd4c7a6f fix: upgrades: correct error message for v16 migration 2022-05-10 11:36:12 -04:00
raulk 1814187578 Merge pull request #8593 from filecoin-project/fix/nv16-gas-outputs 2022-05-10 14:15:55 +00:00
Raúl Kripalani 10d77f1f0c run gen. 2022-05-10 15:00:58 +01:00
Raúl Kripalani b4dae335e1 reinstantiate sealer test. 2022-05-10 14:46:12 +01:00
Raúl Kripalani 7ba14f706c Merge branch 'feat/nv16' into fix/nv16-gas-outputs 2022-05-10 14:40:32 +01:00
raulk 0a06445e82 Merge pull request #8628 from filecoin-project/feat/nv16-merge-v1.15.2 2022-05-10 13:39:08 +00:00
Raúl Kripalani 8218109045 set build version to 1.16.0-dev. 2022-05-10 14:38:44 +01:00
Raúl Kripalani e0a52da4f7 run gen. 2022-05-10 14:32:52 +01:00
Raúl Kripalani 830a9482e7 fix ffi version. 2022-05-10 14:23:45 +01:00
Raúl Kripalani c6c7d87a56 remove bad entries from .gitignore. 2022-05-10 14:17:50 +01:00
Raúl Kripalani 6050d04c7c Merge tag 'v1.15.2' into feat/nv16-merge-v1.15.2 2022-05-10 14:17:29 +01:00
frank add6d5d2d5 add new ledger address with index cmd 2022-05-10 17:02:06 +08:00
Raúl Kripalani 24e68feb59 update filecoin-ffi to 57accc2a83db1c84. 2022-05-09 23:48:47 +01:00
Rob Quist c057ce10d1 Make deal making logs much less noisy
For each upgrade-marked sector, for each deal, this "info" log comes along but its not really "info" imho
2022-05-09 22:13:09 +02:00
Jakub Sztandera e1a3ef4266 Merge pull request #8620 from filecoin-project/feat/upgrade-gas-est
Gas estimation: Overestimate based on (actor, method) tuples
2022-05-09 21:09:40 +02:00
Aayush Rajasekaran f22a0f9ec0 Merge pull request #8546 from simlecode/feat/state_network_params_api
feat: api: add StateGetNetworkParams api
2022-05-09 12:44:47 -04:00
Jakub Sztandera 5fb69281d8 Estimate gas across the upgrade with per message multipliers
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2022-05-09 17:08:13 +02:00
Łukasz Magiera b9750087ce Merge pull request #8545 from swift-mx/mx_dev
fix: update StatApplied when fvm apply message
2022-05-06 14:23:30 -04:00
Aayush Rajasekaran 8282484f65 Gas estimation: Overestimate by 2 around the M1 upgrade 2022-05-06 11:50:43 -04:00
Aayush Rajasekaran 26a780a198 Gas estimation: Refactor the special PayCh collect case 2022-05-06 11:42:26 -04:00
Jiaying Wang 518dc962ee Merge pull request #8612 from filecoin-project/release/v1.15.2
build: release: v1.15.2
2022-05-06 02:23:35 -04:00
Jiaying Wang abdaae7ece Merge pull request #8611 from filecoin-project/jen/1512
build: release: v1.15.2 prep
2022-05-06 02:04:49 -04:00
zenground0 f4931c6098 attempt to fix codecov 2022-05-06 02:00:03 -04:00
Travis Person 5efa364d50 fix: ci: build macos and linux assets on tagged releases 2022-05-06 01:59:57 -04:00
Jiaying Wang c1f1d3d093 Merge pull request #8597 from filecoin-project/fix/assert-build-on-tag
fix: ci: build macos and linux assets on tagged releases
2022-05-06 01:59:30 -04:00
Jennifer Wang 304fa02d59 v1.15.2 prep 2022-05-06 01:57:03 -04:00
Łukasz Magiera e75e864070 Merge pull request #8564 from RobQuistNL/patch-5
fix: Clean up vanilla proof fetching errors for proper display
2022-05-05 16:29:54 -04:00
Łukasz Magiera 3c9a8a42d9 more logs 2022-05-05 13:12:09 -04:00
Łukasz Magiera 3184eb9f4d Merge pull request #8604 from RobQuistNL/patch-6
fix: Make markets logger less noisy when doing retrievals
2022-05-05 11:31:24 -04:00
Rob Quist 767a53f8c3 Make markets logger less noise when doing retrievals
Logging each block causes a lot of useless information in the logs
2022-05-05 11:56:09 +02:00
simlecode 962e37e893 add StateGetNetworkParams api 2022-05-05 14:16:30 +08:00
Łukasz Magiera d8f1380ec9 Merge pull request #8601 from filecoin-project/gstuart/flaky-gateway-test
fix: test: Fix flaky TestGatewayWalletMsig
2022-05-04 17:12:45 -04:00
Łukasz Magiera 4fcc9a1b09 Merge pull request #8600 from filecoin-project/chore/codecov
chore:ci:make codecov quiet
2022-05-04 16:41:12 -04:00
zenground0 0b5e40f455 try another one 2022-05-04 16:09:10 -04:00
Aayush Rajasekaran 0de1b84f9a Merge pull request #8563 from filecoin-project/fix/lotus-wallet-version
fix: lotus-wallet: correct network in version
2022-05-04 15:54:45 -04:00
Geoff Stuart 23378f8710 Fix flaky test 2022-05-04 15:48:44 -04:00
zenground0 1740dcb90a try that 2022-05-04 15:45:55 -04:00
zenground0 b83824b28b attempt to fix codecov 2022-05-04 15:22:54 -04:00
zenground0 8ab23cbd5c try this 2022-05-04 15:14:49 -04:00
Geoff Stuart 27e99ff84f Merge pull request #8587 from filecoin-project/gstuart/cli-uniformity
chore: cli: Alias cli commands for uniformity
2022-05-04 13:21:17 -04:00
vyzo b5d3487ce6 update filecoin-ffi@fix/issue-523 2022-05-04 20:20:19 +03:00
vyzo de1df6b2fe update test-vectors 2022-05-04 20:19:07 +03:00
vyzo ca9ad49ba8 go mod tidy 2022-05-04 20:19:07 +03:00
vyzo a8f97b5849 kill test depending on ffi generated stuffs that no longer exist 2022-05-04 20:19:07 +03:00
vyzo 89418a5c34 propagate gas outputs in fvm ApplyRet 2022-05-04 20:19:07 +03:00
vyzo f9a5c17c5a update builtin-actors 2022-05-04 20:19:07 +03:00
vyzo b7ca80265c use filecoin-ffi@fix/issue-523 2022-05-04 20:19:07 +03:00
Steven Allen 78899be05d feat: vm: add actor error backtraces to FVM 2022-05-04 20:18:25 +03:00
Travis Person 85be0aad1b fix: ci: build macos and linux assets on tagged releases 2022-05-04 16:24:54 +00:00
vyzo 0b49f34e01 go mod 2022-05-04 15:46:25 +03:00
vyzo 65df0b81d9 dear linter, using xerrors is what we want to do. 2022-05-04 15:43:47 +03:00
Steven Allen c7fdfb00bb ci: fix linting 2022-05-04 15:38:15 +03:00
Steven Allen baef8c0c27 chore: update golang and go-ipfs
1. go 1.16.4 is not supported.
2. go-ipfs 0.4.22 is NOT SUPPORTED!
3. switch go cimg/go
4. Remove unnecessary CI dependencies.
2022-05-04 15:38:15 +03:00
Jiaying Wang cfe201450c Merge pull request #8588 from filecoin-project/jen/v11523
build: release: v1.15.2-rc3
2022-05-03 16:35:43 -04:00
Jiaying Wang 2478814e5a Merge pull request #8590 from filecoin-project/jen/gitignore
chore: .gitignore: ignore built in actor bundles
2022-05-03 16:31:18 -04:00
jennijuju 69db877335 update changelog 2022-05-03 15:56:08 -04:00
jennijuju 7184c9a529 add actor bundles to gitignore 2022-05-03 15:56:01 -04:00
Geoff Stuart 0869bea026 make gen 2022-05-03 15:55:34 -04:00
jennijuju abf4957e18 ignore built in actor bundles 2022-05-03 15:54:47 -04:00
Łukasz Magiera 1249809283 stores: Deduplicate parallel stat requests 2022-05-03 15:53:11 -04:00
Geoff Stuart 514c756570 Alias cli commands 2022-05-03 15:46:46 -04:00
jennijuju 7020892631 v1.15.3-rc3 prep 2022-05-03 15:46:43 -04:00
Aayush Rajasekaran 662f7526c9 Update to FFI with logger bump 2022-05-03 15:12:48 -04:00
Łukasz Magiera 8863bdbfc0 sealing: Finalize snap sectors before submitting proofs 2022-05-03 15:12:30 -04:00
Travis Person 704833cd29 ci: build-all and build-macos on all ci runs 2022-05-03 15:12:12 -04:00
Travis Person 19ec0ef25d ci: deps: remove install-deps for macos builds 2022-05-03 15:12:01 -04:00
Aayush Rajasekaran 7036636fcf Merge pull request #8555 from filecoin-project/fix/worker-proofs-snapdeals
fix: worker: Download proofs if PRU2 is enabled
2022-05-03 15:08:19 -04:00
Aayush Rajasekaran 57198a2fba Merge pull request #8581 from filecoin-project/fix/macos-build-deps
ci: deps: macos build deps
2022-05-03 15:06:07 -04:00
Łukasz Magiera 002bdbf03a Merge pull request #8586 from filecoin-project/chore/remove-todo
chore:chore:chore
2022-05-03 16:55:29 +01:00
zenground0 33f190c9ce Unneeded todo 2022-05-03 11:48:22 -04:00
Jiaying Wang 4cfc73e17e Merge pull request #8583 from filecoin-project/asr/1552bump
Update to FFI with logger bump
2022-05-03 10:02:34 -04:00
Jiaying Wang e793d7e128 Merge pull request #8582 from filecoin-project/fix/snap-fin-first
fix: sealing: Finalize snap sectors before submitting proofs
2022-05-03 10:01:19 -04:00
Aayush Rajasekaran 3702d4be27 Update to FFI with logger bump 2022-05-02 16:51:15 -04:00
Travis Person 415b506a85 ci: build-all and build-macos on all ci runs 2022-05-02 20:37:49 +00:00
Travis Person d6618c75a0 ci: deps: remove install-deps for macos builds 2022-05-02 20:37:49 +00:00
Łukasz Magiera 3ab625fa4c sealing: Finalize snap sectors before submitting proofs 2022-05-02 16:18:31 -04:00
Geoff Stuart b50f4a57f0 replica unseal with work with worker fetch over rpc 2022-05-02 15:34:45 -04:00
Aayush Rajasekaran 17e1fcb615 Merge pull request #8569 from filecoin-project/chore/reset-interopnet
Reset interopnet
2022-05-02 12:10:51 -04:00
jennijuju 94d9dee0dd update changelog 2022-05-02 11:33:46 -04:00
Cory Schwartz e679083714 spelling error 2022-05-02 08:30:56 -07:00
Cory Schwartz 35e114a3ea Merge branch 'master' into rate-limit-gateway 2022-05-02 08:29:38 -07:00
Jiaying Wang 8d0b28bda4 Merge pull request #8577 from filecoin-project/jen/logfix
deps: ffi: update ffi that includes the log fix
2022-05-02 11:24:56 -04:00
jennijuju 4d5e850aa9 update ffi that includes the log fix 2022-05-02 10:59:21 -04:00
Jiaying Wang ece51c5372 Merge pull request #8533 from filecoin-project/jen/v1522
chore: release: v1.15.2-rc2
2022-05-02 10:54:58 -04:00
Geoff Stuart 94ceb0355d local worker now returns typed error instead of string 2022-05-02 09:59:41 -04:00
Geoff Stuart 00015a21d4 Fix imports 2022-05-02 09:59:41 -04:00
Geoff Stuart f6b08af337 reorg import 2022-05-02 09:59:41 -04:00
Geoff StuartandŁukasz Magiera ebf5eb6e28 Update lib/rpcenc/reader.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-05-02 09:59:41 -04:00
Geoff Stuart 5030fd2589 Optimize sector key regeneration 2022-05-02 09:59:41 -04:00
Geoff Stuart 2134f165c0 Review fixes 2022-05-02 09:59:41 -04:00
Geoff Stuart 98637b357b Replica unseal working 2022-05-02 09:59:41 -04:00
Geoff Stuart b2a6d308ba Consolidate nullreader files 2022-05-02 09:59:41 -04:00
Travis Person f0673daaad Reset interopnet 2022-04-29 21:46:23 +00:00
Steven Allen 88f8c7d166 Merge pull request #8524 from filecoin-project/steb/error-backtrace
feat: vm: add actor error backtraces to FVM
2022-04-29 16:44:57 +02:00
Steven Allen 6c0c111847 feat: vm: add actor error backtraces to FVM 2022-04-28 19:58:19 +02:00
Łukasz Magiera f9a4a400da Merge pull request #8557 from filecoin-project/feat/worker-commp
sealing: DataCid on workers
2022-04-28 17:45:32 +02:00
Rob Quist 562d4e0f85 Clean up vanilla fetching errors for proper display
Results;
```
2  0  2374  good
2  0  2409  good
2  0  2282  bad (generating vanilla proof: non-200 code from http://10.224.3.83:1123/remote/vanilla/single: 'fsstat: path not found
')
2  0  2579  good
2  0  2338  good
```

This PR should change that to;
```
2  0  2374  good
2  0  2409  good
2  0  2282  bad (generating vanilla proof: non-200 code from http://10.224.3.83:1123/remote/vanilla/single: 'fsstat: path not found')
2  0  2579  good
2  0  2338  good
```
2022-04-28 14:49:46 +02:00
Łukasz Magiera 43436f7bc8 rpcenc: Fix double read at eof 2022-04-28 11:50:51 +02:00
Rjan 04bb539502 fix: lotus-wallet: correct network in version
Adding $(GOFLAGS) so that when compiling on calibnet, the correct network is shown, instead of showing just `mainnet`. Should address 2. in #8459
2022-04-28 10:10:29 +02:00
Cory Schwartz 5ec084a653 add test for the limit func 2022-04-28 00:45:34 -07:00
Łukasz Magiera 779e923854 sealing: ComputeDataCid review 2022-04-27 20:44:02 +02:00
vyzo 0295d22742 Merge pull request #8537 from filecoin-project/fix/nv16-testing-bundles
[nv16] testing bundles with fake proofs
2022-04-27 18:25:26 +03:00
vyzo f80d10f3be make docsgen 2022-04-27 17:57:05 +03:00
vyzo b29a182da7 fix docgen 2022-04-27 17:57:04 +03:00
vyzo 53ca3b64e1 normalize itest PrecommitChallengeDelay to 10, matching the test bundles 2022-04-27 17:57:04 +03:00
vyzo 31d193702b don't parse error messages, just check exit codes 2022-04-27 17:57:04 +03:00
vyzo 7c9ce49362 update bundles 2022-04-27 17:57:00 +03:00
Łukasz Magiera a2d90625d2 sealing: Fix tests 2022-04-26 21:43:24 +02:00
Łukasz Magiera d7c52f8adf sealing: ComputeDataCid miner API 2022-04-26 21:37:48 +02:00
jennijuju 48c54605ae release v1.15.2-rc2 2022-04-26 21:19:03 +02:00
Łukasz Magiera 1aed631fe5 sealing: DataCid on workers 2022-04-26 20:36:23 +02:00
vyzo 30ed272aa9 fetch testing-fwp bundle
use testing-fwp bundle when InsecurePostValidation is true

testing-fwp is testing-fake-proofs
2022-04-26 18:38:52 +03:00
Rjan a50a20b5a7 fix: worker: Download proofs if PRU2 is enabled
The lotus-worker does not check or download the params if Prove Replica Update tasks are enabled.
2022-04-26 09:10:38 +02:00
Phi-rjan 1162b02e60 Merge pull request #8528 from rjan90/ux/description-lotus-wallet
fix: ux: update `lotus-wallet run` description
2022-04-25 15:57:50 +02:00
Steven Allen 5b1800556b ci: fix linting 2022-04-25 14:13:16 +02:00
Phi-rjanandAayush Rajasekaran 825cdb8db9 Update cmd/lotus-wallet/main.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-04-25 08:56:34 +02:00
swift-mx 6c40d363f5 fix: update StatApplied when fvm apply message 2022-04-24 11:50:54 +08:00
jennijuju bd9e8c7663 update go version thats needed by the new libp2p 2022-04-23 22:20:07 +02:00
Aayush Rajasekaran 52d5d57460 Merge pull request #8540 from filecoin-project/fix/market-deal-api-pointer
fix: api: Make MarketListDeals and DealsList return pointers for MarketDeal
2022-04-23 11:55:22 -04:00
Travis Person ea4f599233 Make MarketListDeals and DealsList return points for MarketDeal 2022-04-22 23:26:29 +00:00
Aayush 3eb007776a Update actors 2022-04-22 11:40:59 -04:00
Jiaying Wang 2be9452ced Merge pull request #8526 from masih/idxprov-topic-by-netname
fix: market: Infer index provider topic from network name by default
2022-04-22 15:32:58 +02:00
vyzo efad692353 go mod tidy 2022-04-22 02:54:30 +02:00
vyzo 357da15e5c update go-libp2p@v0.19 2022-04-22 02:53:05 +02:00
vyzo cc328689e1 dear linter, using xerrors is what we want to do. 2022-04-22 02:51:15 +02:00
Masih H. Derkani d044e30e12 Infer index provider topic from network name by default
Index provider integration uses a gossipsub topic to announce changes to
the advertised content. The topic name was fixed to the default topic
which is `/indexer/ingest/mainnet`.

In the case of lotus, the gossipsub validators enforce a list of topics
the instance is permitted to join by setting subscription filter option
when `PubSub` instance is constructed via DI.

Having the fixed topic name meant that any SP starting up a node on a
network other than `mainnet` would have to override the default config
to avoid the node crashing when index provider is enabled.

Instead of a fixed default, the changes here infer the allowed indexer
topic name from network name automatically if the topic configuration is
left empty.

Fixes #8510
2022-04-22 02:46:05 +02:00
Jiaying Wang ff987e0b9d Merge pull request #8511 from filecoin-project/deps/update-libp2p
deps: update go-libp2p@v0.19
2022-04-22 02:44:45 +02:00
vyzo cc294496ab go mod tidy 2022-04-22 02:20:45 +02:00
vyzo ed0b4b0bfa update go-libp2p@v0.19 2022-04-22 02:20:45 +02:00
Aayush eb9aa039bb Set interop (caterpillarnet) params 2022-04-21 17:00:44 -04:00
Jiaying Wang bab500bec5 Merge pull request #8531 from filecoin-project/fix/lint
chore: fix lint issue
2022-04-21 13:24:13 -04:00
vyzo 1c8880ed2c dear linter, using xerrors is what we want to do. 2022-04-21 20:10:34 +03:00
vyzo bc32eec051 Merge pull request #8530 from filecoin-project/fix/nv16-itests-paych
NV16: fix paych
2022-04-21 20:05:03 +03:00
vyzo f017d43aae make gen 2022-04-21 19:19:20 +03:00
vyzo 0def6cb9e1 fix paymentch actor code ID for construction 2022-04-21 19:19:13 +03:00
Aayush Rajasekaran a7dc3f519b Merge pull request #8521 from filecoin-project/fix/itests-nv16
[nv16] improve itest situation and preload manifests in cli
2022-04-21 10:12:16 -04:00
Masih H. Derkani f273a440f0 Infer index provider topic from network name by default
Index provider integration uses a gossipsub topic to announce changes to
the advertised content. The topic name was fixed to the default topic
which is `/indexer/ingest/mainnet`.

In the case of lotus, the gossipsub validators enforce a list of topics
the instance is permitted to join by setting subscription filter option
when `PubSub` instance is constructed via DI.

Having the fixed topic name meant that any SP starting up a node on a
network other than `mainnet` would have to override the default config
to avoid the node crashing when index provider is enabled.

Instead of a fixed default, the changes here infer the allowed indexer
topic name from network name automatically if the topic configuration is
left empty.

Fixes #8510
2022-04-21 14:00:53 +01:00
Rjan 295bf03e4d fix: ux: update lotus-wallet run description
Update the `lotus-wallet run` to include that a `FULLNODE_API_INFO` env variable needs to be set before running
2022-04-21 14:21:09 +02:00
vyzo 270f962489 Merge pull request #8527 from filecoin-project/fix/itests-nv16-msig
fix multisig for nv16
2022-04-21 15:13:55 +03:00
vyzo 2d93697fe3 make gen 2022-04-21 15:09:58 +03:00
vyzo 688e8f3c09 fix multisig creation to not use the synthetic CIDs after v8 2022-04-21 15:09:49 +03:00
vyzo 090c655422 remove log spam 2022-04-21 14:18:21 +03:00
vyzo 75f00e92f5 improve concurrency story of manifest state 2022-04-21 13:53:30 +03:00
vyzo 1366901ded preload manifest in cli 2022-04-21 13:26:22 +03:00
vyzo 8ea00a3fc0 update builtin-actors bundle 2022-04-21 13:21:24 +03:00
Cory Schwartz 9fd3f3f73a fix itests 2022-04-20 20:51:15 -07:00
Cory Schwartz 30559a0d78 lint 2022-04-20 20:46:32 -07:00
Cory Schwartz c2b7ffbae5 fix test 2022-04-20 20:33:37 -07:00
Cory Schwartz 9bf9843ff6 add metrics 2022-04-20 19:48:41 -07:00
Jakub Sztandera 48ffb15901 Merge pull request #8512 from filecoin-project/ci/update-go
chore: ci: update golang and go-ipfs
2022-04-20 13:18:13 +02:00
Steven Allen e0d2b9526e ci: fix linting 2022-04-20 12:06:28 +02:00
Steven Allen 5f5bd31f58 chore: update golang and go-ipfs
1. go 1.16.4 is not supported.
2. go-ipfs 0.4.22 is NOT SUPPORTED!
3. switch go cimg/go
4. Remove unnecessary CI dependencies.
2022-04-20 12:06:25 +02:00
vyzo 5ceaeafa6e fix TODO for proof type, now that we have the testing bundle 2022-04-20 12:47:06 +03:00
Cory Schwartz 9558e9f0ee respond early 2022-04-19 19:21:27 -07:00
Cory Schwartz fc42d03ea4 Add rate limiting to the lotus gateway 2022-04-19 18:35:19 -07:00
Aayush b60d795a5d FVM: Support exectraces 2022-04-19 18:05:49 -04:00
Aayush Rajasekaran 2410cf3d84 Merge pull request #8514 from filecoin-project/asr/exec-trace
feat: FVM: Support exectraces
2022-04-19 18:03:25 -04:00
Aayush 36a8d9716e FVM: Support exectraces 2022-04-19 15:24:40 -04:00
raulk 3e5037d196 Merge pull request #8509 from filecoin-project/feat/actor-bundles 2022-04-19 16:18:54 +00:00
vyzo 34dfc78f57 only check hash if we have the file 2022-04-19 19:12:25 +03:00
vyzo 042601129d fix lotus-seed 2022-04-19 18:39:55 +03:00
Geoff Stuart a3a3fefb1c Merge pull request #8486 from filecoin-project/gstuart/robust-address-endpoint
Feat: API: Implement StateLookupRobustAddress
2022-04-19 11:37:23 -04:00
vyzo 942f05ad6a set LOTUS_SRC_DIR for tests in CI 2022-04-19 18:30:04 +03:00
vyzo adaa02fd26 load testing bundles for tests 2022-04-19 17:33:20 +03:00
vyzo eb7fc47290 update CI workflow for bundle fetching 2022-04-19 15:38:14 +03:00
vyzo 7e1c55cdf9 use build tags to embed appropriate bundles 2022-04-19 15:20:40 +03:00
vyzo 995caaaace update filecoin-ffi 2022-04-19 15:02:14 +03:00
vyzo 959b62a2df new bundle fetcher 2022-04-19 14:42:53 +03:00
Łukasz Magiera eb894b0dd2 Merge pull request #8475 from filecoin-project/fix/deal-idx-oob
fix:sealing:check index out of bounds against correct param length not return length
2022-04-18 18:56:23 +02:00
Łukasz Magiera 1922e76349 Merge pull request #8495 from 1475-IPFS/new-bootstrapper
add 1475 bootstrapper
2022-04-18 13:23:46 +02:00
Łukasz Magiera d1fd3f56a7 Merge pull request #8429 from filecoin-project/vyzo/fip-0031
FIP0031 refinements
2022-04-15 20:08:17 +02:00
vyzo e2e2cd87ff rename patchStateTree to patchManifestCodeCids 2022-04-15 20:18:41 +03:00
vyzo beb3369c76 add LoadManifestFromBundle, use it in miner init 2022-04-15 20:15:28 +03:00
Łukasz Magiera 4bd039902c Merge pull request #8494 from filecoin-project/gstuart/bump-xtools
Bump version for xtools
2022-04-15 17:23:06 +02:00
lifei 77615e9583 add 1475 bootstrapper 2022-04-15 12:38:07 +08:00
Geoff Stuart 49d6c07280 Implemented StateLoockupRobustAddress 2022-04-14 17:41:18 -04:00
Geoff Stuart 0db46dfeaa Bump version for xtools 2022-04-14 17:26:08 -04:00
vyzo 534e43e1d3 fix lotus-shed 2022-04-14 20:10:51 +03:00
vyzo c5e3ca3855 fix more rebase issues 2022-04-14 19:52:58 +03:00
vyzo cede67bfdd make gen 2022-04-14 19:49:23 +03:00
vyzo 2690b69831 fix rebase issues 2022-04-14 19:49:08 +03:00
vyzo 1866eebe06 go mod tidy 2022-04-14 19:35:09 +03:00
vyzo 65de3e7f6c add retries to curl when fetching bundles 2022-04-14 19:34:40 +03:00
vyzo 1c1d8e0626 update specs-actors/v8@master 2022-04-14 19:34:40 +03:00
Raúl Kripalani 30ed847531 make fetch-bundles.sh portable. 2022-04-14 19:34:26 +03:00
vyzo 6bd2d89e30 use memory blockstore for miner manifest loading 2022-04-14 19:34:26 +03:00
vyzo 507b835a9c need a blockstore for the manifest loader 2022-04-14 19:34:26 +03:00
vyzo 395c772222 make the miner load the manifest so that it can correctly map actors 2022-04-14 19:34:26 +03:00
vyzo 07e4024e3b fix lint 2022-04-14 19:33:24 +03:00
vyzo f28bd054ef fix rand_test 2022-04-14 19:33:24 +03:00
vyzo 5f62227f53 fix sync_test 2022-04-14 19:33:24 +03:00
vyzo dec2b312af fix lint 2022-04-14 19:33:24 +03:00
vyzo 3b1964c507 remove manifest from upgrade schedule, get it inside the migration instead 2022-04-14 19:33:24 +03:00
vyzo 0ac8708396 simplify fetch-bundles script 2022-04-14 19:33:24 +03:00
vyzo 93f1fac76b simplify DI -- no need for the special key for builtin actor loading 2022-04-14 19:33:24 +03:00
vyzo 1f7c89d5d8 make gen 2022-04-14 19:33:24 +03:00
vyzo 1643ec4fe9 less wonky market/state.go.template 2022-04-14 19:33:24 +03:00
vyzo 508c06092d remove unnecessary isv8 state boolean from agen 2022-04-14 19:33:24 +03:00
vyzo 54f312139f removed dead code from builtin actor template init funcs 2022-04-14 19:33:24 +03:00
vyzo 19593eda3b fix forks_test 2022-04-14 19:33:24 +03:00
vyzo cd5829ae42 update specs-actors 2022-04-14 19:33:23 +03:00
zenground0 8562798940 Use go-fil-markets tag 2022-04-14 19:32:56 +03:00
zenground0 0f6da17cd1 Lint 2022-04-14 19:32:56 +03:00
zenground0 60d09579be More fixes 2022-04-14 19:32:56 +03:00
zenground0 7163fe61a0 Post rebase fix 2022-04-14 19:32:56 +03:00
zenground0 124fe26492 WIP annoying errors 2022-04-14 19:32:56 +03:00
Aayush 339b7db2b7 Integrate FIP 0027 2022-04-14 19:32:56 +03:00
vyzo 77613b57a9 fix lint 2022-04-14 19:31:34 +03:00
vyzo c35e7691bd fix conformance driver 2022-04-14 19:31:34 +03:00
vyzo 12554baed4 fix forks_test 2022-04-14 19:31:34 +03:00
vyzo 73e7c42b7e mark TODO for fixing policy stuffs in test 2022-04-14 19:31:34 +03:00
vyzo 2c9ea8c46b fix test 2022-04-14 19:31:34 +03:00
vyzo fcf69e7b82 register mapping for methods using the real code cid 2022-04-14 19:31:14 +03:00
vyzo 5d6e9ec65b patch genesis state tree to get the right code IDs 2022-04-14 19:31:14 +03:00
vyzo 752ce9e590 make tests work 2022-04-14 19:31:14 +03:00
vyzo e8b902b42f initialize system actor for nv16 at genesis 2022-04-14 19:31:14 +03:00
vyzo 9ee57937b4 make gen 2022-04-14 19:31:14 +03:00
vyzo 8f121ab0ec patch agen to deal with v8 deal proposals 2022-04-14 19:31:14 +03:00
vyzo 45a65c5d9e update specs-actors 2022-04-14 19:31:14 +03:00
vyzo 36cb76a322 genesis depends on actor bundle 2022-04-14 19:30:47 +03:00
vyzo 3e72a088df fix rand_test 2022-04-14 19:30:47 +03:00
vyzo aba27d930b make gen 2022-04-14 19:30:47 +03:00
vyzo 44e42bfec8 fix sync_test 2022-04-14 19:30:47 +03:00
vyzo 1dbfb3bea9 fetch builtin actor bundles as part of prepare workflow 2022-04-14 19:30:47 +03:00
vyzo c9ac0020d7 make gateway a variable 2022-04-14 19:30:47 +03:00
vyzo 71913521f9 fix itest migrations 2022-04-14 19:30:47 +03:00
vyzo a375d532f6 add make rules to fetch actor bundles 2022-04-14 19:30:47 +03:00
vyzo 34022f3844 add script to fetch bundles 2022-04-14 19:30:47 +03:00
vyzo ad00d5987d gitignore actor bundles 2022-04-14 19:30:47 +03:00
vyzo a8547ed840 make manifest cid access thread-safe 2022-04-14 19:30:47 +03:00
vyzo ddede202a8 update fvm construction 2022-04-14 19:29:59 +03:00
vyzo 10b07ecd20 update filecoin-ffi 2022-04-14 19:29:34 +03:00
vyzo 17d72f02a1 use a sync.Once for manifest loading to avoid interference from parallel test runs 2022-04-14 19:29:22 +03:00
vyzo 5e3112fa95 introduce a marker type for builtin actor loading to make DI work 2022-04-14 19:29:22 +03:00
vyzo f26d19ed7d load actor bundle at startup and initialize the manifest CID from the loaded file 2022-04-14 19:29:22 +03:00
vyzo c3fb3301ab embed actors v8 bundle 2022-04-14 19:29:22 +03:00
vyzo 7712fc044e rerun agen to gofmt 2022-04-14 19:29:22 +03:00
vyzo efa57bbd1f make agen gofmt 2022-04-14 19:29:22 +03:00
vyzo cdd5420e0c agen 2022-04-14 19:29:22 +03:00
vyzo 770608aef1 update templates for actor shims 2022-04-14 19:29:22 +03:00
vyzo 08a5950863 actor manifests and metadata 2022-04-14 19:29:22 +03:00
vyzo a9ae38a1ce wire in nv16 migration signature and manifests 2022-04-14 19:29:22 +03:00
vyzo 13a4602806 gomod: update specs-actors@v8 2022-04-14 19:29:06 +03:00
Aayush 3370847f3e Implement FIP-0031 2022-04-14 19:28:16 +03:00
Łukasz Magiera 06f8637485 Merge pull request #8481 from filecoin-project/fix/snap-fsoverhead
fix: storiface: Make FSOverhead numbers more accurate
2022-04-14 15:36:19 +02:00
Piotr Galar 9277c2d68d Use testground-github-action from testground org 2022-04-14 13:45:55 +02:00
zenground0 5bdcc7d7e0 make gen 2022-04-13 22:16:05 -04:00
zenground0 db5082552d Fix sorting bug to deflake test 2022-04-13 22:06:38 -04:00
Jiaying Wang dcf6f64143 Merge pull request #8482 from filecoin-project/jen/11521
build: release: v1.15.2-rc1
2022-04-13 19:29:24 +02:00
jennijuju 372dd2ced9 v1.15.2-rc1 2022-04-13 19:11:02 +02:00
Łukasz Magiera 0c8828514e Merge pull request #8480 from Icarus9913/fix/indexProvider-comments
fix: node: fix comment for IndexProvider
2022-04-13 12:01:33 +02:00
Łukasz Magiera 0a4b49d3b3 fix: storiface: Make FSOverhead numbers more accurate 2022-04-13 11:59:48 +02:00
Łukasz Magiera 84470e9c64 Merge pull request #8442 from rjan90/ux/soft-delete-wallet
ux: wallet: update delete usage
2022-04-13 11:51:09 +02:00
Łukasz Magiera 88142d246c Merge pull request #8479 from filecoin-project/asr/expired-cutoff
Fail to add expired precommits to a batch
2022-04-13 11:44:31 +02:00
Icarus9913 98c861e3c9 fix the IndexProviderConfig comment 2022-04-13 17:44:06 +08:00
Aayush Rajasekaran 42a79d52a2 Fail to add expired precommits to a batch 2022-04-12 23:41:52 -04:00
zenground0 563dc8e59a Fix up tests 2022-04-12 18:31:31 -04:00
Jiaying Wang 02a6176bd0 Merge pull request #8477 from filecoin-project/fix/disable-kvlog
chore: config: default-disable kvlog
2022-04-13 00:03:11 +02:00
Łukasz Magiera cc7055774d chore: config: default-disable kvlog 2022-04-12 23:17:13 +02:00
zenground0 d540f7af72 Fix typo 2022-04-12 15:41:56 -04:00
zenground0 239274cb1d Properly handle output index 2022-04-12 15:34:45 -04:00
zenground0 fe6c25353c Fix assumptions about return value 2022-04-12 14:46:01 -04:00
Jiaying Wang aca9496437 Merge pull request #8473 from filecoin-project/jen/bumpmaster
chore: version: bump the version to v1.15.3-dev
2022-04-12 17:36:07 +02:00
Jiaying Wang ce3c6472fb Merge pull request #8470 from filecoin-project/feat/enable-rcmgr-by-default
enable rcmgr by default
2022-04-12 16:12:03 +02:00
jennijuju 787bcef130 bump the version to v1.15.3 2022-04-12 15:53:45 +02:00
Łukasz Magiera cf92776c64 Merge pull request #8468 from filecoin-project/jen/mergeback
chore: merge releases back to master
2022-04-12 15:41:36 +02:00
Jiaying WangandŁukasz Magiera 1fc94e33b2 Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
fix merge error
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-04-12 15:29:54 +02:00
jennijuju 137f494619 tidy and gen 2022-04-12 13:53:03 +02:00
Łukasz Magiera df7e2a884b Merge pull request #8469 from filecoin-project/update-libp2p-rcmgr-optout
Update libp2p to v0.18.1
2022-04-12 12:02:24 +02:00
Łukasz Magiera ac57797904 Merge pull request #8464 from filecoin-project/feat/getask-protos
feat: cli: lotus client list-asks --protocols
2022-04-12 10:47:52 +02:00
vyzo 3c8aa18f70 enabled rcmgr by default; disable with LOTUS_RCMGR=0 2022-04-12 11:32:37 +03:00
vyzo 0f4019cbb7 update go-libp2p@v0.18.1 2022-04-12 11:30:24 +03:00
Rjan c3f2f12cb2 Revert soft-delete cmd
Revert `soft-delete` cmd back to `delete`. Keeps the updated usage
2022-04-12 08:31:54 +02:00
Aayush Rajasekaran 656a33863f Fixup merge 2022-04-11 20:45:13 -04:00
jennijuju 0dcad9cc18 Merge branch 'releases' into jen/mergeback 2022-04-12 01:25:02 +02:00
Łukasz Magiera 6bef1aeb82 feat: cli: lotus client list-asks --protocols 2022-04-11 19:49:52 +02:00
Łukasz Magiera 3cd563622e Merge pull request #8439 from filecoin-project/revert-appimage-removal
Revert appimage removal
2022-04-11 19:24:36 +02:00
Łukasz Magiera 66f88773c0 Merge pull request #8461 from filecoin-project/fix/release-unseal-nosnap-panic
sealing: Don't panic in ReleaseUnsealed with no ranges
2022-04-09 21:40:35 +02:00
Łukasz Magiera 3ecb1fd5d9 sealing: Don't panic in ReleaseUnsealed with no ranges 2022-04-09 20:58:47 +02:00
Łukasz Magiera 7900479e9c Merge pull request #8447 from filecoin-project/feat/sched-better
feat: sched: Improve worker assigning logic
2022-04-09 20:50:31 +02:00
BMZ 73203f6ebe Update README.md
find the link is fault, modify https://docs.filecoin.io/get-started/lotus to https://lotus.filecoin.io
2022-04-08 17:36:32 +08:00
Jiaying Wang 731da455d4 Merge pull request #8457 from filecoin-project/release/v1.15.1
build: release: v1.15.1
2022-04-07 18:14:15 -04:00
Aayush Rajasekaran b5791d4442 Merge pull request #8456 from filecoin-project/jen/v1.15.1
chore: release: v1.15.1 prep
2022-04-07 18:04:15 -04:00
Jennifer Wang af7e301867 bump the version to v1.15.1 2022-04-07 17:40:58 -04:00
Jennifer Wang 681c255bc5 update changelog 2022-04-07 17:40:47 -04:00
Jiaying Wang 8a30448fa7 Merge pull request #8455 from filecoin-project/jen/v1516prep
build: release: v1.15.1-rc6
2022-04-07 14:52:20 -04:00
Jennifer Wang fa6389a7e7 add missing item to changelog 2022-04-07 14:43:38 -04:00
Jennifer Wang 0c099dfbd0 bump the version to v1.15.1-rc6 2022-04-07 14:10:01 -04:00
Jennifer Wang fd40280300 update changelog 2022-04-07 14:08:36 -04:00
Jiaying Wang 5a48c3a921 Merge pull request #8451 from filecoin-project/jen/v1516
chore: backport: #8443 #8444 #8446
2022-04-07 13:27:17 -04:00
Aayush Rajasekaran 68b6190c12 Merge pull request #8453 from filecoin-project/asr/backport
fix: FVM: add finality check for consensus faults
2022-04-07 13:16:47 -04:00
Łukasz Magiera e2f4c70b70 Merge pull request #8452 from filecoin-project/asr/fvm-consensus-fault
fix: FVM: add finality check for consensus faults
2022-04-07 13:07:40 -04:00
Aayush 7518854625 fix: FVM: add finality check for consensus faults 2022-04-07 12:27:33 -04:00
Aayush d1c0b8b0c9 fix: FVM: add finality check for consensus faults 2022-04-07 12:22:07 -04:00
Masih H. Derkani 0a2429b467 Fix DI of PubSub in markets by binding dependencies it needs
Bind drand and bootstrap peers config so that `PubSub` instantiated by
`ConfigCommon` has all the dependencies it needs when `PubSub` instance
is needed in markets. In ths case, the instance is needed by the index
provider engine to announce new indexing advertisements.
2022-04-07 11:06:29 -04:00
Masih H. Derkani e37c54f38e Reuse the market process PubSub instance in index provider engine
The markets process instantiates its own `PubSub` instance with all
validators, peer scoring, etc. set up. Use that instane to join the
indexing topic, otherwise the default topic instantiated by
index-provider internally (via go-legs) has no validators.
2022-04-07 11:06:23 -04:00
Masih H. Derkani 4043923e56 Set index provider options based on lotus config
Always set index provider options based on the lotus configuration.
Otherwise, they will have no effect.
2022-04-07 11:05:09 -04:00
Cory Schwartz 76c10807d6 disable publish-packer 2022-04-07 11:04:45 -04:00
Łukasz Magiera 20698a7843 Merge pull request #8446 from filecoin-project/disable-publish-packer
chore: ci: disable publish-packer
2022-04-07 10:44:13 -04:00
Cory Schwartz a4c24985e8 disable publish-packer 2022-04-07 10:32:15 -04:00
Łukasz Magiera b26ac2bd0e Merge pull request #8450 from filecoin-project/fix/testkit-rpc-shutdown
testkit: give up on waiting for the RPC server to shutdown after 1s
2022-04-07 08:06:46 -04:00
dirkmcandAnton Evangelatov c34ade9ffb Update itests/kit/rpc.go
Co-authored-by: Anton Evangelatov <anton.evangelatov@gmail.com>
2022-04-07 13:32:00 +02:00
Dirk McCormick 5f0489ace0 fix: testkit: give up on waiting for the RPC server to shutdown after 1 second 2022-04-07 12:22:36 +02:00
Rjan 96ee416b96 Fix TestWalletDelete-test
Change from `delete` to `soft-delete` in the TestWalleteDelete test.
2022-04-07 10:25:49 +02:00
Łukasz Magiera 80133aaa79 feat: sched: Improve worker assigning logic 2022-04-06 18:24:14 -04:00
Łukasz Magiera 6de4e3d4cd feat: sched: Cache worker tasks 2022-04-06 18:24:14 -04:00
Łukasz Magiera f652dd3436 Merge pull request #8441 from filecoin-project/frrist/observer-deregister
chore: events: implement event observer deregister method
2022-04-06 18:22:41 -04:00
Łukasz Magiera 9f98d0ae4a Merge pull request #8443 from filecoin-project/masih/idxprov-reuse-pubsub
fix: market: Reuse the market `PubSub` in index provider
2022-04-06 17:51:46 -04:00
Masih H. Derkani f369d99138 Fix DI of PubSub in markets by binding dependencies it needs
Bind drand and bootstrap peers config so that `PubSub` instantiated by
`ConfigCommon` has all the dependencies it needs when `PubSub` instance
is needed in markets. In ths case, the instance is needed by the index
provider engine to announce new indexing advertisements.
2022-04-06 20:04:39 +01:00
Masih H. Derkani 7e7e88e330 Reuse the market process PubSub instance in index provider engine
The markets process instantiates its own `PubSub` instance with all
validators, peer scoring, etc. set up. Use that instane to join the
indexing topic, otherwise the default topic instantiated by
index-provider internally (via go-legs) has no validators.
2022-04-06 19:39:12 +01:00
frrist 20bf46f309 chore: events: implement event observer deregister method 2022-04-06 11:01:18 -07:00
Łukasz Magiera f378c6d3ee Merge pull request #8444 from filecoin-project/masih/fix-idxprov-config
fix: market: set all index provider options based on lotus config
2022-04-06 11:59:37 -04:00
Masih H. Derkani b88307f875 Set index provider options based on lotus config
Always set index provider options based on the lotus configuration.
Otherwise, they will have no effect.
2022-04-06 16:08:10 +01:00
Rjan 255ff1a4b7 ux: wallet: soft-delete wallet
Renaming the function to soft-delete to better reflect what it does - and specify that a hard deletion is needed for permanent removal.
2022-04-06 10:23:03 +02:00
Łukasz Magiera 696659d6bc Merge pull request #8437 from filecoin-project/fix/fvm-aarch64-build
chore: ffi: update the FFI to fix the aarch64 build
2022-04-05 21:56:08 -04:00
Łukasz Magiera 8a16e1ca7d Merge pull request #8440 from filecoin-project/chore/update-fvm
chore: ffi: update the FFI to update the FVM
2022-04-05 21:36:42 -04:00
Steven Allen 39dee1410b chore: ffi: update the FFI to update the FVM
This fixes the build on aarch64.
2022-04-05 21:25:00 -04:00
Cory Schwartz c715254d54 Revert "stop publishing appimagine since its disabled by #7707"
This reverts commit 6b0868089b.
2022-04-05 17:26:44 -07:00
Cory Schwartz d1f3ab5dec Revert "remove from the bundlde"
This reverts commit 7d65a2664d.
2022-04-05 17:26:39 -07:00
Łukasz Magiera 0fa74a7712 Merge pull request #8438 from filecoin-project/fix/release-unseal-snap-abort
fix: sealing: Release unsealed sector files after snapdeals abort
2022-04-05 18:26:20 -04:00
Steven Allen e69cc545b3 chore: ffi: update to fix build on aarch64 2022-04-05 17:59:30 -04:00
Łukasz Magiera 68f3e4483f fix: sealing: Release unsealed sector files after snapdeals abort 2022-04-05 16:45:07 -04:00
Łukasz Magiera e1ef1b759e Merge pull request #8206 from firesWu/fix/optimize-worker-tracker-lock
release worker tracker lock when call cb func
2022-04-05 12:53:09 -04:00
Łukasz Magiera 1bd0f55945 Merge pull request #8425 from filecoin-project/fix/market-node-startup
fix: node: Fix market node startup
2022-04-03 14:55:19 -04:00
Łukasz Magiera a40381a700 Merge pull request #8426 from filecoin-project/feat/multi-vlog2car
feat: shed: Multi-file vlog2car
2022-04-02 18:00:21 -04:00
Łukasz Magiera 9a34f5803c feat: shed: Multi-file vlog2car 2022-04-02 13:25:14 -04:00
Jiaying Wang 913478b21e Merge pull request #8421 from filecoin-project/jen/v1515
build: release: v1.15.1-rc5
2022-04-01 17:57:21 -04:00
Łukasz Magiera 2b3fad1261 fix: node: Fix market node startup 2022-04-01 17:32:55 -04:00
Jennifer Wang bba2ee92bd update dockerfile 2022-04-01 17:08:27 -04:00
Jennifer Wang c4aece4ab4 pull ffi that includes the latest fvm 2022-04-01 17:02:32 -04:00
Jiaying Wang e74e56947b Merge pull request #8424 from filecoin-project/jen/ffibump
deps: ffi: pull ffi that includes the latest fvm
2022-04-01 17:01:49 -04:00
Jennifer Wang ce0b8149e9 pull ffi that includes the latest fvm 2022-04-01 15:58:15 -04:00
Jennifer Wang 5915d4ac6a fix ci 2022-04-01 15:31:10 -04:00
Aayush Rajasekaran 940505569c Merge pull request #8422 from filecoin-project/asr/log
Update to go-log 2.5.1
2022-04-01 09:41:26 -04:00
Aayush Rajasekaran 8c46d00ee7 Update to go-log 2.5.1 2022-04-01 01:13:55 -04:00
Cory Schwartz cc57f732d2 fix template 2022-04-01 00:07:48 -04:00
Cory Schwartz f410da2a0a restore filters 2022-04-01 00:07:28 -04:00
Cory Schwartz cb39ce66bc add packer executor 2022-04-01 00:07:10 -04:00
Cory Schwartz eb0d52a249 copy packer_build source 2022-04-01 00:05:27 -04:00
Cory Schwartz 2804c2ca99 tmp: remove filters 2022-04-01 00:05:23 -04:00
Cory Schwartz 71614bd639 add debug 2022-04-01 00:05:19 -04:00
Cory Schwartz 78187ab8d1 fix template 2022-04-01 00:05:10 -04:00
Cory Schwartz 6b4cc44060 fix template 2022-04-01 00:05:06 -04:00
Cory Schwartz 61742f5d5a restore filters 2022-04-01 00:05:02 -04:00
Cory Schwartz c330641866 use 1.8 2022-04-01 00:04:58 -04:00
Cory Schwartz 33019ee496 add packer executor 2022-04-01 00:04:53 -04:00
Cory Schwartz b40b7cc40e copy packer_build source 2022-04-01 00:04:38 -04:00
Cory Schwartz 17bcf91910 tmp: remove filters 2022-04-01 00:04:29 -04:00
Cory Schwartz f04b5f2963 add debug 2022-04-01 00:04:23 -04:00
Jennifer Wang 6ff99568cf pull the latest ffi 2022-03-31 23:52:08 -04:00
Jennifer Wang 0a220a3efb update the changelog 2022-03-31 23:51:57 -04:00
Jennifer Wang 0bc3e26090 bump the version to v1.15.1-rc5 2022-03-31 23:13:35 -04:00
Łukasz Magiera 257bc70c2e fix lotus-sim build 2022-03-31 23:08:05 -04:00
koalacxr 6c1651cb3d modify quantile imports error 2022-03-31 23:08:00 -04:00
zl 01efb3b1a7 fix: dead loop on removing a sector 2022-03-31 23:06:54 -04:00
Łukasz Magiera 2ad3a117f1 fix: sealing: Fix PR1 worker selection 2022-03-31 23:06:17 -04:00
Łukasz Magiera e19c5bfcd7 Merge pull request #8413 from filecoin-project/packer-publish-copy-orb
Packer publish copy orb
2022-03-31 18:45:40 -04:00
Łukasz Magiera f9ae5c0cb3 Merge pull request #8420 from filecoin-project/fix/8226
fix: sealing: Fix PR1 worker selection
2022-03-31 17:52:45 -04:00
Łukasz Magiera ac82366b9e fix: sealing: Fix PR1 worker selection 2022-03-31 17:01:33 -04:00
Cory Schwartz b493855195 fix template 2022-03-30 23:10:17 -07:00
Cory Schwartz 4bb8865e2f fix template 2022-03-30 22:57:02 -07:00
Cory Schwartz 9c25aea327 restore filters 2022-03-30 22:53:57 -07:00
Cory Schwartz cc5e96b23f use 1.8 2022-03-30 22:35:20 -07:00
Cory Schwartz 0095d93686 add packer executor 2022-03-30 22:30:17 -07:00
Cory Schwartz 1da3e2c711 copy packer_build source 2022-03-30 22:27:18 -07:00
Cory Schwartz 73468e706e tmp: remove filters 2022-03-30 22:03:41 -07:00
Cory Schwartz 4894e0b18d add debug 2022-03-30 22:02:43 -07:00
Łukasz Magiera f155b3003b Merge pull request #8411 from filecoin-project/deps/update-data-transfer-fix-master
chore(deps): update go-data-transfer with fixes (master edition)
2022-03-30 15:11:26 -04:00
hannahhoward 4974b6874e chore(deps): update go-data-transfer with fixes 2022-03-30 14:59:31 -04:00
Łukasz Magiera 1fac7981a4 Merge pull request #8410 from filecoin-project/feat/go-1.18
fix: go: make Go 1.18 builds work
2022-03-30 14:56:19 -04:00
Łukasz Magiera b244277ff2 Merge pull request #8403 from filecoin-project/deps/update-data-transfer-fix
Update go-data-transfer with fixes
2022-03-30 14:54:45 -04:00
Łukasz Magiera 0c6f3ee19c fix lotus-sim build 2022-03-30 14:34:20 -04:00
Łukasz Magiera 12752c6970 Merge github.com:koalacxr/lotus into feat/go-1.18 2022-03-30 14:31:32 -04:00
Łukasz Magiera 39c38c44a3 Merge pull request #8404 from simlecode/fix/not_check_error
fix: sealing: Added error checking
2022-03-29 22:57:35 -04:00
simlecode f0944030b7 Added error checking 2022-03-30 10:28:56 +08:00
Aayush Rajasekaran 7eb7edb950 Merge pull request #8402 from filecoin-project/jen/ffiupdate
deps: update ffi with actor v7.1.0 and fvm that uses the bundle that includes the new manifest
2022-03-29 21:17:33 -04:00
Jiaying Wang 6a88a94a8b Merge pull request #8401 from filecoin-project/jen/v1514
chore: release: v1.15.1-rc4
2022-03-29 21:15:34 -04:00
hannahhoward 7e86f7196e chore(deps): update go-data-transfer with fixes 2022-03-29 18:12:42 -07:00
Jiaying WangandAayush Rajasekaran eeeb33c9ac Update CHANGELOG.md
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-03-29 20:59:16 -04:00
Jennifer Wang b8e412884b deps: update ffi with actor v7.1.0 and fvm that uses the bundle that includes the new manifest 2022-03-29 20:49:40 -04:00
Jennifer Wang 4d2691a2e1 build: release: v1.15.1-rc4 2022-03-29 20:36:39 -04:00
Łukasz Magiera 3ce467a25f Merge pull request #8391 from filecoin-project/feat/parallel-fault-check
feat: storage: Parallel proving checks
2022-03-29 16:36:12 -04:00
Łukasz Magiera 0710342317 fix waiting in sector proving checks 2022-03-29 15:28:37 -04:00
Łukasz Magiera d95f24b9d2 config: Sane default parallel sector read defaults 2022-03-29 14:52:37 -04:00
Łukasz Magiera c456836ad5 Merge pull request #8400 from filecoin-project/asr/update
Update to specs-storage v0.2.2
2022-03-29 14:23:07 -04:00
Aayush be418e77f9 Update to specs-storage v0.2.2 2022-03-29 14:08:55 -04:00
Jennifer Wang 21a1f3a34d deps: update ffi 2022-03-29 12:02:41 -04:00
Łukasz Magiera ebd34f1884 feat: storage: Parallel proving checks 2022-03-29 11:45:08 -04:00
Łukasz Magiera ba2596e318 Merge pull request #8397 from filecoin-project/feat/thread-safe-piecereader
Thread safe piecereader
2022-03-29 11:22:19 -04:00
Aarsh Shah d0af0eff9f thread safe piecereader 2022-03-29 19:41:06 +05:30
Łukasz Magiera d502eeba2b Merge pull request #8389 from filecoin-project/feat/manual-wdpost
feat: miner: API/CLI to compute window-post
2022-03-28 21:20:06 -04:00
Łukasz Magiera 064c3d473c Merge pull request #8390 from filecoin-project/feat/worker-ulimitn-check
feat: worker: check fd limit on startup
2022-03-28 18:33:26 -04:00
Łukasz Magiera 5a42083abd feat: worker: check fd limit on startup 2022-03-28 18:07:54 -04:00
Łukasz Magiera 54cb55a7ae feat: miner: API/CLI to compute window-post 2022-03-28 17:06:51 -04:00
Łukasz Magiera a709a0a682 Merge pull request #8384 from rjan90/fix/change-worker-msg
fix: ux: Change Propose-worker msg
2022-03-28 12:57:01 -04:00
Łukasz Magiera 029610fb40 Merge pull request #8386 from zl03jsj/fix/dead_loop_on_remove_sector
fix: miner: dead loop on removing sector
2022-03-28 12:51:53 -04:00
zl 1646edf513 fix: dead loop on removing a sector 2022-03-28 20:51:57 +08:00
Rjan e2781ea0f2 Change test to reflect renaming
Change what string the TestWorkerKeyChange-test is looking for, to reflect the new Propose-worker msg-changes
2022-03-28 10:04:47 +02:00
Rjan 555ff81cbf Add punctuation. 2022-03-28 09:46:08 +02:00
Jiaying Wang 003df89edf Merge pull request #8383 from filecoin-project/jen/v1512
chore: build: v1.15.1-rc3
2022-03-28 02:54:15 -04:00
Rjan bfc2cc3aa3 fix: ux: Change Propose-worker msg
Changes the message so it´s clear that it´s only Storage Providers without active deadlines that needs to call 'confirm-change-worker'.
2022-03-28 08:18:30 +02:00
jennijuju eeab118a05 chore: build: v1.15.1-rc3 2022-03-27 19:36:10 -04:00
Jiaying Wang 04458ea12b Merge pull request #8382 from filecoin-project/jen/v1513
chore: backport: #8381 #8378
2022-03-27 19:17:28 -04:00
Łukasz Magiera c951e348b4 feat: config: Move MakeNewSectorForDeals config into the Sealing sectoin 2022-03-26 23:45:48 -04:00
Jennifer Wang 2a988d453c chore: ffi: the latest fvm release 2022-03-26 23:25:02 -04:00
Jiaying Wang b8b33c4f06 Merge pull request #8381 from filecoin-project/jen/ffi
chore: ffi: the latest fvm release
2022-03-26 22:57:02 -04:00
Jennifer Wang f2fa2f5067 chore: ffi: the latest fvm release 2022-03-26 22:45:47 -04:00
Łukasz Magiera 001de1a915 Merge pull request #8379 from filecoin-project/feat/proving-workers-cli
feat: miner cli: Separate proving workers command
2022-03-26 16:36:00 -04:00
Łukasz Magiera f0f0fe38a3 Merge pull request #8380 from filecoin-project/feat/worker-type-logic
fix: worker: Fix default value handling
2022-03-26 16:35:38 -04:00
Łukasz Magiera 2498da742d fix: worker: Fix default value handling 2022-03-26 16:26:19 -04:00
Łukasz Magiera ad684ed0ea feat: miner cli: Separate proving workers command 2022-03-26 16:16:25 -04:00
Łukasz Magiera 0d7d02da35 Merge pull request #8378 from filecoin-project/feat/move-makedealsector-cfg
feat: config: Move MakeNewSectorForDeals config into the Sealing sectoin
2022-03-26 16:08:21 -04:00
Łukasz Magiera b78892934b feat: config: Move MakeNewSectorForDeals config into the Sealing sectoin 2022-03-26 15:50:21 -04:00
Aayush Rajasekaran c50b63c5f6 Merge pull request #8374 from filecoin-project/revert-8119-travis/fvm-interopnet
Revert "Update params for interopnet for fvm"
2022-03-25 22:26:35 -04:00
Aayush Rajasekaran b0ff3dfb90 Revert "Update params for interopnet for fvm" 2022-03-25 22:21:36 -04:00
Jiaying Wang b2dbe8dfef Merge pull request #8365 from filecoin-project/jen/v1512prep
chore: build: v1.15.1-rc2
2022-03-23 16:32:49 -04:00
Jennifer Wang 9436b15528 chore: release: v1.15.1-rc2 2022-03-23 16:22:51 -04:00
Jiaying Wang d6e6bfbb5a Merge pull request #8364 from filecoin-project/jen/v1512
chore: backport:  #8355 #8353 #8363
2022-03-23 16:20:07 -04:00
Aayush 3fbf765605 FVM: log when fvm is used 2022-03-23 14:05:43 -04:00
Łukasz Magiera 8e75a8d12d fix: sealing: always do cooldown in handleSubmitReplicaUpdateFailed 2022-03-23 14:05:43 -04:00
vyzo 450d4b256a update go-libp2p to v0.18 2022-03-23 14:05:43 -04:00
Aayush 595e29186e stmgr: call: use a buffered concurrent-access blockstore 2022-03-23 14:05:43 -04:00
Jiaying Wang c070f253ac Merge pull request #8359 from filecoin-project/asr/vm-memstore
stmgr: call: use a buffered concurrent-access blockstore
2022-03-23 13:22:56 -04:00
Aayush 46447ef55c stmgr: call: use a buffered concurrent-access blockstore 2022-03-23 12:30:27 -04:00
Jiaying Wang 6861705354 Merge pull request #8360 from filecoin-project/asr/v7-actors-bump
FFI: Bump v7 actors to v7.0.6
2022-03-22 21:14:22 -04:00
Aayush 7d0f5dd4f9 FFI: Bump v7 actors to v7.0.6 2022-03-22 20:44:51 -04:00
Jiaying Wang cd499e3ab8 Merge pull request #8342 from filecoin-project/jen/v151rc1prep
chore: release: v1.15.1-rc1
2022-03-17 17:46:30 -04:00
Jiaying Wang 7244ff9e14 Update CHANGELOG.md 2022-03-17 17:42:45 -04:00
Jennifer Wang 3c252e1d87 bump the version to v1.15.1-rc1 2022-03-17 17:42:45 -04:00
Jennifer Wang 84896f4790 update the change log for v1.15.1 2022-03-17 17:42:45 -04:00
Łukasz Magiera d4cbb0803b Merge pull request #8339 from filecoin-project/backport/v1.15.1/smallfixes
backport: #8338, #8337
2022-03-17 19:50:21 +01:00
Aayush Rajasekaran ff244fba6c Merge pull request #8332 from filecoin-project/feat/fvm
FVM integration
2022-03-17 12:20:05 -04:00
Łukasz Magiera 49a4c06a88 fix: sealing: FinalizeSector doesn't need sealed replica access 2022-03-17 17:08:25 +01:00
Łukasz Magiera 361dc55dfd fix: storagefsm: Fix error loop on bad event 2022-03-17 17:08:25 +01:00
Aayush Rajasekaran 2ed2ee1da7 Merge branch 'release/v1.15.1' into feat/fvm 2022-03-17 11:31:56 -04:00
Aayush Rajasekaran 58876aefa3 Update FFI 2022-03-17 11:31:47 -04:00
Aayush 77b123b02f CircSupply: Remove unused method 2022-03-17 11:31:39 -04:00
Łukasz Magiera 114cb4e0d5 Merge pull request #8333 from filecoin-project/backport/v1.15.1/feat/snap-queue
backport: v1.15.1: feat: sealing: Sector upgrade queue
2022-03-16 22:50:33 +01:00
Łukasz Magiera 4a1b211876 miner cli: Treat Activating sectors like Proving in sectors list 2022-03-16 22:30:59 +01:00
Łukasz Magiera d78f1e4eee sealing: Rename Sealing.creating to a less confusing name 2022-03-16 22:30:58 +01:00
Łukasz Magiera 5e14892ef8 sealing: fix lint issues 2022-03-16 22:30:57 +01:00
Łukasz Magiera 9e4c8881b6 sealing: regenerate mocks 2022-03-16 22:30:09 +01:00
Łukasz Magiera b8ba5274e2 sealing: Enforce minimum expiration in tryGetUpgradeSector 2022-03-16 22:30:09 +01:00
Łukasz Magiera aa4adb0dfd sealing: Fix build 2022-03-16 22:30:09 +01:00
Łukasz Magiera 62a393bf12 sealing: Address snap queue review 2022-03-16 22:30:09 +01:00
Łukasz Magiera a440339548 sealing: Run more checks when considering Available sectors 2022-03-16 22:30:07 +01:00
Łukasz Magiera 3c15314ed5 sealing: Use bitfields in sectorActive 2022-03-16 22:29:40 +01:00
Łukasz Magiera d3cec2f0d1 sealing: Add MakeCCSectorsAvailable config 2022-03-16 22:29:40 +01:00
Łukasz Magiera 1158a928ec itests: Test reverting Available sectors to Proving 2022-03-16 22:29:40 +01:00
Łukasz Magiera 1bd2cbbef6 sealing: Support abort uprade for Available sectors 2022-03-16 22:29:40 +01:00
Łukasz Magiera a9d757f3a0 itests: TestTooManyMarkedForUpgrade is not applicable anymore 2022-03-16 22:29:40 +01:00
Łukasz Magiera 9a854e9ab7 feat: sealing: Linter did have a good point 2022-03-16 22:29:40 +01:00
Łukasz Magiera 2cef55a4f6 feat: sealing: Sector upgrade queue 2022-03-16 22:29:37 +01:00
Jiaying Wang 5ea1502b02 Merge pull request #8331 from filecoin-project/backport/v1.15.1/fix/snap-worker-cleanup
backport: v1.15.1: feat: sealing: Sector upgrade queue
2022-03-16 14:20:53 -04:00
Łukasz Magiera 99c6ef564e worker: RemoveCopies expects one type at a time 2022-03-16 19:07:42 +01:00
Łukasz Magiera 39e3ddb0ed storagemgr: MoveStorage in separate steps 2022-03-16 19:07:42 +01:00
Łukasz Magiera defdea7b49 worker: Call RemoveCopies in MoveStorage 2022-03-16 19:07:42 +01:00
Łukasz Magiera d249eb3f93 stores: Support RemoveCopies on remote store 2022-03-16 19:07:42 +01:00
Łukasz Magiera 668c33fdcd stores: http: Support multiple storage IDs in ?keep 2022-03-16 19:07:42 +01:00
koalacxr 7f26ce614b modify quantile imports error 2022-03-16 13:10:03 +08:00
Jiaying Wang ada499ef14 Merge pull request #8314 from filecoin-project/jen/indexsetting
feat: config: enable indexer providing by default
2022-03-15 19:33:49 -04:00
Jennifer Wang 6240729ee4 enable indexer providing by default 2022-03-14 23:24:52 -04:00
Raúl Kripalani eef436b030 go fmt. 2022-03-11 19:05:07 +00:00
Raúl Kripalani 9eb8103866 tvx and conformance: use precondition state tree as the lookback tree. 2022-03-11 18:56:19 +00:00
Raúl Kripalani 5434cfdaa9 tvx: use addresses when scanning precursors. 2022-03-11 18:49:07 +00:00
Raúl Kripalani 92c9716595 tvx: widen 'sender' precursor strategy to match against both participants.
And also use inclusion tipset to run the message, which is more correct
than the execution tipset.
2022-03-11 18:47:44 +00:00
Raúl Kripalani ba408cc2be tvx: print out epoch numbers that weren't found. 2022-03-10 21:33:49 +00:00
Jerry 8f95cd4149 release worker tracker lock when call cb func 2022-02-28 16:55:04 +08:00
Clint Armstrong 5120d8481a allow overriding worker hostname with environment variable
Signed-off-by: Clint Armstrong <clint@clintarmstrong.net>
2022-01-12 12:20:52 -05:00
Jennifer Wang c8b41a571c simplify the release testing flow as minerx is now our default testing group 2021-11-30 18:18:36 -05:00
Matija Petrunic 62e98c1964 Regenerate lotus config 2021-11-10 14:11:15 +01:00
Matija Petrunić df17ea06f5 Merge branch 'master' into libp2p-pubsub-tracer 2021-11-10 12:47:09 +00:00
Matija Petrunic 59040d4419 Trace reject messages in pubsub 2021-11-10 13:45:40 +01:00
Mak Muftic 530df4298e Fix linter errors 2021-09-29 16:49:03 +02:00
Mak Muftic ea7673618d Add unit tests for lotus tracer 2021-09-29 16:39:44 +02:00
Matija Petrunic 53c8e68fba Remove extra tracer dtypes 2021-09-29 16:23:08 +02:00
Matija Petrunic c34e15bbb7 Add elasticsearch index template and update dashboards 2021-09-29 16:21:16 +02:00
Matija Petrunic 181b35dc5e Extend peer score event with score components 2021-09-29 16:20:43 +02:00
Mak Muftic 7b19beaf5d Fix linter errors 2021-09-29 13:12:42 +02:00
Mak Muftic 3433fa4a6e Add stringdocs to config props and generate docs 2021-09-29 12:51:43 +02:00
Mak Muftic 45bb8c3ebf Remove cli flags 2021-09-29 12:50:30 +02:00
Matija Petrunić 58afade1bb Merge pull request #9 from ChainSafe/mpetrun5/lotus-extended-tracer
Lotus extended pubsub tracer
2021-09-28 16:35:57 +02:00
Matija Petrunic 1e9a0894f1 Merge branch 'mpetrun5/lotus-extended-tracer' of github.com:ChainSafe/lotus into mpetrun5/lotus-extended-tracer 2021-09-27 15:09:06 +02:00
Matija Petrunic 581a54663c Add README for creating kibana dashboards 2021-09-27 15:09:03 +02:00
Mak Muftic 36913f4efc Fix elasticsearch index setup 2021-09-27 13:28:28 +02:00
Matija Petrunic 6c680e306d Rename json tracer flag 2021-09-24 16:25:41 +02:00
Mak Muftic 30fc2387be Merge branch 'mpetrun5/lotus-extended-tracer' of github.com:ChainSafe/lotus into mpetrun5/lotus-extended-tracer 2021-09-24 14:16:31 +02:00
Matija Petrunic 22f8d321d7 Merge branch 'mpetrun5/lotus-extended-tracer' of github.com:ChainSafe/lotus into mpetrun5/lotus-extended-tracer 2021-09-24 14:08:16 +02:00
Matija Petrunic 72d8e62075 Add kibana dashboard configurations 2021-09-24 14:07:47 +02:00
Mak Muftic 9332b9f399 Change json config naming 2021-09-24 13:53:31 +02:00
Matija Petrunić 70e3a9aff8 Merge pull request #10 from ChainSafe/mmuftic/add-cli-flags
Add cli flags
2021-09-24 13:51:00 +02:00
Mak Muftic 4438c4bd87 Move index name to config only and add default value 2021-09-24 13:43:25 +02:00
Mak Muftic 22bbb113e7 Fix schema creation 2021-09-24 12:58:32 +02:00
Mak Muftic 94a1601ab2 Remove hardcoded url schema 2021-09-24 12:40:33 +02:00
Mak Muftic e46da5a181 Add cli flags 2021-09-24 12:37:16 +02:00
Matija Petrunic 0c390d12f7 Append source auth flag to lotus tracer event 2021-09-21 12:54:07 +02:00
Matija Petrunic d65d9aa6e0 Send peerID peer score as separate events to enable usage of kibana runtime fields 2021-09-21 12:30:50 +02:00
Mak Muftic 082f70757c Revert additional logging in elastic client 2021-09-20 12:29:12 +02:00
Mak Muftic a685ccc955 Remove document id 2021-09-17 15:14:39 +02:00
Mak Muftic 0962e73e3e Add loger to elastic search client 2021-09-17 14:22:57 +02:00
Matija Petrunic 7d0aefacbb Change peer score event type to avoid exceeding elastisearch field limit 2021-09-17 13:46:26 +02:00
Matija Petrunic a91ffa60d6 Set peer id event as string in lotus trace event 2021-09-17 12:11:14 +02:00
Mak Muftic dc79ea363d Change index name 2021-09-17 11:35:36 +02:00
Mak Muftic f09f5c2d11 Change elastic document name 2021-09-16 16:49:47 +02:00
Mak Muftic 8e2b474fc7 Use only one document on elastic 2021-09-16 16:44:35 +02:00
Matija Petrunic 9efa495b0e Write every trace to new line when using json transport 2021-09-16 16:42:18 +02:00
Matija Petrunic 941a0f7153 Update peer score tracker creation to include lotus tracer 2021-09-16 16:31:36 +02:00
Matija Petrunic 9cdc5261c4 Fix lotus tracer being nil when remote tracer is not configured 2021-09-16 15:53:39 +02:00
Matija Petrunic d067bc9f01 Move creating and opening file to json transport constructor 2021-09-16 15:22:18 +02:00
Matija Petrunic e2206147cc Add source auth token to lotus traces 2021-09-16 12:21:57 +02:00
Matija Petrunić 515925a178 Merge pull request #7 from ChainSafe/mmuftic/elastic-search-transport
Add Elasticsearch transport
2021-09-16 12:20:22 +02:00
Mak Muftic c25a5e06cf Use config string for elasticsearch client 2021-09-16 12:15:42 +02:00
Mak Muftic 5cbd2519da Remove processing elasticsearch result 2021-09-15 16:20:36 +02:00
Mak Muftic 67c1d633c6 Rename jsonEvent to evt 2021-09-15 16:16:12 +02:00
Mak Muftic add13c2646 Code cleanup 2021-09-15 16:05:44 +02:00
Mak Muftic 71a2ca9e7c Add new wrapper structure in tracer transport 2021-09-15 16:03:51 +02:00
Mak Muftic 707faf57b5 Code cleanup 2021-09-15 15:11:34 +02:00
Mak Muftic e20cd0ef27 Propagate error on creating transport 2021-09-15 14:58:36 +02:00
Mak Muftic cf06096565 Fix tracer initialization 2021-09-15 14:54:20 +02:00
Mak Muftic bb85ca031d Add elasticsearch transport 2021-09-15 14:50:27 +02:00
mace d2702209a4 Merge pull request #6 from ChainSafe/mpetrun5/tracer-json-transport
Json tracer transport
2021-09-15 14:25:00 +02:00
Matija Petrunic c064ce4852 Add generated documentation 2021-09-15 14:22:48 +02:00
Matija Petrunic 8a657b90a7 Refactor lotus tracer to behave like lp2p tracer 2021-09-15 13:41:56 +02:00
Matija Petrunic ab86c5419d Implement json tracer transport 2021-09-15 13:41:03 +02:00
Matija Petrunic 8e6a01de6d Add configuration in pubsub to trace locally to json file 2021-09-15 13:40:54 +02:00
Matija Petrunic d5a4b0637a Add lotus tracer transport calls 2021-09-10 15:37:38 +02:00
Mak Muftic c367533a3c Add transport interface 2021-09-10 12:36:38 +02:00
Matija Petrunic b1dafd81b8 Add peer score tracing on pubsub peer score inspect 2021-08-30 14:49:10 +02:00
Matija Petrunic 99fbd7039e Update pubsub tracking to trace from lotus and lp2p tracers 2021-08-30 14:38:15 +02:00
Matija Petrunic 522858c871 Add lotus tracer interface 2021-08-30 14:35:15 +02:00
Leng Bo 93288fac72 Merge pull request #1 from filecoin-project/master
Merge official code.
2020-06-04 11:12:10 +08:00
1464 changed files with 125660 additions and 64757 deletions
+949 -744
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -65,6 +65,8 @@ func main() {
if err != nil {
panic(err)
}
// Redundantly flag both absolute and relative paths as excluded
excluded[filepath.Join(repo, s)] = struct{}{}
excluded[e] = struct{}{}
}
}
@@ -106,10 +108,12 @@ func main() {
// form the input data.
type data struct {
Networks []string
ItestFiles []string
UnitSuites map[string]string
}
in := data{
Networks: []string{"mainnet", "butterflynet", "calibnet", "debug"},
ItestFiles: itests,
UnitSuites: func() map[string]string {
ret := make(map[string]string)
+476 -686
View File
File diff suppressed because it is too large Load Diff
-73
View File
@@ -1,73 +0,0 @@
ignore:
# Auto generated
- "^.*_gen.go$"
- "^.*/mock_full.go$"
# Old actors.
- "^chain/actors/builtin/[^/]*/(message|state|v)[0-4]\\.go$" # We test the latest version only.
# Tests
- "api/test/**"
- "conformance/**"
# Generators
- "gen/**"
- "chain/actors/agen/**"
# Non-critical utilities
- "api/docgen/**"
- "api/docgen-openrpc/**"
coverage:
status:
patch: off
project:
tools-and-tests:
target: auto
threshold: 1%
informational: true
paths:
- "testplans"
- "tools"
- "system"
- "snap"
- "lotuspond"
- "conformance"
- "scripts"
- "gen"
- "build"
markets:
target: auto
threshold: 1%
informational: false
paths:
- "markets"
- "paychmgr"
miner:
target: auto
threshold: 1.5%
informational: false
paths:
- "miner"
- "storage"
chain:
target: auto
threshold: 1%
informational: false
paths:
- "chain"
node:
target: auto
threshold: 1%
informational: false
paths:
- "node"
- "blockstore"
- "metrics"
- "lib"
- "genesis"
- "gateway"
- "api"
- "journal"
cli:
target: auto
threshold: 1%
informational: true
paths:
- "cli"
- "cmd"
+2
View File
@@ -0,0 +1,2 @@
chain/actors/builtin/*/v* linguist-generated=true
chain/actors/builtin/*/message* linguist-generated=true
+21 -36
View File
@@ -9,15 +9,9 @@ body:
options:
- label: This is **not** a security-related bug/issue. If it is, please follow please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy).
required: true
- label: This is **not** a question or a support request. If you have any lotus related questions, please ask in the [lotus forum](https://github.com/filecoin-project/lotus/discussions).
required: true
- label: This is **not** a new feature request. If it is, please file a [feature request](https://github.com/filecoin-project/lotus/issues/new?assignees=&labels=need%2Ftriage%2Ckind%2Ffeature&template=feature_request.yml) instead.
required: true
- label: This is **not** an enhancement request. If it is, please file a [improvement suggestion](https://github.com/filecoin-project/lotus/issues/new?assignees=&labels=need%2Ftriage%2Ckind%2Fenhancement&template=enhancement.yml) instead.
required: true
- label: I **have** searched on the [issue tracker](https://github.com/filecoin-project/lotus/issues) and the [lotus forum](https://github.com/filecoin-project/lotus/discussions), and there is no existing related issue or discussion.
required: true
- label: I am running the [`Latest release`](https://github.com/filecoin-project/lotus/releases), or the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.
- label: I am running the [`Latest release`](https://github.com/filecoin-project/lotus/releases), the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.
required: true
- label: I did not make any code changes to lotus.
required: false
@@ -28,19 +22,11 @@ body:
options:
- label: lotus daemon - chain sync
required: false
- label: lotus miner - mining and block production
- label: lotus fvm/fevm - Lotus FVM and FEVM interactions
required: false
- label: lotus miner/worker - sealing
required: false
- label: lotus miner - proving(WindowPoSt)
required: false
- label: lotus miner/market - storage deal
required: false
- label: lotus miner/market - retrieval deal
required: false
- label: lotus miner/market - data transfer
required: false
- label: lotus client
- label: lotus miner - proving(WindowPoSt/WinningPoSt)
required: false
- label: lotus JSON-RPC API
required: false
@@ -56,22 +42,33 @@ body:
description: Enter the output of `lotus version` and `lotus-miner version` if applicable.
placeholder: |
e.g.
Daemon:1.11.0-rc2+debug+git.0519cd371.dirty+api1.3.0
Local: lotus version 1.11.0-rc2+debug+git.0519cd371.dirty
Daemon: 1.19.0+mainnet+git.64059ca87+api1.5.0
Local: lotus-miner version 1.19.0+mainnet+git.64059ca87
validations:
required: true
- type: textarea
id: ReproSteps
attributes:
label: Repro Steps
description: "Steps to reproduce the behavior"
value: |
1. Run '...'
2. Do '...'
3. See error '...'
...
validations:
required: false
- type: textarea
id: Description
attributes:
label: Describe the Bug
description: |
This is where you get to tell us what went wrong, when doing so, please try to provide a clear and concise description of the bug with all related information:
* What you were doding when you experienced the bug?
* What you were doing when you experienced the bug?
* Any *error* messages you saw, *where* you saw them, and what you believe may have caused them (if you have any ideas).
* What is the expected behaviour?
* For sealing issues, include the output of `lotus-miner sectors status --log <sectorId>` for the failed sector(s).
* For proving issues, include the output of `lotus-miner proving` info.
* For deal making issues, include the output of `lotus client list-deals -v` and/or `lotus-miner storage-deals|retrieval-deals|data-transfers list [-v]` commands for the deal(s) in question.
validations:
required: true
- type: textarea
@@ -81,20 +78,8 @@ body:
render: text
description: |
Please provide debug logs of the problem, remember you can get set log level control for:
* lotus: use `lotus log list` to get all log systems available and set level by `lotus log set-level`. An example can be found [here](https://docs.filecoin.io/get-started/lotus/configuration-and-advanced-usage/#log-level-control).
* lotus: use `lotus log list` to get all log systems available and set level by `lotus log set-level`. An example can be found [here](https://lotus.filecoin.io/lotus/configure/defaults/#log-level-control).
* lotus-miner:`lotus-miner log list` to get all log systems available and set level by `lotus-miner log set-level
If you don't provide detailed logs when you raise the issue it will almost certainly be the first request I make before furthur diagnosing the problem.
If you don't provide detailed logs when you raise the issue it will almost certainly be the first request we make before furthur diagnosing the problem.
validations:
required: true
- type: textarea
id: RepoSteps
attributes:
label: Repo Steps
description: "Steps to reproduce the behavior"
value: |
1. Run '...'
2. Do '...'
3. See error '...'
...
validations:
required: false
required: true
+8
View File
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Ask a question about Lotus or get support
url: https://github.com/filecoin-project/lotus/discussions/new/choose
about: Ask a question or request support for using Lotus
- name: Filecoin protocol feature or enhancement
url: https://github.com/filecoin-project/FIPs/discussions/new/choose
about: Write a discussion in the Filecoin Improvement Proposal repo
+14 -20
View File
@@ -7,13 +7,7 @@ body:
label: Checklist
description: Please check off the following boxes before continuing to create an improvement suggestion!
options:
- label: This is **not** a new feature or an enhancement to the Filecoin protocol. If it is, please open an [FIP issue](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0001.md).
required: true
- label: This is **not** a new feature request. If it is, please file a [feature request](https://github.com/filecoin-project/lotus/issues/new?assignees=&labels=need%2Ftriage%2Ckind%2Ffeature&template=feature_request.yml) instead.
required: true
- label: This is **not** brainstorming ideas. If you have an idea you'd like to discuss, please open a new discussion on [the lotus forum](https://github.com/filecoin-project/lotus/discussions/categories/ideas) and select the category as `Ideas`.
required: true
- label: I **have** a specific, actionable, and well motivated improvement to propose.
- label: I **have** a specific, actionable, and well motivated improvement to an existing lotus feature.
required: true
- type: checkboxes
attributes:
@@ -22,19 +16,11 @@ body:
options:
- label: lotus daemon - chain sync
required: false
- label: lotus miner - mining and block production
- label: lotus fvm/fevm - Lotus FVM and FEVM interactions
required: false
- label: lotus miner/worker - sealing
required: false
- label: lotus miner - proving(WindowPoSt)
required: false
- label: lotus miner/market - storage deal
required: false
- label: lotus miner/market - retrieval deal
required: false
- label: lotus miner/market - data transfer
required: false
- label: lotus client
- label: lotus miner - proving(WindowPoSt/WinningPoSt)
required: false
- label: lotus JSON-RPC API
required: false
@@ -45,9 +31,17 @@ body:
- type: textarea
id: request
attributes:
label: Improvement Suggestion
description: A clear and concise description of what the motivation or the current problem is and what is the suggested improvement?
placeholder: Ex. Currently lotus... However, as a storage provider, I'd like...
label: Enhancement Suggestion
description: A clear and concise description of the suggested enhancement?
placeholder: Ex. Currently lotus... However it would be great if [enhancement] was implemented... With the ability to...
validations:
required: true
- type: textarea
id: request
attributes:
label: Use-Case
description: How would this enhancement help you?
placeholder: Ex. With the [enhancement] node operators would be able to... For Storage Providers it would enable...
validations:
required: true
+3 -14
View File
@@ -7,8 +7,6 @@ body:
label: Checklist
description: Please check off the following boxes before continuing to create a new feature request!
options:
- label: This is **not** a new feature or an enhancement to the Filecoin protocol. If it is, please open an [FIP issue](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0001.md).
required: true
- label: This is **not** brainstorming ideas. If you have an idea you'd like to discuss, please open a new discussion on [the lotus forum](https://github.com/filecoin-project/lotus/discussions/categories/ideas) and select the category as `Ideas`.
required: true
- label: I **have** a specific, actionable, and well motivated feature request to propose.
@@ -20,19 +18,11 @@ body:
options:
- label: lotus daemon - chain sync
required: false
- label: lotus miner - mining and block production
- label: lotus fvm/fevm - Lotus FVM and FEVM interactions
required: false
- label: lotus miner/worker - sealing
required: false
- label: lotus miner - proving(WindowPoSt)
required: false
- label: lotus miner/market - storage deal
required: false
- label: lotus miner/market - retrieval deal
required: false
- label: lotus miner/market - data transfer
required: false
- label: lotus client
- label: lotus miner - proving(WindowPoSt/WinningPoSt)
required: false
- label: lotus JSON-RPC API
required: false
@@ -56,7 +46,7 @@ body:
validations:
required: true
- type: textarea
id: alternates
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
@@ -69,4 +59,3 @@ body:
description: Add any other context, design docs or screenshots about the feature request here.
validations:
required: false
@@ -0,0 +1,83 @@
name: "Bug Report - developer/service provider"
description: "Bug report template about FEVM/FVM for developers/service providers"
labels: [need/triage, kind/bug, area/fevm]
body:
- type: checkboxes
attributes:
label: Checklist
description: Please check off the following boxes before continuing to file a bug report!
options:
- label: This is **not** a security-related bug/issue. If it is, please follow please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy).
required: true
- label: I **have** searched on the [issue tracker](https://github.com/filecoin-project/lotus/issues) and the [lotus forum](https://github.com/filecoin-project/lotus/discussions), and there is no existing related issue or discussion.
required: true
- label: I did not make any code changes to lotus.
required: false
- type: checkboxes
attributes:
label: Lotus component
description: Please select the lotus component you are filing a bug for
options:
- label: lotus Ethereum RPC
required: false
- label: lotus FVM - Lotus FVM interactions
required: false
- label: FEVM tooling
required: false
- label: Other
required: false
- type: textarea
id: version
attributes:
label: Lotus Version
render: text
description: Enter the output of `lotus version` if applicable.
placeholder: |
e.g.
Daemon: 1.19.0+mainnet+git.64059ca87+api1.5.0
Local: lotus-miner version 1.19.0+mainnet+git.64059ca87
validations:
required: true
- type: textarea
id: repro
attributes:
label: Repro Steps
description: "Steps to reproduce the behavior"
value: |
1. Run '...'
2. Do '...'
3. See error '...'
...
validations:
required: false
- type: textarea
id: Description
attributes:
label: Describe the Bug
description: |
This is where you get to tell us what went wrong, when doing so, please try to provide a clear and concise description of the bug with all related information:
* What you were doing when you experienced the bug? What are you trying to build?
* Any *error* messages and logs you saw, *where* you saw them, and what you believe may have caused them (if you have any ideas).
* What is the expected behaviour? Links to the actual code?
validations:
required: true
- type: textarea
id: toolingInfo
attributes:
label: Tooling
render: text
description: |
What kind of tooling are you using:
* Are you using ether.js, Alchemy, Hardhat, etc.
validations:
required: true
- type: textarea
id: extraInfo
attributes:
label: Configuration Options
render: text
description: |
Please provide your updated FEVM related configuration options, or custome enviroment variables related to Lotus FEVM
* lotus: use `lotus config updated` to get your configuration options, and copy the [FEVM] section
validations:
required: true
+31
View File
@@ -0,0 +1,31 @@
---
name: New Task
about: A larger yet well-scoped task
title: '<title>'
labels: Needs Triage
assignees: ''
---
## User Story
<!-- Why? -->
## Acceptance Criteria
<!-- What? -->
<!-- add description-->
```[tasklist]
### Deliverables
```
## Technical Breakdown
```[tasklist]
### Development
```
```[tasklist]
### Testing
```
+14 -11
View File
@@ -1,21 +1,24 @@
## Related Issues
<!-- link all issues that this PR might resolve/fix. If an issue doesn't exist, include a brief motivation for the change being made.-->
<!-- Link issues that this PR might resolve/fix. If an issue doesn't exist, include a brief motivation for the change being made -->
## Proposed Changes
<!-- provide a clear list of the changes being made-->
<!-- A clear list of the changes being made -->
## Additional Info
<!-- callouts, links to documentation, and etc-->
<!-- Callouts, links to documentation, and etc -->
## Checklist
Before you mark the PR ready for review, please make sure that:
- [ ] All commits have a clear commit message.
- [ ] The PR title is in the form of of `<PR type>: <area>: <change being made>`
- example: ` fix: mempool: Introduce a cache for valid signatures`
- `PR type`: _fix_, _feat_, _INTERFACE BREAKING CHANGE_, _CONSENSUS BREAKING_, _build_, _chore_, _ci_, _docs_,_perf_, _refactor_, _revert_, _style_, _test_
- `area`: _api_, _chain_, _state_, _vm_, _data transfer_, _market_, _mempool_, _message_, _block production_, _multisig_, _networking_, _paychan_, _proving_, _sealing_, _wallet_, _deps_
- [ ] This PR has tests for new functionality or change in behaviour
- [ ] If new user-facing features are introduced, clear usage guidelines and / or documentation updates should be included in https://lotus.filecoin.io or [Discussion Tutorials.](https://github.com/filecoin-project/lotus/discussions/categories/tutorials)
- [ ] Commits have a clear commit message.
- [ ] PR title is in the form of of `<PR type>: <area>: <change being made>`
- example: ` fix: mempool: Introduce a cache for valid signatures`
- `PR type`: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, test
- `area`, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps
- [ ] If the PR affects users (e.g., new feature, bug fix, system requirements change), update the CHANGELOG.md and add details to the UNRELEASED section.
- [ ] New features have usage guidelines and / or documentation updates in
- [ ] [Lotus Documentation](https://lotus.filecoin.io)
- [ ] [Discussion Tutorials](https://github.com/filecoin-project/lotus/discussions/categories/tutorials)
- [ ] Tests exist for new functionality or change in behavior
- [ ] CI is green
+13 -9
View File
@@ -13,10 +13,14 @@ name: "CodeQL"
on:
push:
branches: [ master ]
branches:
- master
- 'release/*'
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches:
- master
- 'release/*'
jobs:
analyze:
@@ -33,17 +37,17 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- uses: actions/setup-go@v1
- uses: actions/setup-go@v3
with:
go-version: '1.16.4'
go-version: '1.18.8'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
languages: go
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
@@ -52,7 +56,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v2
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -66,4 +70,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: testground run
uses: coryschwartz/testground-github-action@v1.1
uses: testground/testground-github-action@v1
with:
backend_addr: ${{ matrix.backend_addr }}
backend_proto: ${{ matrix.backend_proto }}
+12 -6
View File
@@ -1,6 +1,3 @@
/AppDir
/appimage-builder-cache
*.AppImage
/lotus
/lotus-miner
/lotus-worker
@@ -9,7 +6,6 @@
/lotus-chainwatch
/lotus-shed
/lotus-sim
/lotus-pond
/lotus-townhall
/lotus-fountain
/lotus-stats
@@ -21,8 +17,6 @@
/docgen-md
/docgen-openrpc
/bench.json
/lotuspond/front/node_modules
/lotuspond/front/build
/cmd/lotus-townhall/townhall/node_modules
/cmd/lotus-townhall/townhall/build
/cmd/lotus-townhall/townhall/package-lock.json
@@ -47,4 +41,16 @@ build/paramfetch.sh
bin/ipget
bin/tmp/*
.idea
.vscode
scratchpad
build/builtin-actors/v*
build/builtin-actors/*.car
dist/
# The following files are checked into git and result
# in dirty git state if removed from the docker context
!extern/filecoin-ffi/rust/filecoin.pc
!extern/test-vectors
+6 -6
View File
@@ -12,9 +12,9 @@ linters:
- unconvert
- staticcheck
- varcheck
- structcheck
- deadcode
- scopelint
- unused
# We don't want to skip builtin/
skip-dirs-use-default: false
@@ -25,7 +25,7 @@ skip-dirs:
issues:
exclude:
- "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this"
- "by other packages, and that stutters; consider calling this"
- "Potential file inclusion via variable"
- "should have( a package)? comment"
- "Error return value of `logging.SetLogLevel` is not checked"
@@ -37,12 +37,12 @@ issues:
- "string .* has .* occurrences, make it a constant"
- "a blank import should be only in a main or test package, or have a comment justifying it"
- "package comment should be of the form"
- "Potential hardcoded credentials"
- "Use of weak random number generator"
- "xerrors.* is deprecated"
exclude-use-default: false
exclude-rules:
- path: lotuspond
linters:
- errcheck
- path: node/modules/lp2p
linters:
@@ -51,7 +51,7 @@ issues:
- path: build/params_.*\.go
linters:
- golint
- path: api/apistruct/struct.go
linters:
- golint
+109
View File
@@ -0,0 +1,109 @@
project_name: lotus
universal_binaries:
- id: lotus
replace: true
name_template: lotus
- id: lotus-miner
replace: true
name_template: lotus-miner
- id: lotus-worker
replace: true
name_template: lotus-worker
builds:
- id: lotus
binary: lotus
builder: prebuilt
goos:
- darwin
- linux
goarch:
- amd64
- arm64
goamd64:
- v1
ignore:
- goos: linux
goarch: arm64
prebuilt:
path: /tmp/workspace/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus
- id: lotus-miner
binary: lotus-miner
builder: prebuilt
goos:
- darwin
- linux
goarch:
- amd64
- arm64
goamd64:
- v1
ignore:
- goos: linux
goarch: arm64
prebuilt:
path: /tmp/workspace/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-miner
- id: lotus-worker
binary: lotus-worker
builder: prebuilt
goos:
- darwin
- linux
goarch:
- amd64
- arm64
goamd64:
- v1
ignore:
- goos: linux
goarch: arm64
prebuilt:
path: /tmp/workspace/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-worker
archives:
- id: primary
format: tar.gz
wrap_in_directory: true
name_template: "{{ .ProjectName }}_v{{ .Version }}_{{ .Os }}_{{ .Arch }}"
files:
# this is a dumb but required hack so it doesn't include the default files
# https://github.com/goreleaser/goreleaser/issues/602
- _n_o_n_e_*
release:
github:
owner: filecoin-project
name: lotus
prerelease: auto
name_template: "v{{.Version}}"
brews:
- tap:
owner: filecoin-project
name: homebrew-lotus
branch: master
ids:
- primary
install: |
bin.install "lotus"
bin.install "lotus-miner"
bin.install "lotus-worker"
test: |
system "#{bin}/lotus --version"
system "#{bin}/lotus-miner --version"
system "#{bin}/lotus-worker --version"
folder: Formula
homepage: "https://filecoin.io"
description: "A homebrew cask for installing filecoin-project/lotus on MacOS"
license: MIT
skip_upload: auto
dependencies:
- name: hwloc
# produced manually so we can include cid checksums
checksum:
disable: true
snapshot:
name_template: "{{ .Version }}"
-1
View File
@@ -1 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" viewBox="0 0 127 127" xml:space="preserve" enable-background="new 0 0 127 127"><style type="text/css">.st0{fill:#00d2d6}.st1{fill:#fff}</style><g><path class="st0" d="M63.5,127C28.5,127.1-0.2,98.4,0,63.2C0.2,28.3,28.6-0.2,63.9,0c34.8,0.2,63.3,28.7,63.1,64 C126.7,98.7,98.5,127.1,63.5,127z M71.4,57.6c5.5,0.8,11,1.5,16.5,2.3c0.5-1.7,0.9-3.1,1.3-4.7c-5.7-0.8-11.2-1.7-17.1-2.5 c2-7,3.7-13.7,5.8-20.2c0.7-2.2,2.3-4.2,3.9-5.9c2.1-2.2,5-1.7,6.8,0.7c0.7,1,1.4,2.1,2.3,2.9c1.1,1.1,2.8,1.6,4,0.6 c0.8-0.7,0.7-2.4,0.8-3.6c0-0.5-0.6-1.1-1-1.6c-2-2.3-4.7-3.1-7.5-3.2c-6.3-0.3-10.9,3-14.5,7.8c-3.5,4.8-5.1,10.5-6.8,16.2 c-0.5,1.6-0.9,3.3-1.4,5.1c-6.2-0.9-12.1-1.7-18.2-2.6c-0.2,1.6-0.4,3.2-0.6,4.8c6,0.9,11.8,1.8,17.8,2.7c-0.8,3.4-1.5,6.5-2.3,9.7 c-5.8-0.8-11.4-1.6-17-2.4c-0.2,1.8-0.4,3.2-0.6,4.8c5.6,0.9,11,1.7,16.5,2.5c0,0.6,0.1,1,0,1.3c-1.7,7.4-3.4,14.8-5.3,22.2 c-0.9,3.5-2.4,6.9-5.3,9.3c-2.4,2-5,1.7-6.8-0.8c-0.8-1.1-1.5-2.5-2.6-3.3c-0.8-0.6-2.5-0.9-3.1-0.5c-0.9,0.7-1.5,2.2-1.4,3.3 c0.1,1,1,2.2,1.9,2.8c3,2.3,6.5,2.6,10,1.9c5.9-1.2,10.1-4.9,12.7-10.1c2-4.1,3.6-8.5,5-12.9c1.3-4,2.2-8,3.3-12.2 c5.8,0.8,11.5,1.7,17.3,2.5c0.5-1.7,0.9-3.2,1.4-4.8c-6.1-0.9-11.9-1.7-17.7-2.6C70.1,64,70.7,60.9,71.4,57.6z"/><path class="st1" d="M71.4,57.6c-0.7,3.3-1.3,6.4-2,9.8c5.9,0.9,11.7,1.7,17.7,2.6c-0.5,1.6-0.9,3.1-1.4,4.8 c-5.8-0.8-11.5-1.7-17.3-2.5c-1.1,4.2-2,8.3-3.3,12.2c-1.4,4.4-3,8.7-5,12.9c-2.6,5.2-6.8,8.9-12.7,10.1c-3.5,0.7-7,0.4-10-1.9 c-0.9-0.7-1.8-1.8-1.9-2.8c-0.1-1.1,0.5-2.7,1.4-3.3c0.6-0.5,2.3-0.1,3.1,0.5c1.1,0.8,1.8,2.1,2.6,3.3c1.8,2.5,4.4,2.9,6.8,0.8 c2.9-2.5,4.4-5.8,5.3-9.3c1.9-7.3,3.6-14.8,5.3-22.2c0.1-0.3,0-0.7,0-1.3c-5.4-0.8-10.8-1.7-16.5-2.5c0.2-1.6,0.4-3,0.6-4.8 c5.6,0.8,11.1,1.6,17,2.4c0.8-3.2,1.5-6.4,2.3-9.7c-6-0.9-11.7-1.8-17.8-2.7c0.2-1.6,0.4-3.2,0.6-4.8c6.1,0.9,12,1.7,18.2,2.6 c0.5-1.8,0.9-3.5,1.4-5.1c1.7-5.6,3.2-11.3,6.8-16.2c3.6-4.9,8.1-8.1,14.5-7.8c2.8,0.1,5.5,0.9,7.5,3.2c0.4,0.5,1,1.1,1,1.6 c-0.1,1.2,0,2.9-0.8,3.6c-1.1,1.1-2.8,0.5-4-0.6c-0.9-0.9-1.6-1.9-2.3-2.9c-1.8-2.4-4.7-2.9-6.8-0.7c-1.6,1.7-3.2,3.7-3.9,5.9 C75.7,39.4,74,46,72,53c5.9,0.9,11.4,1.7,17.1,2.5c-0.5,1.6-0.9,3.1-1.3,4.7C82.3,59.1,76.9,58.3,71.4,57.6z"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

-73
View File
@@ -1,73 +0,0 @@
version: 1
AppDir:
path: ./AppDir
app_info:
id: io.filecoin.lotus
name: Lotus
icon: icon
version: latest
exec: usr/bin/lotus
exec_args: $@
apt:
arch: amd64
allow_unauthenticated: true
sources:
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted
universe multiverse
- sourceline: deb http://security.ubuntu.com/ubuntu focal-security main restricted
- sourceline: deb http://security.ubuntu.com/ubuntu focal-security universe
- sourceline: deb http://security.ubuntu.com/ubuntu focal-security multiverse
- sourceline: deb https://cli-assets.heroku.com/apt ./
- sourceline: deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu focal main
- sourceline: deb http://ppa.launchpad.net/git-core/ppa/ubuntu focal main
- sourceline: deb http://archive.canonical.com/ubuntu focal partner
include:
- ocl-icd-libopencl1
- libhwloc15
exclude: []
files:
include:
- /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
- /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
- /usr/lib/x86_64-linux-gnu/libm-2.31.so
- /usr/lib/x86_64-linux-gnu/libdl-2.31.so
- /usr/lib/x86_64-linux-gnu/libc-2.31.so
- /usr/lib/x86_64-linux-gnu/libudev.so.1.6.17
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*
test:
fedora:
image: appimagecrafters/tests-env:fedora-30
command: ./AppRun
use_host_x: false
debian:
image: appimagecrafters/tests-env:debian-stable
command: ./AppRun
use_host_x: false
arch:
image: appimagecrafters/tests-env:archlinux-latest
command: ./AppRun
use_host_x: false
centos:
image: appimagecrafters/tests-env:centos-7
command: ./AppRun
use_host_x: false
ubuntu:
image: appimagecrafters/tests-env:ubuntu-xenial
command: ./AppRun
use_host_x: false
AppImage:
arch: x86_64
update-information: guess
sign-key: None
+2244 -12
View File
File diff suppressed because it is too large Load Diff
+136
View File
@@ -0,0 +1,136 @@
#####################################
FROM golang:1.20.7-bullseye AS lotus-builder
MAINTAINER Lotus Development Team
RUN apt-get update && apt-get install -y ca-certificates build-essential clang ocl-icd-opencl-dev ocl-icd-libopencl1 jq libhwloc-dev
ENV XDG_CACHE_HOME="/tmp"
### taken from https://github.com/rust-lang/docker-rust/blob/master/1.63.0/buster/Dockerfile
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH \
RUST_VERSION=1.63.0
RUN set -eux; \
dpkgArch="$(dpkg --print-architecture)"; \
case "${dpkgArch##*-}" in \
amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \
arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \
*) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \
esac; \
url="https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init"; \
wget "$url"; \
echo "${rustupSha256} *rustup-init" | sha256sum -c -; \
chmod +x rustup-init; \
./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \
rm rustup-init; \
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
rustup --version; \
cargo --version; \
rustc --version;
COPY ./ /opt/filecoin
WORKDIR /opt/filecoin
RUN scripts/docker-git-state-check.sh
### make configurable filecoin-ffi build
ARG FFI_BUILD_FROM_SOURCE=0
ENV FFI_BUILD_FROM_SOURCE=${FFI_BUILD_FROM_SOURCE}
RUN make clean deps
ARG RUSTFLAGS=""
ARG GOFLAGS=""
RUN make buildall
#####################################
FROM ubuntu:20.04 AS lotus-base
MAINTAINER Lotus Development Team
# Base resources
COPY --from=lotus-builder /etc/ssl/certs /etc/ssl/certs
COPY --from=lotus-builder /lib/*/libdl.so.2 /lib/
COPY --from=lotus-builder /lib/*/librt.so.1 /lib/
COPY --from=lotus-builder /lib/*/libgcc_s.so.1 /lib/
COPY --from=lotus-builder /lib/*/libutil.so.1 /lib/
COPY --from=lotus-builder /usr/lib/*/libltdl.so.7 /lib/
COPY --from=lotus-builder /usr/lib/*/libnuma.so.1 /lib/
COPY --from=lotus-builder /usr/lib/*/libhwloc.so.* /lib/
COPY --from=lotus-builder /usr/lib/*/libOpenCL.so.1 /lib/
RUN useradd -r -u 532 -U fc \
&& mkdir -p /etc/OpenCL/vendors \
&& echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
#####################################
FROM lotus-base AS lotus
MAINTAINER Lotus Development Team
COPY --from=lotus-builder /opt/filecoin/lotus /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-shed /usr/local/bin/
COPY scripts/docker-lotus-entrypoint.sh /
ARG DOCKER_LOTUS_IMPORT_SNAPSHOT https://snapshots.mainnet.filops.net/minimal/latest
ENV DOCKER_LOTUS_IMPORT_SNAPSHOT ${DOCKER_LOTUS_IMPORT_SNAPSHOT}
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_PATH /var/lib/lotus
ENV DOCKER_LOTUS_IMPORT_WALLET ""
RUN mkdir /var/lib/lotus /var/tmp/filecoin-proof-parameters
RUN chown fc: /var/lib/lotus /var/tmp/filecoin-proof-parameters
VOLUME /var/lib/lotus
VOLUME /var/tmp/filecoin-proof-parameters
USER fc
EXPOSE 1234
ENTRYPOINT ["/docker-lotus-entrypoint.sh"]
CMD ["-help"]
#####################################
FROM lotus-base AS lotus-all-in-one
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_MINER_PATH /var/lib/lotus-miner
ENV LOTUS_PATH /var/lib/lotus
ENV LOTUS_WORKER_PATH /var/lib/lotus-worker
ENV WALLET_PATH /var/lib/lotus-wallet
COPY --from=lotus-builder /opt/filecoin/lotus /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-seed /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-shed /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-wallet /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-gateway /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-miner /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-worker /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-stats /usr/local/bin/
COPY --from=lotus-builder /opt/filecoin/lotus-fountain /usr/local/bin/
RUN mkdir /var/tmp/filecoin-proof-parameters
RUN mkdir /var/lib/lotus
RUN mkdir /var/lib/lotus-miner
RUN mkdir /var/lib/lotus-worker
RUN mkdir /var/lib/lotus-wallet
RUN chown fc: /var/tmp/filecoin-proof-parameters
RUN chown fc: /var/lib/lotus
RUN chown fc: /var/lib/lotus-miner
RUN chown fc: /var/lib/lotus-worker
RUN chown fc: /var/lib/lotus-wallet
VOLUME /var/tmp/filecoin-proof-parameters
VOLUME /var/lib/lotus
VOLUME /var/lib/lotus-miner
VOLUME /var/lib/lotus-worker
VOLUME /var/lib/lotus-wallet
EXPOSE 1234
EXPOSE 2345
EXPOSE 3456
EXPOSE 1777
-255
View File
@@ -1,255 +0,0 @@
FROM golang:1.16.4 AS builder-deps
MAINTAINER Lotus Development Team
RUN apt-get update && apt-get install -y ca-certificates build-essential clang ocl-icd-opencl-dev ocl-icd-libopencl1 jq libhwloc-dev
ARG RUST_VERSION=nightly
ENV XDG_CACHE_HOME="/tmp"
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH
RUN wget "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init"; \
chmod +x rustup-init; \
./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION; \
rm rustup-init; \
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
rustup --version; \
cargo --version; \
rustc --version;
FROM builder-deps AS builder-local
MAINTAINER Lotus Development Team
COPY ./ /opt/filecoin
WORKDIR /opt/filecoin
RUN make clean deps
FROM builder-local AS builder-test
MAINTAINER Lotus Development Team
WORKDIR /opt/filecoin
RUN make debug
FROM builder-local AS builder
MAINTAINER Lotus Development Team
WORKDIR /opt/filecoin
ARG RUSTFLAGS=""
ARG GOFLAGS=""
RUN make lotus lotus-miner lotus-worker lotus-shed lotus-wallet lotus-gateway lotus-stats
FROM ubuntu:20.04 AS base
MAINTAINER Lotus Development Team
# Base resources
COPY --from=builder /etc/ssl/certs /etc/ssl/certs
COPY --from=builder /lib/x86_64-linux-gnu/libdl.so.2 /lib/
COPY --from=builder /lib/x86_64-linux-gnu/librt.so.1 /lib/
COPY --from=builder /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/
COPY --from=builder /lib/x86_64-linux-gnu/libutil.so.1 /lib/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libltdl.so.7 /lib/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libnuma.so.1 /lib/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libhwloc.so.5 /lib/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /lib/
RUN useradd -r -u 532 -U fc \
&& mkdir -p /etc/OpenCL/vendors \
&& echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
###
FROM base AS lotus
MAINTAINER Lotus Development Team
COPY --from=builder /opt/filecoin/lotus /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-shed /usr/local/bin/
COPY scripts/docker-lotus-entrypoint.sh /
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_PATH /var/lib/lotus
ENV DOCKER_LOTUS_IMPORT_SNAPSHOT https://fil-chain-snapshots-fallback.s3.amazonaws.com/mainnet/minimal_finality_stateroots_latest.car
ENV DOCKER_LOTUS_IMPORT_WALLET ""
RUN mkdir /var/lib/lotus /var/tmp/filecoin-proof-parameters
RUN chown fc: /var/lib/lotus /var/tmp/filecoin-proof-parameters
VOLUME /var/lib/lotus
VOLUME /var/tmp/filecoin-proof-parameters
USER fc
EXPOSE 1234
ENTRYPOINT ["/docker-lotus-entrypoint.sh"]
CMD ["-help"]
###
FROM base AS lotus-wallet
MAINTAINER Lotus Development Team
COPY --from=builder /opt/filecoin/lotus-wallet /usr/local/bin/
ENV WALLET_PATH /var/lib/lotus-wallet
RUN mkdir /var/lib/lotus-wallet
RUN chown fc: /var/lib/lotus-wallet
VOLUME /var/lib/lotus-wallet
USER fc
EXPOSE 1777
ENTRYPOINT ["/usr/local/bin/lotus-wallet"]
CMD ["-help"]
###
FROM base AS lotus-gateway
MAINTAINER Lotus Development Team
COPY --from=builder /opt/filecoin/lotus-gateway /usr/local/bin/
USER fc
EXPOSE 1234
ENTRYPOINT ["/usr/local/bin/lotus-gateway"]
CMD ["-help"]
###
FROM base AS lotus-miner
MAINTAINER Lotus Development Team
COPY --from=builder /opt/filecoin/lotus-miner /usr/local/bin/
COPY scripts/docker-lotus-miner-entrypoint.sh /
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_MINER_PATH /var/lib/lotus-miner
RUN mkdir /var/lib/lotus-miner /var/tmp/filecoin-proof-parameters
RUN chown fc: /var/lib/lotus-miner /var/tmp/filecoin-proof-parameters
VOLUME /var/lib/lotus-miner
VOLUME /var/tmp/filecoin-proof-parameters
USER fc
EXPOSE 2345
ENTRYPOINT ["/docker-lotus-miner-entrypoint.sh"]
CMD ["-help"]
###
FROM base AS lotus-worker
MAINTAINER Lotus Development Team
COPY --from=builder /opt/filecoin/lotus-worker /usr/local/bin/
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_WORKER_PATH /var/lib/lotus-worker
RUN mkdir /var/lib/lotus-worker
RUN chown fc: /var/lib/lotus-worker
VOLUME /var/lib/lotus-worker
USER fc
EXPOSE 3456
ENTRYPOINT ["/usr/local/bin/lotus-worker"]
CMD ["-help"]
###
from base as lotus-all-in-one
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_MINER_PATH /var/lib/lotus-miner
ENV LOTUS_PATH /var/lib/lotus
ENV LOTUS_WORKER_PATH /var/lib/lotus-worker
ENV WALLET_PATH /var/lib/lotus-wallet
ENV DOCKER_LOTUS_IMPORT_SNAPSHOT https://fil-chain-snapshots-fallback.s3.amazonaws.com/mainnet/minimal_finality_stateroots_latest.car
COPY --from=builder /opt/filecoin/lotus /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-shed /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-wallet /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-gateway /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-miner /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-worker /usr/local/bin/
COPY --from=builder /opt/filecoin/lotus-stats /usr/local/bin/
RUN mkdir /var/tmp/filecoin-proof-parameters
RUN mkdir /var/lib/lotus
RUN mkdir /var/lib/lotus-miner
RUN mkdir /var/lib/lotus-worker
RUN mkdir /var/lib/lotus-wallet
RUN chown fc: /var/tmp/filecoin-proof-parameters
RUN chown fc: /var/lib/lotus
RUN chown fc: /var/lib/lotus-miner
RUN chown fc: /var/lib/lotus-worker
RUN chown fc: /var/lib/lotus-wallet
VOLUME /var/tmp/filecoin-proof-parameters
VOLUME /var/lib/lotus
VOLUME /var/lib/lotus-miner
VOLUME /var/lib/lotus-worker
VOLUME /var/lib/lotus-wallet
EXPOSE 1234
EXPOSE 2345
EXPOSE 3456
EXPOSE 1777
###
from base as lotus-test
ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
ENV LOTUS_MINER_PATH /var/lib/lotus-miner
ENV LOTUS_PATH /var/lib/lotus
ENV LOTUS_WORKER_PATH /var/lib/lotus-worker
ENV WALLET_PATH /var/lib/lotus-wallet
COPY --from=builder-test /opt/filecoin/lotus /usr/local/bin/
COPY --from=builder-test /opt/filecoin/lotus-miner /usr/local/bin/
COPY --from=builder-test /opt/filecoin/lotus-worker /usr/local/bin/
COPY --from=builder-test /opt/filecoin/lotus-seed /usr/local/bin/
RUN mkdir /var/tmp/filecoin-proof-parameters
RUN mkdir /var/lib/lotus
RUN mkdir /var/lib/lotus-miner
RUN mkdir /var/lib/lotus-worker
RUN mkdir /var/lib/lotus-wallet
RUN chown fc: /var/tmp/filecoin-proof-parameters
RUN chown fc: /var/lib/lotus
RUN chown fc: /var/lib/lotus-miner
RUN chown fc: /var/lib/lotus-worker
RUN chown fc: /var/lib/lotus-wallet
VOLUME /var/tmp/filecoin-proof-parameters
VOLUME /var/lib/lotus
VOLUME /var/lib/lotus-miner
VOLUME /var/lib/lotus-worker
VOLUME /var/lib/lotus-wallet
EXPOSE 1234
EXPOSE 2345
EXPOSE 3456
EXPOSE 1777
+1
View File
@@ -0,0 +1 @@
1.20.7
+1 -1
View File
@@ -73,7 +73,7 @@ All releases under an odd minor version number indicate **feature releases**. Th
Feature releases include new development and bug fixes. They are not mandatory, but still highly recommended, **as they may contain critical security fixes**. Note that some of these releases may be very small patch releases that include critical hotfixes. There is no way to distinguish between a bug fix release and a feature release on the "feature" version. Both cases will use the "patch" version number.
We aim to ship a new feature release of the Lotus software from our development (master) branch every 3 weeks, so users can expect a regular cadence of Lotus feature releases. Note that mandatory releases for network upgrades may disrupt this schedule. For more, see the Release Cycle section (TODO: Link).
We aim to ship a new feature release of the Lotus software from our development (master) branch every 3 weeks, so users can expect a regular cadence of Lotus feature releases. Note that mandatory releases for network upgrades may disrupt this schedule. For more, see the [Release Cycle section](#release-cycle).
### Examples Scenarios
+42 -29
View File
@@ -8,9 +8,11 @@ unexport GOFLAGS
GOCC?=go
GOVERSION:=$(shell $(GOCC) version | tr ' ' '\n' | grep go1 | sed 's/^go//' | awk -F. '{printf "%d%03d%03d", $$1, $$2, $$3}')
ifeq ($(shell expr $(GOVERSION) \< 1016000), 1)
GOVERSIONMIN:=$(shell cat GO_VERSION_MIN | awk -F. '{printf "%d%03d%03d", $$1, $$2, $$3}')
ifeq ($(shell expr $(GOVERSION) \< $(GOVERSIONMIN)), 1)
$(warning Your Golang version is go$(shell expr $(GOVERSION) / 1000000).$(shell expr $(GOVERSION) % 1000000 / 1000).$(shell expr $(GOVERSION) % 1000))
$(error Update Golang to version to at least 1.16.0)
$(error Update Golang to version to at least $(shell cat GO_VERSION_MIN))
endif
# git modules that need to be loaded
@@ -64,7 +66,7 @@ CLEAN+=build/.update-modules
deps: $(BUILD_DEPS)
.PHONY: deps
build-devnets: build lotus-seed lotus-shed lotus-wallet lotus-gateway
build-devnets: build lotus-seed lotus-shed
.PHONY: build-devnets
debug: GOFLAGS+=-tags=debug
@@ -133,6 +135,18 @@ install-worker:
install-app:
install -C ./$(APP) /usr/local/bin/$(APP)
uninstall: uninstall-daemon uninstall-miner uninstall-worker
.PHONY: uninstall
uninstall-daemon:
rm -f /usr/local/bin/lotus
uninstall-miner:
rm -f /usr/local/bin/lotus-miner
uninstall-worker:
rm -f /usr/local/bin/lotus-worker
# TOOLS
lotus-seed: $(BUILD_DEPS)
@@ -148,28 +162,16 @@ benchmarks:
@curl -X POST 'http://benchmark.kittyhawk.wtf/benchmark' -d '@bench.json' -u "${benchmark_http_cred}"
.PHONY: benchmarks
lotus-pond: 2k
$(GOCC) build -o lotus-pond ./lotuspond
.PHONY: lotus-pond
BINS+=lotus-pond
lotus-pond-front:
(cd lotuspond/front && npm i && CI=false npm run build)
.PHONY: lotus-pond-front
lotus-pond-app: lotus-pond-front lotus-pond
.PHONY: lotus-pond-app
lotus-fountain:
rm -f lotus-fountain
go build $(GOFLAGS) -o lotus-fountain ./cmd/lotus-fountain
go run github.com/GeertJohan/go.rice/rice append --exec lotus-fountain -i ./cmd/lotus-fountain -i ./build
$(GOCC) build $(GOFLAGS) -o lotus-fountain ./cmd/lotus-fountain
$(GOCC) run github.com/GeertJohan/go.rice/rice append --exec lotus-fountain -i ./cmd/lotus-fountain -i ./build
.PHONY: lotus-fountain
BINS+=lotus-fountain
lotus-bench:
rm -f lotus-bench
$(GOCC) build -o lotus-bench ./cmd/lotus-bench
$(GOCC) build $(GOFLAGS) -o lotus-bench ./cmd/lotus-bench
.PHONY: lotus-bench
BINS+=lotus-bench
@@ -191,9 +193,9 @@ lotus-health:
.PHONY: lotus-health
BINS+=lotus-health
lotus-wallet:
lotus-wallet: $(BUILD_DEPS)
rm -f lotus-wallet
$(GOCC) build -o lotus-wallet ./cmd/lotus-wallet
$(GOCC) build $(GOFLAGS) -o lotus-wallet ./cmd/lotus-wallet
.PHONY: lotus-wallet
BINS+=lotus-wallet
@@ -287,14 +289,20 @@ type-gen: api-gen
$(GOCC) generate -x ./...
goimports -w api/
method-gen: api-gen
(cd ./lotuspond/front/src/chain && $(GOCC) run ./methodgen.go)
actors-gen:
actors-code-gen:
$(GOCC) run ./gen/inline-gen . gen/inlinegen-data.json
$(GOCC) run ./chain/actors/agen
$(GOCC) fmt ./...
actors-gen: actors-code-gen fiximports
.PHONY: actors-gen
bundle-gen:
$(GOCC) run ./gen/bundle $(VERSION) $(RELEASE) $(RELEASE_OVERRIDES)
$(GOCC) fmt ./build/...
.PHONY: bundle-gen
api-gen:
$(GOCC) run ./gen/api
goimports -w api
@@ -313,7 +321,7 @@ appimage: lotus
cp ./lotus AppDir/usr/bin/
appimage-builder
docsgen: docsgen-md docsgen-openrpc
docsgen: docsgen-md docsgen-openrpc fiximports
docsgen-md-bin: api-gen actors-gen
$(GOCC) build $(GOFLAGS) -o docgen-md ./api/docgen/cmd
@@ -330,7 +338,7 @@ docsgen-md-storage: docsgen-md-bin
docsgen-md-worker: docsgen-md-bin
./docgen-md "api/api_worker.go" "Worker" "api" "./api" > documentation/en/api-v0-methods-worker.md
docsgen-openrpc: docsgen-openrpc-full docsgen-openrpc-storage docsgen-openrpc-worker
docsgen-openrpc: docsgen-openrpc-full docsgen-openrpc-storage docsgen-openrpc-worker docsgen-openrpc-gateway
docsgen-openrpc-full: docsgen-openrpc-bin
./docgen-openrpc "api/api_full.go" "FullNode" "api" "./api" -gzip > build/openrpc/full.json.gz
@@ -338,11 +346,16 @@ docsgen-openrpc-storage: docsgen-openrpc-bin
./docgen-openrpc "api/api_storage.go" "StorageMiner" "api" "./api" -gzip > build/openrpc/miner.json.gz
docsgen-openrpc-worker: docsgen-openrpc-bin
./docgen-openrpc "api/api_worker.go" "Worker" "api" "./api" -gzip > build/openrpc/worker.json.gz
docsgen-openrpc-gateway: docsgen-openrpc-bin
./docgen-openrpc "api/api_gateway.go" "Gateway" "api" "./api" -gzip > build/openrpc/gateway.json.gz
.PHONY: docsgen docsgen-md-bin docsgen-openrpc-bin
gen: actors-gen type-gen method-gen cfgdoc-gen docsgen api-gen circleci
@echo ">>> IF YOU'VE MODIFIED THE CLI OR CONFIG, REMEMBER TO ALSO MAKE docsgen-cli"
fiximports:
./scripts/fiximports
gen: actors-code-gen type-gen cfgdoc-gen docsgen api-gen circleci fiximports
@echo ">>> IF YOU'VE MODIFIED THE CLI OR CONFIG, REMEMBER TO ALSO RUN 'make docsgen-cli'"
.PHONY: gen
jen: gen
@@ -353,7 +366,7 @@ snap: lotus lotus-miner lotus-worker
# separate from gen because it needs binaries
docsgen-cli: lotus lotus-miner lotus-worker
python ./scripts/generate-lotus-cli.py
python3 ./scripts/generate-lotus-cli.py
./lotus config default > documentation/en/default-lotus-config.toml
./lotus-miner config default > documentation/en/default-lotus-miner-config.toml
.PHONY: docsgen-cli
+15 -13
View File
@@ -1,5 +1,5 @@
<p align="center">
<a href="https://docs.filecoin.io/" title="Filecoin Docs">
<a href="https://lotus.filecoin.io/" title="Filecoin Docs">
<img src="documentation/images/lotus_logo_h.png" alt="Project Lotus Logo" width="244" />
</a>
</p>
@@ -10,7 +10,7 @@
<a href="https://circleci.com/gh/filecoin-project/lotus"><img src="https://circleci.com/gh/filecoin-project/lotus.svg?style=svg"></a>
<a href="https://codecov.io/gh/filecoin-project/lotus"><img src="https://codecov.io/gh/filecoin-project/lotus/branch/master/graph/badge.svg"></a>
<a href="https://goreportcard.com/report/github.com/filecoin-project/lotus"><img src="https://goreportcard.com/badge/github.com/filecoin-project/lotus" /></a>
<a href=""><img src="https://img.shields.io/badge/golang-%3E%3D1.16-blue.svg" /></a>
<a href=""><img src="https://img.shields.io/badge/golang-%3E%3D1.18.8-blue.svg" /></a>
<br>
</p>
@@ -20,7 +20,7 @@ Lotus is an implementation of the Filecoin Distributed Storage Network. For more
> Note: The default `master` branch is the dev branch, please use with caution. For the latest stable version, checkout the most recent [`Latest release`](https://github.com/filecoin-project/lotus/releases).
For complete instructions on how to build, install and setup lotus, please visit [https://docs.filecoin.io/get-started/lotus](https://docs.filecoin.io/get-started/lotus/). Basic build instructions can be found further down in this readme.
For complete instructions on how to build, install and setup lotus, please visit [https://lotus.filecoin.io](https://lotus.filecoin.io/lotus/install/prerequisites/#supported-platforms). Basic build instructions can be found further down in this readme.
## Reporting a Vulnerability
@@ -31,7 +31,7 @@ Please send an email to security@filecoin.org. See our [security policy](SECURIT
These repos are independent and reusable modules, but are tightly integrated into Lotus to make up a fully featured Filecoin implementation:
- [go-fil-markets](https://github.com/filecoin-project/go-fil-markets) which has its own [kanban work tracker available here](https://app.zenhub.com/workspaces/markets-shared-components-5daa144a7046a60001c6e253/board)
- [specs-actors](https://github.com/filecoin-project/specs-actors) which has its own [kanban work tracker available here](https://app.zenhub.com/workspaces/actors-5ee6f3aa87591f0016c05685/board)
- [builtin-actors](https://github.com/filecoin-project/builtin-actors)
## Contribute
@@ -64,17 +64,17 @@ sudo apt install mesa-opencl-icd ocl-icd-opencl-dev gcc git bzr jq pkg-config cu
Fedora:
```
sudo dnf -y install gcc make git bzr jq pkgconfig mesa-libOpenCL mesa-libOpenCL-devel opencl-headers ocl-icd ocl-icd-devel clang llvm wget hwloc libhwloc-dev
sudo dnf -y install gcc make git bzr jq pkgconfig mesa-libOpenCL mesa-libOpenCL-devel opencl-headers ocl-icd ocl-icd-devel clang llvm wget hwloc hwloc-devel
```
For other distributions you can find the required dependencies [here.](https://docs.filecoin.io/get-started/lotus/installation/#system-specific) For instructions specific to macOS, you can find them [here.](https://docs.filecoin.io/get-started/lotus/installation/#macos)
For other distributions you can find the required dependencies [here.](https://lotus.filecoin.io/lotus/install/prerequisites/#supported-platforms) For instructions specific to macOS, you can find them [here.](https://lotus.filecoin.io/lotus/install/macos/)
#### Go
To build Lotus, you need a working installation of [Go 1.16.4 or higher](https://golang.org/dl/):
To build Lotus, you need a working installation of [Go 1.20.10 or higher](https://golang.org/dl/):
```bash
wget -c https://golang.org/dl/go1.16.4.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
wget -c https://golang.org/dl/go1.20.10.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
```
**TIP:**
@@ -101,7 +101,7 @@ Note: The default branch `master` is the dev branch where the latest new feature
2. To join mainnet, checkout the [latest release](https://github.com/filecoin-project/lotus/releases).
If you are changing networks from a previous Lotus installation or there has been a network reset, read the [Switch networks guide](https://docs.filecoin.io/get-started/lotus/switch-networks/) before proceeding.
If you are changing networks from a previous Lotus installation or there has been a network reset, read the [Switch networks guide](https://lotus.filecoin.io/lotus/manage/switch-networks/) before proceeding.
For networks other than mainnet, look up the current branch or tag/commit for the network you want to join in the [Filecoin networks dashboard](https://network.filecoin.io), then build Lotus for your specific network below.
@@ -113,8 +113,8 @@ Note: The default branch `master` is the dev branch where the latest new feature
Currently, the latest code on the _master_ branch corresponds to mainnet.
3. If you are in China, see "[Lotus: tips when running in China](https://docs.filecoin.io/get-started/lotus/tips-running-in-china/)".
4. This build instruction uses the prebuilt proofs binaries. If you want to build the proof binaries from source check the [complete instructions](https://docs.filecoin.io/get-started/lotus/installation/#build-and-install-lotus). Note, if you are building the proof binaries from source, [installing rustup](https://docs.filecoin.io/get-started/lotus/installation/#rustup) is also needed.
3. If you are in China, see "[Lotus: tips when running in China](https://lotus.filecoin.io/lotus/configure/nodes-in-china/)".
4. This build instruction uses the prebuilt proofs binaries. If you want to build the proof binaries from source check the [complete instructions](https://lotus.filecoin.io/lotus/install/prerequisites/). Note, if you are building the proof binaries from source, [installing rustup](https://lotus.filecoin.io/lotus/install/linux/#rustup) is also needed.
5. Build and install Lotus:
@@ -129,9 +129,11 @@ Note: The default branch `master` is the dev branch where the latest new feature
This will put `lotus`, `lotus-miner` and `lotus-worker` in `/usr/local/bin`.
`lotus` will use the `$HOME/.lotus` folder by default for storage (configuration, chain data, wallets, etc). See [advanced options](https://docs.filecoin.io/get-started/lotus/configuration-and-advanced-usage/) for information on how to customize the Lotus folder.
`lotus` will use the `$HOME/.lotus` folder by default for storage (configuration, chain data, wallets, etc). See [advanced options](https://lotus.filecoin.io/lotus/configure/defaults/#environment-variables) for information on how to customize the Lotus folder.
6. You should now have Lotus installed. You can now [start the Lotus daemon and sync the chain](https://docs.filecoin.io/get-started/lotus/installation/#start-the-lotus-daemon-and-sync-the-chain).
6. You should now have Lotus installed. You can now [start the Lotus daemon and sync the chain](https://lotus.filecoin.io/lotus/install/linux/#start-the-lotus-daemon-and-sync-the-chain).
7. (Optional) Follow the [Setting Up Prometheus and Grafana](https://github.com/filecoin-project/lotus/tree/master/metrics/README.md) guide for detailed instructions on setting up a working monitoring system running against a local running lotus node.
## License
+7 -3
View File
@@ -3,13 +3,14 @@ package api
import (
"context"
"fmt"
apitypes "github.com/filecoin-project/lotus/api/types"
"github.com/filecoin-project/lotus/journal/alerting"
"time"
"github.com/google/uuid"
"github.com/filecoin-project/go-jsonrpc/auth"
apitypes "github.com/filecoin-project/lotus/api/types"
"github.com/filecoin-project/lotus/journal/alerting"
)
// MODIFYING THE API INTERFACE
@@ -49,6 +50,9 @@ type Common interface {
// trigger graceful shutdown
Shutdown(context.Context) error //perm:admin
// StartTime returns node start time
StartTime(context.Context) (time.Time, error) //perm:read
// Session returns a random UUID of api provider session
Session(context.Context) (uuid.UUID, error) //perm:read
+42
View File
@@ -0,0 +1,42 @@
package api
import (
"errors"
"reflect"
"github.com/filecoin-project/go-jsonrpc"
)
const (
EOutOfGas = iota + jsonrpc.FirstUserCode
EActorNotFound
)
type ErrOutOfGas struct{}
func (e *ErrOutOfGas) Error() string {
return "call ran out of gas"
}
type ErrActorNotFound struct{}
func (e *ErrActorNotFound) Error() string {
return "actor not found"
}
var RPCErrors = jsonrpc.NewErrors()
func ErrorIsIn(err error, errorTypes []error) bool {
for _, etype := range errorTypes {
tmp := reflect.New(reflect.PointerTo(reflect.ValueOf(etype).Elem().Type())).Interface()
if errors.As(err, tmp) {
return true
}
}
return false
}
func init() {
RPCErrors.Register(EOutOfGas, new(*ErrOutOfGas))
RPCErrors.Register(EActorNotFound, new(*ErrActorNotFound))
}
+241 -35
View File
@@ -6,27 +6,32 @@ import (
"fmt"
"time"
"github.com/google/uuid"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/libp2p/go-libp2p-core/peer"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-bitfield"
datatransfer "github.com/filecoin-project/go-data-transfer"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/crypto"
"github.com/filecoin-project/go-state-types/dline"
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-fil-markets/storagemarket"
"github.com/filecoin-project/go-jsonrpc"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/builtin/v8/paych"
"github.com/filecoin-project/go-state-types/builtin/v9/market"
verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
"github.com/filecoin-project/go-state-types/crypto"
"github.com/filecoin-project/go-state-types/dline"
abinetwork "github.com/filecoin-project/go-state-types/network"
apitypes "github.com/filecoin-project/lotus/api/types"
"github.com/filecoin-project/lotus/chain/actors/builtin"
"github.com/filecoin-project/lotus/chain/actors/builtin/market"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/actors/builtin/paych"
"github.com/filecoin-project/lotus/chain/actors/builtin/power"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/chain/types/ethtypes"
"github.com/filecoin-project/lotus/node/modules/dtypes"
"github.com/filecoin-project/lotus/node/repo/imports"
)
@@ -37,6 +42,7 @@ import (
type ChainIO interface {
ChainReadObj(context.Context, cid.Cid) ([]byte, error)
ChainHasObj(context.Context, cid.Cid) (bool, error)
ChainPutObj(context.Context, blocks.Block) error
}
const LookbackNoLimit = abi.ChainEpoch(-1)
@@ -122,6 +128,9 @@ type FullNode interface {
// ChainHasObj checks if a given CID exists in the chain blockstore.
ChainHasObj(context.Context, cid.Cid) (bool, error) //perm:read
// ChainPutObj puts a given object into the block store
ChainPutObj(context.Context, blocks.Block) error //perm:admin
// ChainStatObj returns statistics about the graph referenced by 'obj'.
// If 'base' is also specified, then the returned stat will be a diff
// between the two objects.
@@ -143,7 +152,7 @@ type FullNode interface {
// ChainGetPath returns a set of revert/apply operations needed to get from
// one tipset to another, for example:
//```
// ```
// to
// ^
// from tAA
@@ -152,7 +161,7 @@ type FullNode interface {
// ^---*--^
// ^
// tRR
//```
// ```
// Would return `[revert(tBA), apply(tAB), apply(tAA)]`
ChainGetPath(ctx context.Context, from types.TipSetKey, to types.TipSetKey) ([]*HeadChange, error) //perm:read
@@ -163,6 +172,24 @@ type FullNode interface {
// If oldmsgskip is set, messages from before the requested roots are also not included.
ChainExport(ctx context.Context, nroots abi.ChainEpoch, oldmsgskip bool, tsk types.TipSetKey) (<-chan []byte, error) //perm:read
// ChainExportRangeInternal triggers the export of a chain
// CAR-snapshot directly to disk. It is similar to ChainExport,
// except, depending on options, the snapshot can include receipts,
// messages and stateroots for the length between the specified head
// and tail, thus producing "archival-grade" snapshots that include
// all the on-chain data. The header chain is included back to
// genesis and these snapshots can be used to initialize Filecoin
// nodes.
ChainExportRangeInternal(ctx context.Context, head, tail types.TipSetKey, cfg ChainExportConfig) error //perm:admin
// ChainPrune forces compaction on cold store and garbage collects; only supported if you
// are using the splitstore
ChainPrune(ctx context.Context, opts PruneOpts) error //perm:admin
// ChainHotGC does online (badger) GC on the hot store; only supported if you are using
// the splitstore
ChainHotGC(ctx context.Context, opts HotGCOpts) error //perm:admin
// ChainCheckBlockstore performs an (asynchronous) health check on the chain/state blockstore
// if supported by the underlying implementation.
ChainCheckBlockstore(context.Context) error //perm:admin
@@ -170,13 +197,8 @@ type FullNode interface {
// ChainBlockstoreInfo returns some basic information about the blockstore
ChainBlockstoreInfo(context.Context) (map[string]interface{}, error) //perm:read
// MethodGroup: Beacon
// The Beacon method group contains methods for interacting with the random beacon (DRAND)
// BeaconGetEntry returns the beacon entry for the given filecoin epoch. If
// the entry has not yet been produced, the call will block until the entry
// becomes available
BeaconGetEntry(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error) //perm:read
// ChainGetEvents returns the events under an event AMT root CID.
ChainGetEvents(context.Context, cid.Cid) ([]types.Event, error) //perm:read
// GasEstimateFeeCap estimates gas fee cap
GasEstimateFeeCap(context.Context, *types.Message, int64, types.TipSetKey) (types.BigInt, error) //perm:read
@@ -274,8 +296,10 @@ type FullNode interface {
MpoolGetNonce(context.Context, address.Address) (uint64, error) //perm:read
MpoolSub(context.Context) (<-chan MpoolUpdate, error) //perm:read
// MpoolClear clears pending messages from the mpool
MpoolClear(context.Context, bool) error //perm:write
// MpoolClear clears pending messages from the mpool.
// If clearLocal is true, ALL messages will be cleared.
// If clearLocal is false, local messages will be protected, all others will be cleared.
MpoolClear(ctx context.Context, clearLocal bool) error //perm:write
// MpoolGetConfig returns (a copy of) the current mpool config
MpoolGetConfig(context.Context) (*types.MpoolConfig, error) //perm:read
@@ -360,7 +384,7 @@ type FullNode interface {
// ClientGetRetrievalUpdates returns status of updated retrieval deals
ClientGetRetrievalUpdates(ctx context.Context) (<-chan RetrievalInfo, error) //perm:write
// ClientQueryAsk returns a signed StorageAsk from the specified miner.
ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*storagemarket.StorageAsk, error) //perm:read
ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*StorageAsk, error) //perm:read
// ClientCalcCommP calculates the CommP and data size of the specified CID
ClientDealPieceCID(ctx context.Context, root cid.Cid) (DataCIDSize, error) //perm:read
// ClientCalcCommP calculates the CommP for a specified file
@@ -384,12 +408,12 @@ type FullNode interface {
ClientCancelRetrievalDeal(ctx context.Context, dealid retrievalmarket.DealID) error //perm:write
// ClientUnimport removes references to the specified file from filestore
//ClientUnimport(path string)
// ClientUnimport(path string)
// ClientListImports lists imported files and their root CIDs
ClientListImports(ctx context.Context) ([]Import, error) //perm:write
//ClientListAsks() []Ask
// ClientListAsks() []Ask
// MethodGroup: State
// The State methods are used to query, inspect, and interact with chain state.
@@ -404,7 +428,7 @@ type FullNode interface {
StateCall(context.Context, *types.Message, types.TipSetKey) (*InvocResult, error) //perm:read
// StateReplay replays a given message, assuming it was included in a block in the specified tipset.
//
// If a tipset key is provided, and a replacing message is found on chain,
// If a tipset key is provided, and a replacing message is not found on chain,
// the method will return an error saying that the message wasn't found
//
// If no tipset key is provided, the appropriate tipset is looked up, and if
@@ -443,7 +467,7 @@ type FullNode interface {
// StateMinerPower returns the power of the indicated miner
StateMinerPower(context.Context, address.Address, types.TipSetKey) (*MinerPower, error) //perm:read
// StateMinerInfo returns info about the indicated miner
StateMinerInfo(context.Context, address.Address, types.TipSetKey) (miner.MinerInfo, error) //perm:read
StateMinerInfo(context.Context, address.Address, types.TipSetKey) (MinerInfo, error) //perm:read
// StateMinerDeadlines returns all the proving deadlines for the given miner
StateMinerDeadlines(context.Context, address.Address, types.TipSetKey) ([]Deadline, error) //perm:read
// StateMinerPartitions returns all partitions in the specified deadline
@@ -460,10 +484,15 @@ type FullNode interface {
StateMinerInitialPledgeCollateral(context.Context, address.Address, miner.SectorPreCommitInfo, types.TipSetKey) (types.BigInt, error) //perm:read
// StateMinerAvailableBalance returns the portion of a miner's balance that can be withdrawn or spent
StateMinerAvailableBalance(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) //perm:read
// StateMinerSectorAllocated checks if a sector is allocated
// StateMinerSectorAllocated checks if a sector number is marked as allocated.
StateMinerSectorAllocated(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (bool, error) //perm:read
// StateSectorPreCommitInfo returns the PreCommit info for the specified miner's sector
StateSectorPreCommitInfo(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (miner.SectorPreCommitOnChainInfo, error) //perm:read
// StateSectorPreCommitInfo returns the PreCommit info for the specified miner's sector.
// Returns nil and no error if the sector isn't precommitted.
//
// Note that the sector number may be allocated while PreCommitInfo is nil. This means that either allocated sector
// numbers were compacted, and the sector number was marked as allocated in order to reduce size of the allocated
// sectors bitfield, or that the sector was precommitted, but the precommit has expired.
StateSectorPreCommitInfo(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*miner.SectorPreCommitOnChainInfo, error) //perm:read
// StateSectorGetInfo returns the on-chain info for the specified miner's sector. Returns null in case the sector info isn't found
// NOTE: returned info.Expiration may not be accurate in some cases, use StateSectorExpiration to get accurate
// expiration epoch
@@ -517,18 +546,35 @@ type FullNode interface {
// StateMarketParticipants returns the Escrow and Locked balances of every participant in the Storage Market
StateMarketParticipants(context.Context, types.TipSetKey) (map[string]MarketBalance, error) //perm:read
// StateMarketDeals returns information about every deal in the Storage Market
StateMarketDeals(context.Context, types.TipSetKey) (map[string]MarketDeal, error) //perm:read
StateMarketDeals(context.Context, types.TipSetKey) (map[string]*MarketDeal, error) //perm:read
// StateMarketStorageDeal returns information about the indicated deal
StateMarketStorageDeal(context.Context, abi.DealID, types.TipSetKey) (*MarketDeal, error) //perm:read
// StateGetAllocationForPendingDeal returns the allocation for a given deal ID of a pending deal. Returns nil if
// pending allocation is not found.
StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error) //perm:read
// StateGetAllocation returns the allocation for a given address and allocation ID.
StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error) //perm:read
// StateGetAllocations returns the all the allocations for a given client.
StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) //perm:read
// StateGetClaim returns the claim for a given address and claim ID.
StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error) //perm:read
// StateGetClaims returns the all the claims for a given provider.
StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) //perm:read
// StateComputeDataCID computes DataCID from a set of on-chain deals
StateComputeDataCID(ctx context.Context, maddr address.Address, sectorType abi.RegisteredSealProof, deals []abi.DealID, tsk types.TipSetKey) (cid.Cid, error) //perm:read
// StateLookupID retrieves the ID address of the given address
StateLookupID(context.Context, address.Address, types.TipSetKey) (address.Address, error) //perm:read
// StateAccountKey returns the public key address of the given ID address
// StateAccountKey returns the public key address of the given ID address for secp and bls accounts
StateAccountKey(context.Context, address.Address, types.TipSetKey) (address.Address, error) //perm:read
// StateLookupRobustAddress returns the public key address of the given ID address for non-account addresses (multisig, miners etc)
StateLookupRobustAddress(context.Context, address.Address, types.TipSetKey) (address.Address, error) //perm:read
// StateChangedActors returns all the actors whose states change between the two given state CIDs
// TODO: Should this take tipset keys instead?
StateChangedActors(context.Context, cid.Cid, cid.Cid) (map[string]types.Actor, error) //perm:read
// StateMinerSectorCount returns the number of sectors in a miner's sector set and proving set
StateMinerSectorCount(context.Context, address.Address, types.TipSetKey) (MinerSectors, error) //perm:read
// StateMinerAllocated returns a bitfield containing all sector numbers marked as allocated in miner state
StateMinerAllocated(context.Context, address.Address, types.TipSetKey) (*bitfield.BitField, error) //perm:read
// StateCompute is a flexible command that applies the given messages on the given tipset.
// The messages are run as though the VM were at the provided height.
//
@@ -570,7 +616,7 @@ type FullNode interface {
// Returns nil if there is no entry in the data cap table for the
// address.
StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error) //perm:read
// StateVerifiedClientStatus returns the address of the Verified Registry's root key
// StateVerifiedRegistryRootKey returns the address of the Verified Registry's root key
StateVerifiedRegistryRootKey(ctx context.Context, tsk types.TipSetKey) (address.Address, error) //perm:read
// StateDealProviderCollateralBounds returns the min and max collateral a storage provider
// can issue. It takes the deal size and verified status as parameters.
@@ -584,12 +630,29 @@ type FullNode interface {
StateVMCirculatingSupplyInternal(context.Context, types.TipSetKey) (CirculatingSupply, error) //perm:read
// StateNetworkVersion returns the network version at the given tipset
StateNetworkVersion(context.Context, types.TipSetKey) (apitypes.NetworkVersion, error) //perm:read
// StateActorCodeCIDs returns the CIDs of all the builtin actors for the given network version
StateActorCodeCIDs(context.Context, abinetwork.Version) (map[string]cid.Cid, error) //perm:read
// StateActorManifestCID returns the CID of the builtin actors manifest for the given network version
StateActorManifestCID(context.Context, abinetwork.Version) (cid.Cid, error) //perm:read
// StateGetRandomnessFromTickets is used to sample the chain for randomness.
StateGetRandomnessFromTickets(ctx context.Context, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte, tsk types.TipSetKey) (abi.Randomness, error) //perm:read
// StateGetRandomnessFromBeacon is used to sample the beacon for randomness.
StateGetRandomnessFromBeacon(ctx context.Context, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte, tsk types.TipSetKey) (abi.Randomness, error) //perm:read
// StateGetRandomnessDigestFromTickets. is used to sample the chain for randomness.
StateGetRandomnessDigestFromTickets(ctx context.Context, randEpoch abi.ChainEpoch, tsk types.TipSetKey) (abi.Randomness, error) //perm:read
// StateGetRandomnessDigestFromBeacon is used to sample the beacon for randomness.
StateGetRandomnessDigestFromBeacon(ctx context.Context, randEpoch abi.ChainEpoch, tsk types.TipSetKey) (abi.Randomness, error) //perm:read
// StateGetBeaconEntry returns the beacon entry for the given filecoin epoch. If
// the entry has not yet been produced, the call will block until the entry
// becomes available
StateGetBeaconEntry(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error) //perm:read
// StateGetNetworkParams return current network params
StateGetNetworkParams(ctx context.Context) (*NetworkParams, error) //perm:read
// MethodGroup: Msig
// The Msig methods are used to interact with multisig wallets on the
// filecoin network
@@ -602,14 +665,14 @@ type FullNode interface {
// It takes the following params: <multisig address>, <start epoch>, <end epoch>
MsigGetVested(context.Context, address.Address, types.TipSetKey, types.TipSetKey) (types.BigInt, error) //perm:read
//MsigGetPending returns pending transactions for the given multisig
//wallet. Once pending transactions are fully approved, they will no longer
//appear here.
// MsigGetPending returns pending transactions for the given multisig
// wallet. Once pending transactions are fully approved, they will no longer
// appear here.
MsigGetPending(context.Context, address.Address, types.TipSetKey) ([]*MsigTransaction, error) //perm:read
// MsigCreate creates a multisig wallet
// It takes the following params: <required number of senders>, <approving addresses>, <unlock duration>
//<initial balance>, <sender address of the create msg>, <gas price>
// <initial balance>, <sender address of the create msg>, <gas price>
MsigCreate(context.Context, uint64, []address.Address, abi.ChainEpoch, types.BigInt, address.Address, types.BigInt) (*MessagePrototype, error) //perm:sign
// MsigPropose proposes a multisig message
@@ -721,11 +784,121 @@ type FullNode interface {
NodeStatus(ctx context.Context, inclChainStatus bool) (NodeStatus, error) //perm:read
// MethodGroup: Eth
// These methods are used for Ethereum-compatible JSON-RPC calls
//
// EthAccounts will always return [] since we don't expect Lotus to manage private keys
EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) //perm:read
// EthAddressToFilecoinAddress converts an EthAddress into an f410 Filecoin Address
EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error) //perm:read
// FilecoinAddressToEthAddress converts an f410 or f0 Filecoin Address to an EthAddress
FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, error) //perm:read
// EthBlockNumber returns the height of the latest (heaviest) TipSet
EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) //perm:read
// EthGetBlockTransactionCountByNumber returns the number of messages in the TipSet
EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error) //perm:read
// EthGetBlockTransactionCountByHash returns the number of messages in the TipSet
EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error) //perm:read
EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error) //perm:read
EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error) //perm:read
EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error) //perm:read
EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error) //perm:read
EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error) //perm:read
EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error) //perm:read
EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error) //perm:read
EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*EthTxReceipt, error) //perm:read
EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*EthTxReceipt, error) //perm:read
EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) //perm:read
EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) //perm:read
EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read
EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read
EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error) //perm:read
EthChainId(ctx context.Context) (ethtypes.EthUint64, error) //perm:read
EthSyncing(ctx context.Context) (ethtypes.EthSyncingResult, error) //perm:read
NetVersion(ctx context.Context) (string, error) //perm:read
NetListening(ctx context.Context) (bool, error) //perm:read
EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, error) //perm:read
EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error) //perm:read
EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthFeeHistory, error) //perm:read
EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error) //perm:read
EthEstimateGas(ctx context.Context, tx ethtypes.EthCall) (ethtypes.EthUint64, error) //perm:read
EthCall(ctx context.Context, tx ethtypes.EthCall, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read
EthSendRawTransaction(ctx context.Context, rawTx ethtypes.EthBytes) (ethtypes.EthHash, error) //perm:read
// Returns event logs matching given filter spec.
EthGetLogs(ctx context.Context, filter *ethtypes.EthFilterSpec) (*ethtypes.EthFilterResult, error) //perm:read
// Polling method for a filter, returns event logs which occurred since last poll.
// (requires write perm since timestamp of last filter execution will be written)
EthGetFilterChanges(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error) //perm:read
// Returns event logs matching filter with given id.
// (requires write perm since timestamp of last filter execution will be written)
EthGetFilterLogs(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error) //perm:read
// Installs a persistent filter based on given filter spec.
EthNewFilter(ctx context.Context, filter *ethtypes.EthFilterSpec) (ethtypes.EthFilterID, error) //perm:read
// Installs a persistent filter to notify when a new block arrives.
EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error) //perm:read
// Installs a persistent filter to notify when new messages arrive in the message pool.
EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error) //perm:read
// Uninstalls a filter with given id.
EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error) //perm:read
// Subscribe to different event types using websockets
// eventTypes is one or more of:
// - newHeads: notify when new blocks arrive.
// - pendingTransactions: notify when new messages arrive in the message pool.
// - logs: notify new event logs that match a criteria
// params contains additional parameters used with the log event type
// The client will receive a stream of EthSubscriptionResponse values until EthUnsubscribe is called.
EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error) //perm:read
// Unsubscribe from a websocket subscription
EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error) //perm:read
// Returns the client version
Web3ClientVersion(ctx context.Context) (string, error) //perm:read
// TraceAPI related methods
//
// Returns traces created at given block
EthTraceBlock(ctx context.Context, blkNum string) ([]*ethtypes.EthTraceBlock, error) //perm:read
// Replays all transactions in a block returning the requested traces for each transaction
EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error) //perm:read
// go-ethereum "debug" trace endpoints
EthDebugTraceCall(ctx context.Context, args ethtypes.EthTxArgs, blockNrOrHash ethtypes.EthBlockNumberOrHash, config *ethtypes.TraceCallConfig) (interface{}, error)
EthDebugTraceBlockByNumber(ctx context.Context, number string, config *ethtypes.TraceConfig) ([]*ethtypes.TxTraceResult, error)
EthDebugTraceBlockByHash(ctx context.Context, hash ethtypes.EthHash, config *ethtypes.TraceConfig) ([]*ethtypes.TxTraceResult, error)
// CreateBackup creates node backup onder the specified file name. The
// method requires that the lotus daemon is running with the
// LOTUS_BACKUP_BASE_PATH environment variable set to some path, and that
// the path specified when calling CreateBackup is within the base path
CreateBackup(ctx context.Context, fpath string) error //perm:admin
RaftState(ctx context.Context) (*RaftStateData, error) //perm:read
RaftLeader(ctx context.Context) (peer.ID, error) //perm:read
}
// reverse interface to the client, called after EthSubscribe
type EthSubscriber interface {
// note: the parameter is ethtypes.EthSubscriptionResponse serialized as json object
EthSubscription(ctx context.Context, r jsonrpc.RawParams) error // rpc_method:eth_subscription notify:true
}
type StorageAsk struct {
Response *storagemarket.StorageAsk
DealProtocols []string
}
type FileRef struct {
@@ -969,8 +1142,12 @@ type RetrievalOrder struct {
Client address.Address
Miner address.Address
MinerPeer *retrievalmarket.RetrievalPeer
RemoteStore *RemoteStoreID `json:"RemoteStore,omitempty"`
}
type RemoteStoreID = uuid.UUID
type InvocResult struct {
MsgCid cid.Cid
Msg *types.Message
@@ -1196,3 +1373,32 @@ type MsigTransaction struct {
Approved []address.Address
}
type PruneOpts struct {
MovingGC bool
RetainState int64
}
type HotGCOpts struct {
Threshold float64
Periodic bool
Moving bool
}
type EthTxReceipt struct {
TransactionHash ethtypes.EthHash `json:"transactionHash"`
TransactionIndex ethtypes.EthUint64 `json:"transactionIndex"`
BlockHash ethtypes.EthHash `json:"blockHash"`
BlockNumber ethtypes.EthUint64 `json:"blockNumber"`
From ethtypes.EthAddress `json:"from"`
To *ethtypes.EthAddress `json:"to"`
StateRoot ethtypes.EthHash `json:"root"`
Status ethtypes.EthUint64 `json:"status"`
ContractAddress *ethtypes.EthAddress `json:"contractAddress"`
CumulativeGasUsed ethtypes.EthUint64 `json:"cumulativeGasUsed"`
GasUsed ethtypes.EthUint64 `json:"gasUsed"`
EffectiveGasPrice ethtypes.EthBigInt `json:"effectiveGasPrice"`
LogsBloom ethtypes.EthBytes `json:"logsBloom"`
Logs []ethtypes.EthLog `json:"logs"`
Type ethtypes.EthUint64 `json:"type"`
}
+69 -3
View File
@@ -3,15 +3,20 @@ package api
import (
"context"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-jsonrpc"
"github.com/filecoin-project/go-state-types/abi"
verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
"github.com/filecoin-project/go-state-types/dline"
apitypes "github.com/filecoin-project/lotus/api/types"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/chain/types/ethtypes"
"github.com/filecoin-project/lotus/node/modules/dtypes"
)
// MODIFYING THE API INTERFACE
@@ -22,14 +27,21 @@ import (
// When adding / changing methods in this file:
// * Do the change here
// * Adjust implementation in `node/impl/`
// * Run `make gen` - this will:
// * Run `make clean && make deps && make gen` - this will:
// * Generate proxy structs
// * Generate mocks
// * Generate markdown docs
// * Generate openrpc blobs
type Gateway interface {
MpoolPending(context.Context, types.TipSetKey) ([]*types.SignedMessage, error)
ChainGetBlock(context.Context, cid.Cid) (*types.BlockHeader, error)
MinerGetBaseInfo(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*MiningBaseInfo, error)
StateMinerSectorCount(context.Context, address.Address, types.TipSetKey) (MinerSectors, error)
GasEstimateGasPremium(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error)
StateReplay(context.Context, types.TipSetKey, cid.Cid) (*InvocResult, error)
ChainHasObj(context.Context, cid.Cid) (bool, error)
ChainPutObj(context.Context, blocks.Block) error
ChainHead(ctx context.Context) (*types.TipSet, error)
ChainGetParentMessages(context.Context, cid.Cid) ([]Message, error)
ChainGetParentReceipts(context.Context, cid.Cid) ([]*types.MessageReceipt, error)
@@ -43,27 +55,81 @@ type Gateway interface {
ChainReadObj(context.Context, cid.Cid) ([]byte, error)
ChainGetGenesis(context.Context) (*types.TipSet, error)
GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *MessageSendSpec, tsk types.TipSetKey) (*types.Message, error)
MpoolGetNonce(ctx context.Context, addr address.Address) (uint64, error)
MpoolPush(ctx context.Context, sm *types.SignedMessage) (cid.Cid, error)
MsigGetAvailableBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error)
MsigGetPending(context.Context, address.Address, types.TipSetKey) ([]*MsigTransaction, error)
MsigGetVested(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error)
MsigGetVestingSchedule(ctx context.Context, addr address.Address, tsk types.TipSetKey) (MsigVesting, error)
StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
StateCall(ctx context.Context, msg *types.Message, tsk types.TipSetKey) (*InvocResult, error)
StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (DealCollateralBounds, error)
StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error)
StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error)
StateReadState(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*ActorState, error) //perm:read
StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error)
StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error)
StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error)
StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error)
StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error)
StateReadState(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*ActorState, error)
StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error)
StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (MarketBalance, error)
StateMarketStorageDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*MarketDeal, error)
StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (miner.MinerInfo, error)
StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (MinerInfo, error)
StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error)
StateMinerPower(context.Context, address.Address, types.TipSetKey) (*MinerPower, error)
StateNetworkName(context.Context) (dtypes.NetworkName, error)
StateNetworkVersion(context.Context, types.TipSetKey) (apitypes.NetworkVersion, error)
StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error)
StateVerifierStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error)
StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error)
StateSearchMsg(ctx context.Context, from types.TipSetKey, msg cid.Cid, limit abi.ChainEpoch, allowReplaced bool) (*MsgLookup, error)
StateWaitMsg(ctx context.Context, cid cid.Cid, confidence uint64, limit abi.ChainEpoch, allowReplaced bool) (*MsgLookup, error)
WalletBalance(context.Context, address.Address) (types.BigInt, error)
Version(context.Context) (APIVersion, error)
Discover(context.Context) (apitypes.OpenRPCDocument, error)
EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error)
EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error)
EthGetBlockTransactionCountByNumber(ctx context.Context, blkNum ethtypes.EthUint64) (ethtypes.EthUint64, error)
EthGetBlockTransactionCountByHash(ctx context.Context, blkHash ethtypes.EthHash) (ethtypes.EthUint64, error)
EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error)
EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error)
EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error)
EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error)
EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error)
EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error)
EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error)
EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*EthTxReceipt, error)
EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*EthTxReceipt, error)
EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)
EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)
EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error)
EthChainId(ctx context.Context) (ethtypes.EthUint64, error)
EthSyncing(ctx context.Context) (ethtypes.EthSyncingResult, error)
NetVersion(ctx context.Context) (string, error)
NetListening(ctx context.Context) (bool, error)
EthProtocolVersion(ctx context.Context) (ethtypes.EthUint64, error)
EthGasPrice(ctx context.Context) (ethtypes.EthBigInt, error)
EthFeeHistory(ctx context.Context, p jsonrpc.RawParams) (ethtypes.EthFeeHistory, error)
EthMaxPriorityFeePerGas(ctx context.Context) (ethtypes.EthBigInt, error)
EthEstimateGas(ctx context.Context, tx ethtypes.EthCall) (ethtypes.EthUint64, error)
EthCall(ctx context.Context, tx ethtypes.EthCall, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error)
EthSendRawTransaction(ctx context.Context, rawTx ethtypes.EthBytes) (ethtypes.EthHash, error)
EthGetLogs(ctx context.Context, filter *ethtypes.EthFilterSpec) (*ethtypes.EthFilterResult, error)
EthGetFilterChanges(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error)
EthGetFilterLogs(ctx context.Context, id ethtypes.EthFilterID) (*ethtypes.EthFilterResult, error)
EthNewFilter(ctx context.Context, filter *ethtypes.EthFilterSpec) (ethtypes.EthFilterID, error)
EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error)
EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error)
EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error)
EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error)
EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error)
Web3ClientVersion(ctx context.Context) (string, error)
EthTraceBlock(ctx context.Context, blkNum string) ([]*ethtypes.EthTraceBlock, error)
EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error)
EthDebugTraceCall(ctx context.Context, args ethtypes.EthTxArgs, blockNrOrHash ethtypes.EthBlockNumberOrHash, config *ethtypes.TraceCallConfig) (interface{}, error)
EthDebugTraceBlockByNumber(ctx context.Context, number string, config *ethtypes.TraceConfig) ([]*ethtypes.TxTraceResult, error)
EthDebugTraceBlockByHash(ctx context.Context, hash ethtypes.EthHash, config *ethtypes.TraceConfig) ([]*ethtypes.TxTraceResult, error)
}
+5 -5
View File
@@ -4,10 +4,10 @@ import (
"context"
"time"
metrics "github.com/libp2p/go-libp2p-core/metrics"
"github.com/libp2p/go-libp2p-core/network"
"github.com/libp2p/go-libp2p-core/peer"
"github.com/libp2p/go-libp2p-core/protocol"
"github.com/libp2p/go-libp2p/core/metrics"
"github.com/libp2p/go-libp2p/core/network"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/libp2p/go-libp2p/core/protocol"
)
// MODIFYING THE API INTERFACE
@@ -73,5 +73,5 @@ type CommonNet interface {
type NatInfo struct {
Reachability network.Reachability
PublicAddr string
PublicAddrs []string
}
+239 -50
View File
@@ -5,27 +5,28 @@ import (
"context"
"time"
"github.com/filecoin-project/lotus/chain/actors/builtin"
"github.com/google/uuid"
"github.com/ipfs/go-cid"
"github.com/libp2p/go-libp2p-core/peer"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/filecoin-project/go-address"
datatransfer "github.com/filecoin-project/go-data-transfer"
"github.com/filecoin-project/go-state-types/abi"
abinetwork "github.com/filecoin-project/go-state-types/network"
"github.com/filecoin-project/specs-actors/v2/actors/builtin/market"
"github.com/filecoin-project/specs-storage/storage"
"github.com/filecoin-project/go-bitfield"
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
"github.com/filecoin-project/go-fil-markets/piecestore"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-fil-markets/storagemarket"
"github.com/filecoin-project/go-jsonrpc/auth"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/builtin/v9/market"
abinetwork "github.com/filecoin-project/go-state-types/network"
builtinactors "github.com/filecoin-project/lotus/chain/actors/builtin"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/extern/sector-storage/fsutil"
"github.com/filecoin-project/lotus/extern/sector-storage/storiface"
"github.com/filecoin-project/lotus/extern/storage-sealing/sealiface"
"github.com/filecoin-project/lotus/storage/pipeline/sealiface"
"github.com/filecoin-project/lotus/storage/sealer/fsutil"
"github.com/filecoin-project/lotus/storage/sealer/storiface"
)
// MODIFYING THE API INTERFACE
@@ -49,8 +50,22 @@ type StorageMiner interface {
ActorSectorSize(context.Context, address.Address) (abi.SectorSize, error) //perm:read
ActorAddressConfig(ctx context.Context) (AddressConfig, error) //perm:read
// WithdrawBalance allows to withdraw balance from miner actor to owner address
// Specify amount as "0" to withdraw full balance. This method returns a message CID
// and does not wait for message execution
ActorWithdrawBalance(ctx context.Context, amount abi.TokenAmount) (cid.Cid, error) //perm:admin
// BeneficiaryWithdrawBalance allows the beneficiary of a miner to withdraw balance from miner actor
// Specify amount as "0" to withdraw full balance. This method returns a message CID
// and does not wait for message execution
BeneficiaryWithdrawBalance(context.Context, abi.TokenAmount) (cid.Cid, error) //perm:admin
MiningBase(context.Context) (*types.TipSet, error) //perm:read
ComputeWindowPoSt(ctx context.Context, dlIdx uint64, tsk types.TipSetKey) ([]miner.SubmitWindowedPoStParams, error) //perm:admin
ComputeDataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storiface.Data) (abi.PieceInfo, error) //perm:admin
// Temp api for testing
PledgeSector(context.Context) (abi.SectorID, error) //perm:write
@@ -60,9 +75,9 @@ type StorageMiner interface {
// Add piece to an open sector. If no sectors with enough space are open,
// either a new sector will be created, or this call will block until more
// sectors can be created.
SectorAddPieceToAny(ctx context.Context, size abi.UnpaddedPieceSize, r storage.Data, d PieceDealInfo) (SectorOffset, error) //perm:admin
SectorAddPieceToAny(ctx context.Context, size abi.UnpaddedPieceSize, r storiface.Data, d PieceDealInfo) (SectorOffset, error) //perm:admin
SectorsUnsealPiece(ctx context.Context, sector storage.SectorRef, offset storiface.UnpaddedByteIndex, size abi.UnpaddedPieceSize, randomness abi.SealRandomness, commd *cid.Cid) error //perm:admin
SectorsUnsealPiece(ctx context.Context, sector storiface.SectorRef, offset storiface.UnpaddedByteIndex, size abi.UnpaddedPieceSize, randomness abi.SealRandomness, commd *cid.Cid) error //perm:admin
// List all staged sectors
SectorsList(context.Context) ([]abi.SectorNumber, error) //perm:read
@@ -114,53 +129,96 @@ type StorageMiner interface {
SectorMatchPendingPiecesToOpenSectors(ctx context.Context) error //perm:admin
// SectorAbortUpgrade can be called on sectors that are in the process of being upgraded to abort it
SectorAbortUpgrade(context.Context, abi.SectorNumber) error //perm:admin
// SectorUnseal unseals the provided sector
SectorUnseal(ctx context.Context, number abi.SectorNumber) error //perm:admin
// SectorNumAssignerMeta returns sector number assigner metadata - reserved/allocated
SectorNumAssignerMeta(ctx context.Context) (NumAssignerMeta, error) //perm:read
// SectorNumReservations returns a list of sector number reservations
SectorNumReservations(ctx context.Context) (map[string]bitfield.BitField, error) //perm:read
// SectorNumReserve creates a new sector number reservation. Will fail if any other reservation has colliding
// numbers or name. Set force to true to override safety checks.
// Valid characters for name: a-z, A-Z, 0-9, _, -
SectorNumReserve(ctx context.Context, name string, sectors bitfield.BitField, force bool) error //perm:admin
// SectorNumReserveCount creates a new sector number reservation for `count` sector numbers.
// by default lotus will allocate lowest-available sector numbers to the reservation.
// For restrictions on `name` see SectorNumReserve
SectorNumReserveCount(ctx context.Context, name string, count uint64) (bitfield.BitField, error) //perm:admin
// SectorNumFree drops a sector reservation
SectorNumFree(ctx context.Context, name string) error //perm:admin
SectorReceive(ctx context.Context, meta RemoteSectorMeta) error //perm:admin
// WorkerConnect tells the node to connect to workers RPC
WorkerConnect(context.Context, string) error //perm:admin retry:true
WorkerStats(context.Context) (map[uuid.UUID]storiface.WorkerStats, error) //perm:admin
WorkerJobs(context.Context) (map[uuid.UUID][]storiface.WorkerJob, error) //perm:admin
//storiface.WorkerReturn
ReturnAddPiece(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error //perm:admin retry:true
ReturnSealPreCommit1(ctx context.Context, callID storiface.CallID, p1o storage.PreCommit1Out, err *storiface.CallError) error //perm:admin retry:true
ReturnSealPreCommit2(ctx context.Context, callID storiface.CallID, sealed storage.SectorCids, err *storiface.CallError) error //perm:admin retry:true
ReturnSealCommit1(ctx context.Context, callID storiface.CallID, out storage.Commit1Out, err *storiface.CallError) error //perm:admin retry:true
ReturnSealCommit2(ctx context.Context, callID storiface.CallID, proof storage.Proof, err *storiface.CallError) error //perm:admin retry:true
ReturnFinalizeSector(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnReplicaUpdate(ctx context.Context, callID storiface.CallID, out storage.ReplicaUpdateOut, err *storiface.CallError) error //perm:admin retry:true
ReturnProveReplicaUpdate1(ctx context.Context, callID storiface.CallID, vanillaProofs storage.ReplicaVanillaProofs, err *storiface.CallError) error //perm:admin retry:true
ReturnProveReplicaUpdate2(ctx context.Context, callID storiface.CallID, proof storage.ReplicaUpdateProof, err *storiface.CallError) error //perm:admin retry:true
ReturnGenerateSectorKeyFromData(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnFinalizeReplicaUpdate(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnReleaseUnsealed(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnMoveStorage(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnUnsealPiece(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnReadPiece(ctx context.Context, callID storiface.CallID, ok bool, err *storiface.CallError) error //perm:admin retry:true
ReturnFetch(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
// storiface.WorkerReturn
ReturnDataCid(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error //perm:admin retry:true
ReturnAddPiece(ctx context.Context, callID storiface.CallID, pi abi.PieceInfo, err *storiface.CallError) error //perm:admin retry:true
ReturnSealPreCommit1(ctx context.Context, callID storiface.CallID, p1o storiface.PreCommit1Out, err *storiface.CallError) error //perm:admin retry:true
ReturnSealPreCommit2(ctx context.Context, callID storiface.CallID, sealed storiface.SectorCids, err *storiface.CallError) error //perm:admin retry:true
ReturnSealCommit1(ctx context.Context, callID storiface.CallID, out storiface.Commit1Out, err *storiface.CallError) error //perm:admin retry:true
ReturnSealCommit2(ctx context.Context, callID storiface.CallID, proof storiface.Proof, err *storiface.CallError) error //perm:admin retry:true
ReturnFinalizeSector(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnReplicaUpdate(ctx context.Context, callID storiface.CallID, out storiface.ReplicaUpdateOut, err *storiface.CallError) error //perm:admin retry:true
ReturnProveReplicaUpdate1(ctx context.Context, callID storiface.CallID, vanillaProofs storiface.ReplicaVanillaProofs, err *storiface.CallError) error //perm:admin retry:true
ReturnProveReplicaUpdate2(ctx context.Context, callID storiface.CallID, proof storiface.ReplicaUpdateProof, err *storiface.CallError) error //perm:admin retry:true
ReturnGenerateSectorKeyFromData(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnFinalizeReplicaUpdate(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnReleaseUnsealed(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnMoveStorage(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnUnsealPiece(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnReadPiece(ctx context.Context, callID storiface.CallID, ok bool, err *storiface.CallError) error //perm:admin retry:true
ReturnDownloadSector(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
ReturnFetch(ctx context.Context, callID storiface.CallID, err *storiface.CallError) error //perm:admin retry:true
// SealingSchedDiag dumps internal sealing scheduler state
SealingSchedDiag(ctx context.Context, doSched bool) (interface{}, error) //perm:admin
SealingAbort(ctx context.Context, call storiface.CallID) error //perm:admin
// SealingSchedRemove removes a request from sealing pipeline
SealingRemoveRequest(ctx context.Context, schedId uuid.UUID) error //perm:admin
// SectorIndex
StorageAttach(context.Context, storiface.StorageInfo, fsutil.FsStat) error //perm:admin
StorageInfo(context.Context, storiface.ID) (storiface.StorageInfo, error) //perm:admin
StorageReportHealth(context.Context, storiface.ID, storiface.HealthReport) error //perm:admin
StorageDeclareSector(ctx context.Context, storageID storiface.ID, s abi.SectorID, ft storiface.SectorFileType, primary bool) error //perm:admin
StorageDropSector(ctx context.Context, storageID storiface.ID, s abi.SectorID, ft storiface.SectorFileType) error //perm:admin
// paths.SectorIndex
StorageAttach(context.Context, storiface.StorageInfo, fsutil.FsStat) error //perm:admin
StorageDetach(ctx context.Context, id storiface.ID, url string) error //perm:admin
StorageInfo(context.Context, storiface.ID) (storiface.StorageInfo, error) //perm:admin
StorageReportHealth(context.Context, storiface.ID, storiface.HealthReport) error //perm:admin
StorageDeclareSector(ctx context.Context, storageID storiface.ID, s abi.SectorID, ft storiface.SectorFileType, primary bool) error //perm:admin
StorageDropSector(ctx context.Context, storageID storiface.ID, s abi.SectorID, ft storiface.SectorFileType) error //perm:admin
// StorageFindSector returns list of paths where the specified sector files exist.
//
// If allowFetch is set, list of paths to which the sector can be fetched will also be returned.
// - Paths which have sector files locally (don't require fetching) will be listed first.
// - Paths which have sector files locally will not be filtered based on based on AllowTypes/DenyTypes.
// - Paths which require fetching will be filtered based on AllowTypes/DenyTypes. If multiple
// file types are specified, each type will be considered individually, and a union of all paths
// which can accommodate each file type will be returned.
StorageFindSector(ctx context.Context, sector abi.SectorID, ft storiface.SectorFileType, ssize abi.SectorSize, allowFetch bool) ([]storiface.SectorStorageInfo, error) //perm:admin
StorageBestAlloc(ctx context.Context, allocate storiface.SectorFileType, ssize abi.SectorSize, pathType storiface.PathType) ([]storiface.StorageInfo, error) //perm:admin
StorageLock(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) error //perm:admin
StorageTryLock(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) (bool, error) //perm:admin
StorageList(ctx context.Context) (map[storiface.ID][]storiface.Decl, error) //perm:admin
StorageGetLocks(ctx context.Context) (storiface.SectorLocks, error) //perm:admin
// StorageBestAlloc returns list of paths where sector files of the specified type can be allocated, ordered by preference.
// Paths with more weight and more % of free space are preferred.
// Note: This method doesn't filter paths based on AllowTypes/DenyTypes.
StorageBestAlloc(ctx context.Context, allocate storiface.SectorFileType, ssize abi.SectorSize, pathType storiface.PathType) ([]storiface.StorageInfo, error) //perm:admin
StorageLock(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) error //perm:admin
StorageTryLock(ctx context.Context, sector abi.SectorID, read storiface.SectorFileType, write storiface.SectorFileType) (bool, error) //perm:admin
StorageList(ctx context.Context) (map[storiface.ID][]storiface.Decl, error) //perm:admin
StorageGetLocks(ctx context.Context) (storiface.SectorLocks, error) //perm:admin
StorageLocal(ctx context.Context) (map[storiface.ID]string, error) //perm:admin
StorageStat(ctx context.Context, id storiface.ID) (fsutil.FsStat, error) //perm:admin
MarketImportDealData(ctx context.Context, propcid cid.Cid, path string) error //perm:write
MarketListDeals(ctx context.Context) ([]MarketDeal, error) //perm:read
MarketListRetrievalDeals(ctx context.Context) ([]retrievalmarket.ProviderDealState, error) //perm:read
StorageAuthVerify(ctx context.Context, token string) ([]auth.Permission, error) //perm:read
StorageAddLocal(ctx context.Context, path string) error //perm:admin
StorageDetachLocal(ctx context.Context, path string) error //perm:admin
StorageRedeclareLocal(ctx context.Context, id *storiface.ID, dropMissing bool) error //perm:admin
MarketImportDealData(ctx context.Context, propcid cid.Cid, path string) error //perm:write
MarketListDeals(ctx context.Context) ([]*MarketDeal, error) //perm:read
// MarketListRetrievalDeals is deprecated, returns empty list
MarketListRetrievalDeals(ctx context.Context) ([]struct{}, error) //perm:read
MarketGetDealUpdates(ctx context.Context) (<-chan storagemarket.MinerDeal, error) //perm:read
MarketListIncompleteDeals(ctx context.Context) ([]storagemarket.MinerDeal, error) //perm:read
MarketSetAsk(ctx context.Context, price types.BigInt, verifiedPrice types.BigInt, duration abi.ChainEpoch, minPieceSize abi.PaddedPieceSize, maxPieceSize abi.PaddedPieceSize) error //perm:admin
@@ -221,6 +279,9 @@ type StorageMiner interface {
// DagstoreGC runs garbage collection on the DAG store.
DagstoreGC(ctx context.Context) ([]DagstoreShardResult, error) //perm:admin
// DagstoreRegisterShard registers a shard manually with dagstore with given pieceCID
DagstoreRegisterShard(ctx context.Context, key string) error //perm:admin
// IndexerAnnounceDeal informs indexer nodes that a new deal was received,
// so they can download its index
IndexerAnnounceDeal(ctx context.Context, proposalCid cid.Cid) error //perm:admin
@@ -236,7 +297,7 @@ type StorageMiner interface {
RuntimeSubsystems(ctx context.Context) (MinerSubsystems, error) //perm:read
DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error //perm:admin
DealsList(ctx context.Context) ([]MarketDeal, error) //perm:admin
DealsList(ctx context.Context) ([]*MarketDeal, error) //perm:admin
DealsConsiderOnlineStorageDeals(context.Context) (bool, error) //perm:admin
DealsSetConsiderOnlineStorageDeals(context.Context, bool) error //perm:admin
DealsConsiderOnlineRetrievalDeals(context.Context) (bool, error) //perm:admin
@@ -252,8 +313,6 @@ type StorageMiner interface {
DealsConsiderUnverifiedStorageDeals(context.Context) (bool, error) //perm:admin
DealsSetConsiderUnverifiedStorageDeals(context.Context, bool) error //perm:admin
StorageAddLocal(ctx context.Context, path string) error //perm:admin
PiecesListPieces(ctx context.Context) ([]cid.Cid, error) //perm:read
PiecesListCidInfos(ctx context.Context) ([]cid.Cid, error) //perm:read
PiecesGetPieceInfo(ctx context.Context, pieceCid cid.Cid) (*piecestore.PieceInfo, error) //perm:read
@@ -265,9 +324,14 @@ type StorageMiner interface {
// the path specified when calling CreateBackup is within the base path
CreateBackup(ctx context.Context, fpath string) error //perm:admin
CheckProvable(ctx context.Context, pp abi.RegisteredPoStProof, sectors []storage.SectorRef, expensive bool) (map[abi.SectorNumber]string, error) //perm:admin
CheckProvable(ctx context.Context, pp abi.RegisteredPoStProof, sectors []storiface.SectorRef) (map[abi.SectorNumber]string, error) //perm:admin
ComputeProof(ctx context.Context, ssi []builtin.ExtendedSectorInfo, rand abi.PoStRandomness, poStEpoch abi.ChainEpoch, nv abinetwork.Version) ([]builtin.PoStProof, error) //perm:read
ComputeProof(ctx context.Context, ssi []builtinactors.ExtendedSectorInfo, rand abi.PoStRandomness, poStEpoch abi.ChainEpoch, nv abinetwork.Version) ([]builtinactors.PoStProof, error) //perm:read
// RecoverFault can be used to declare recoveries manually. It sends messages
// to the miner actor with details of recovered sectors and returns the CID of messages. It honors the
// maxPartitionsPerRecoveryMessage from the config
RecoverFault(ctx context.Context, sectors []abi.SectorNumber) ([]cid.Cid, error) //perm:admin
}
var _ storiface.WorkerReturn = *new(StorageMiner)
@@ -357,6 +421,10 @@ func (st *SealSeed) Equals(ost *SealSeed) bool {
type SectorState string
func (s *SectorState) String() string {
return string(*s)
}
type AddrUse int
const (
@@ -393,10 +461,15 @@ type SectorOffset struct {
// DealInfo is a tuple of deal identity and its schedule
type PieceDealInfo struct {
// "Old" builtin-market deal info
PublishCid *cid.Cid
DealID abi.DealID
DealProposal *market.DealProposal
// Common deal info
DealSchedule DealSchedule
// Best-effort deal asks
KeepUnsealed bool
}
@@ -438,3 +511,119 @@ type DagstoreInitializeAllEvent struct {
Total int
Current int
}
type NumAssignerMeta struct {
Reserved bitfield.BitField
Allocated bitfield.BitField
// ChainAllocated+Reserved+Allocated
InUse bitfield.BitField
Next abi.SectorNumber
}
type RemoteSectorMeta struct {
////////
// BASIC SECTOR INFORMATION
// State specifies the first state the sector will enter after being imported
// Must be one of the following states:
// * Packing
// * GetTicket
// * PreCommitting
// * SubmitCommit
// * Proving/Available
State SectorState
Sector abi.SectorID
Type abi.RegisteredSealProof
////////
// SEALING METADATA
// (allows lotus to continue the sealing process)
// Required in Packing and later
Pieces []SectorPiece // todo better type?
// Required in PreCommitting and later
TicketValue abi.SealRandomness
TicketEpoch abi.ChainEpoch
PreCommit1Out storiface.PreCommit1Out // todo specify better
CommD *cid.Cid
CommR *cid.Cid // SectorKey
// Required in SubmitCommit and later
PreCommitInfo *miner.SectorPreCommitInfo
PreCommitDeposit *big.Int
PreCommitMessage *cid.Cid
PreCommitTipSet types.TipSetKey
SeedValue abi.InteractiveSealRandomness
SeedEpoch abi.ChainEpoch
CommitProof []byte
// Required in Proving/Available
CommitMessage *cid.Cid
// Optional sector metadata to import
Log []SectorLog
////////
// SECTOR DATA SOURCE
// Sector urls - lotus will use those for fetching files into local storage
// Required in all states
DataUnsealed *storiface.SectorLocation
// Required in PreCommitting and later
DataSealed *storiface.SectorLocation
DataCache *storiface.SectorLocation
////////
// SEALING SERVICE HOOKS
// URL
// RemoteCommit1Endpoint is an URL of POST endpoint which lotus will call requesting Commit1 (seal_commit_phase1)
// request body will be json-serialized RemoteCommit1Params struct
RemoteCommit1Endpoint string
// RemoteCommit2Endpoint is an URL of POST endpoint which lotus will call requesting Commit2 (seal_commit_phase2)
// request body will be json-serialized RemoteCommit2Params struct
RemoteCommit2Endpoint string
// RemoteSealingDoneEndpoint is called after the sector exists the sealing pipeline
// request body will be json-serialized RemoteSealingDoneParams struct
RemoteSealingDoneEndpoint string
}
type RemoteCommit1Params struct {
Ticket, Seed []byte
Unsealed cid.Cid
Sealed cid.Cid
ProofType abi.RegisteredSealProof
}
type RemoteCommit2Params struct {
Sector abi.SectorID
ProofType abi.RegisteredSealProof
// todo spec better
Commit1Out storiface.Commit1Out
}
type RemoteSealingDoneParams struct {
// Successful is true if the sector has entered state considered as "successfully sealed"
Successful bool
// State is the state the sector has entered
// For example "Proving" / "Removing"
State string
// Optional commit message CID
CommitMessage *cid.Cid
}
+19 -1
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package api
import (
@@ -12,6 +12,9 @@ import (
"testing"
"github.com/stretchr/testify/require"
"golang.org/x/xerrors"
"github.com/filecoin-project/go-jsonrpc"
)
func goCmd() string {
@@ -124,3 +127,18 @@ func TestPermTags(t *testing.T) {
_ = PermissionedStorMinerAPI(&StorageMinerStruct{})
_ = PermissionedWorkerAPI(&WorkerStruct{})
}
func TestRetryErrorIsInTrue(t *testing.T) {
errorsToRetry := []error{&jsonrpc.RPCConnectionError{}}
require.True(t, ErrorIsIn(&jsonrpc.RPCConnectionError{}, errorsToRetry))
}
func TestRetryErrorIsInFalse(t *testing.T) {
errorsToRetry := []error{&jsonrpc.RPCConnectionError{}}
require.False(t, ErrorIsIn(xerrors.Errorf("random error"), errorsToRetry))
}
func TestRetryWrappedErrorIsInTrue(t *testing.T) {
errorsToRetry := []error{&jsonrpc.RPCConnectionError{}}
require.True(t, ErrorIsIn(xerrors.Errorf("wrapped: %w", &jsonrpc.RPCConnectionError{}), errorsToRetry))
}
+29 -20
View File
@@ -7,11 +7,10 @@ import (
"github.com/ipfs/go-cid"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/specs-actors/v5/actors/runtime/proof"
"github.com/filecoin-project/go-state-types/proof"
"github.com/filecoin-project/lotus/extern/sector-storage/sealtasks"
"github.com/filecoin-project/lotus/extern/sector-storage/storiface"
"github.com/filecoin-project/specs-storage/storage"
"github.com/filecoin-project/lotus/storage/sealer/sealtasks"
"github.com/filecoin-project/lotus/storage/sealer/storiface"
)
// MODIFYING THE API INTERFACE
@@ -34,21 +33,23 @@ type Worker interface {
Info(context.Context) (storiface.WorkerInfo, error) //perm:admin
// storiface.WorkerCalls
AddPiece(ctx context.Context, sector storage.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (storiface.CallID, error) //perm:admin
SealPreCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) //perm:admin
SealPreCommit2(ctx context.Context, sector storage.SectorRef, pc1o storage.PreCommit1Out) (storiface.CallID, error) //perm:admin
SealCommit1(ctx context.Context, sector storage.SectorRef, ticket abi.SealRandomness, seed abi.InteractiveSealRandomness, pieces []abi.PieceInfo, cids storage.SectorCids) (storiface.CallID, error) //perm:admin
SealCommit2(ctx context.Context, sector storage.SectorRef, c1o storage.Commit1Out) (storiface.CallID, error) //perm:admin
FinalizeSector(ctx context.Context, sector storage.SectorRef, keepUnsealed []storage.Range) (storiface.CallID, error) //perm:admin
FinalizeReplicaUpdate(ctx context.Context, sector storage.SectorRef, keepUnsealed []storage.Range) (storiface.CallID, error) //perm:admin
ReplicaUpdate(ctx context.Context, sector storage.SectorRef, pieces []abi.PieceInfo) (storiface.CallID, error) //perm:admin
ProveReplicaUpdate1(ctx context.Context, sector storage.SectorRef, sectorKey, newSealed, newUnsealed cid.Cid) (storiface.CallID, error) //perm:admin
ProveReplicaUpdate2(ctx context.Context, sector storage.SectorRef, sectorKey, newSealed, newUnsealed cid.Cid, vanillaProofs storage.ReplicaVanillaProofs) (storiface.CallID, error) //perm:admin
GenerateSectorKeyFromData(ctx context.Context, sector storage.SectorRef, commD cid.Cid) (storiface.CallID, error) //perm:admin
ReleaseUnsealed(ctx context.Context, sector storage.SectorRef, safeToFree []storage.Range) (storiface.CallID, error) //perm:admin
MoveStorage(ctx context.Context, sector storage.SectorRef, types storiface.SectorFileType) (storiface.CallID, error) //perm:admin
UnsealPiece(context.Context, storage.SectorRef, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) (storiface.CallID, error) //perm:admin
Fetch(context.Context, storage.SectorRef, storiface.SectorFileType, storiface.PathType, storiface.AcquireMode) (storiface.CallID, error) //perm:admin
DataCid(ctx context.Context, pieceSize abi.UnpaddedPieceSize, pieceData storiface.Data) (storiface.CallID, error) //perm:admin
AddPiece(ctx context.Context, sector storiface.SectorRef, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storiface.Data) (storiface.CallID, error) //perm:admin
SealPreCommit1(ctx context.Context, sector storiface.SectorRef, ticket abi.SealRandomness, pieces []abi.PieceInfo) (storiface.CallID, error) //perm:admin
SealPreCommit2(ctx context.Context, sector storiface.SectorRef, pc1o storiface.PreCommit1Out) (storiface.CallID, error) //perm:admin
SealCommit1(ctx context.Context, sector storiface.SectorRef, ticket abi.SealRandomness, seed abi.InteractiveSealRandomness, pieces []abi.PieceInfo, cids storiface.SectorCids) (storiface.CallID, error) //perm:admin
SealCommit2(ctx context.Context, sector storiface.SectorRef, c1o storiface.Commit1Out) (storiface.CallID, error) //perm:admin
FinalizeSector(ctx context.Context, sector storiface.SectorRef) (storiface.CallID, error) //perm:admin
FinalizeReplicaUpdate(ctx context.Context, sector storiface.SectorRef) (storiface.CallID, error) //perm:admin
ReplicaUpdate(ctx context.Context, sector storiface.SectorRef, pieces []abi.PieceInfo) (storiface.CallID, error) //perm:admin
ProveReplicaUpdate1(ctx context.Context, sector storiface.SectorRef, sectorKey, newSealed, newUnsealed cid.Cid) (storiface.CallID, error) //perm:admin
ProveReplicaUpdate2(ctx context.Context, sector storiface.SectorRef, sectorKey, newSealed, newUnsealed cid.Cid, vanillaProofs storiface.ReplicaVanillaProofs) (storiface.CallID, error) //perm:admin
GenerateSectorKeyFromData(ctx context.Context, sector storiface.SectorRef, commD cid.Cid) (storiface.CallID, error) //perm:admin
ReleaseUnsealed(ctx context.Context, sector storiface.SectorRef, keepUnsealed []storiface.Range) (storiface.CallID, error) //perm:admin
MoveStorage(ctx context.Context, sector storiface.SectorRef, types storiface.SectorFileType) (storiface.CallID, error) //perm:admin
UnsealPiece(context.Context, storiface.SectorRef, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) (storiface.CallID, error) //perm:admin
Fetch(context.Context, storiface.SectorRef, storiface.SectorFileType, storiface.PathType, storiface.AcquireMode) (storiface.CallID, error) //perm:admin
DownloadSectorData(ctx context.Context, sector storiface.SectorRef, finalized bool, src map[storiface.SectorFileType]storiface.SectorLocation) (storiface.CallID, error) //perm:admin
GenerateWinningPoSt(ctx context.Context, ppt abi.RegisteredPoStProof, mid abi.ActorID, sectors []storiface.PostSectorChallenge, randomness abi.PoStRandomness) ([]proof.PoStProof, error) //perm:admin
GenerateWindowPoSt(ctx context.Context, ppt abi.RegisteredPoStProof, mid abi.ActorID, sectors []storiface.PostSectorChallenge, partitionIdx int, randomness abi.PoStRandomness) (storiface.WindowPoStResult, error) //perm:admin
@@ -59,7 +60,11 @@ type Worker interface {
// Storage / Other
Remove(ctx context.Context, sector abi.SectorID) error //perm:admin
StorageAddLocal(ctx context.Context, path string) error //perm:admin
StorageLocal(ctx context.Context) (map[storiface.ID]string, error) //perm:admin
StorageAddLocal(ctx context.Context, path string) error //perm:admin
StorageDetachLocal(ctx context.Context, path string) error //perm:admin
StorageDetachAll(ctx context.Context) error //perm:admin
StorageRedeclareLocal(ctx context.Context, id *storiface.ID, dropMissing bool) error //perm:admin
// SetEnabled marks the worker as enabled/disabled. Not that this setting
// may take a few seconds to propagate to task scheduler
@@ -76,6 +81,10 @@ type Worker interface {
// Like ProcessSession, but returns an error when worker is disabled
Session(context.Context) (uuid.UUID, error) //perm:admin
// Trigger shutdown
Shutdown(context.Context) error //perm:admin
}
var _ storiface.WorkerCalls = *new(Worker)
+577 -381
View File
File diff suppressed because it is too large Load Diff
+9 -6
View File
@@ -19,7 +19,7 @@ import (
func NewCommonRPCV0(ctx context.Context, addr string, requestHeader http.Header) (api.CommonNet, jsonrpc.ClientCloser, error) {
var res v0api.CommonNetStruct
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res), requestHeader)
api.GetInternalStructs(&res), requestHeader, jsonrpc.WithErrors(api.RPCErrors))
return &res, closer, err
}
@@ -29,16 +29,16 @@ func NewFullNodeRPCV0(ctx context.Context, addr string, requestHeader http.Heade
var res v0api.FullNodeStruct
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res), requestHeader)
api.GetInternalStructs(&res), requestHeader, jsonrpc.WithErrors(api.RPCErrors))
return &res, closer, err
}
// NewFullNodeRPCV1 creates a new http jsonrpc client.
func NewFullNodeRPCV1(ctx context.Context, addr string, requestHeader http.Header) (api.FullNode, jsonrpc.ClientCloser, error) {
func NewFullNodeRPCV1(ctx context.Context, addr string, requestHeader http.Header, opts ...jsonrpc.Option) (api.FullNode, jsonrpc.ClientCloser, error) {
var res v1api.FullNodeStruct
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res), requestHeader)
api.GetInternalStructs(&res), requestHeader, append([]jsonrpc.Option{jsonrpc.WithErrors(api.RPCErrors)}, opts...)...)
return &res, closer, err
}
@@ -72,6 +72,7 @@ func NewStorageMinerRPCV0(ctx context.Context, addr string, requestHeader http.H
api.GetInternalStructs(&res), requestHeader,
append([]jsonrpc.Option{
rpcenc.ReaderParamEncoder(pushUrl),
jsonrpc.WithErrors(api.RPCErrors),
}, opts...)...)
return &res, closer, err
@@ -90,6 +91,7 @@ func NewWorkerRPCV0(ctx context.Context, addr string, requestHeader http.Header)
rpcenc.ReaderParamEncoder(pushUrl),
jsonrpc.WithNoReconnect(),
jsonrpc.WithTimeout(30*time.Second),
jsonrpc.WithErrors(api.RPCErrors),
)
return &res, closer, err
@@ -101,7 +103,7 @@ func NewGatewayRPCV1(ctx context.Context, addr string, requestHeader http.Header
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res),
requestHeader,
opts...,
append(opts, jsonrpc.WithErrors(api.RPCErrors))...,
)
return &res, closer, err
@@ -113,7 +115,7 @@ func NewGatewayRPCV0(ctx context.Context, addr string, requestHeader http.Header
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res),
requestHeader,
opts...,
append(opts, jsonrpc.WithErrors(api.RPCErrors))...,
)
return &res, closer, err
@@ -124,6 +126,7 @@ func NewWalletRPCV0(ctx context.Context, addr string, requestHeader http.Header)
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res),
requestHeader,
jsonrpc.WithErrors(api.RPCErrors),
)
return &res, closer, err
-1
View File
@@ -8,7 +8,6 @@ import (
"os"
"github.com/filecoin-project/lotus/api/docgen"
docgen_openrpc "github.com/filecoin-project/lotus/api/docgen-openrpc"
)
+3 -2
View File
@@ -8,10 +8,11 @@ import (
"github.com/alecthomas/jsonschema"
go_openrpc_reflect "github.com/etclabscore/go-openrpc-reflect"
"github.com/filecoin-project/lotus/api/docgen"
"github.com/filecoin-project/lotus/build"
"github.com/ipfs/go-cid"
meta_schema "github.com/open-rpc/meta-schema"
"github.com/filecoin-project/lotus/api/docgen"
"github.com/filecoin-project/lotus/build"
)
// schemaDictEntry represents a type association passed to the jsonschema reflector.
+107 -21
View File
@@ -6,31 +6,33 @@ import (
"go/ast"
"go/parser"
"go/token"
"net/http"
"path/filepath"
"reflect"
"strings"
"time"
"unicode"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-bitfield"
"github.com/google/uuid"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/ipfs/go-graphsync"
"github.com/libp2p/go-libp2p-core/metrics"
"github.com/libp2p/go-libp2p-core/network"
"github.com/libp2p/go-libp2p-core/peer"
"github.com/libp2p/go-libp2p-core/protocol"
textselector "github.com/ipld/go-ipld-selector-text-lite"
pubsub "github.com/libp2p/go-libp2p-pubsub"
"github.com/libp2p/go-libp2p/core/metrics"
"github.com/libp2p/go-libp2p/core/network"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/libp2p/go-libp2p/core/protocol"
"github.com/multiformats/go-multiaddr"
datatransfer "github.com/filecoin-project/go-data-transfer"
filestore "github.com/filecoin-project/go-fil-markets/filestore"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-bitfield"
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
"github.com/filecoin-project/go-fil-markets/filestore"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-jsonrpc/auth"
textselector "github.com/ipld/go-ipld-selector-text-lite"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
"github.com/filecoin-project/go-state-types/crypto"
"github.com/filecoin-project/go-state-types/exitcode"
@@ -39,11 +41,12 @@ import (
"github.com/filecoin-project/lotus/api/v0api"
"github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/extern/sector-storage/sealtasks"
"github.com/filecoin-project/lotus/extern/sector-storage/storiface"
sealing "github.com/filecoin-project/lotus/extern/storage-sealing"
"github.com/filecoin-project/lotus/chain/types/ethtypes"
"github.com/filecoin-project/lotus/node/modules/dtypes"
"github.com/filecoin-project/lotus/node/repo/imports"
sealing "github.com/filecoin-project/lotus/storage/pipeline"
"github.com/filecoin-project/lotus/storage/sealer/sealtasks"
"github.com/filecoin-project/lotus/storage/sealer/storiface"
)
var ExampleValues = map[reflect.Type]interface{}{
@@ -66,6 +69,7 @@ func init() {
}
ExampleValues[reflect.TypeOf(c)] = c
ExampleValues[reflect.TypeOf(&c)] = &c
c2, err := cid.Decode("bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve")
if err != nil {
@@ -82,6 +86,7 @@ func init() {
}
ExampleValues[reflect.TypeOf(addr)] = addr
ExampleValues[reflect.TypeOf(&addr)] = &addr
pid, err := peer.Decode("12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf")
if err != nil {
@@ -95,6 +100,9 @@ func init() {
apiSelExample := api.Selector("Links/21/Hash/Links/42/Hash")
clientEvent := retrievalmarket.ClientEventDealAccepted
block := blocks.Block(&blocks.BasicBlock{})
ExampleValues[reflect.TypeOf(&block).Elem()] = block
addExample(bitfield.NewFromSet([]uint64{5}))
addExample(abi.RegisteredSealProof_StackedDrg32GiBV1_1)
addExample(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1)
@@ -133,12 +141,20 @@ func init() {
addExample(&textSelExample)
addExample(&apiSelExample)
addExample(network.ReachabilityPublic)
addExample(build.NewestNetworkVersion)
addExample(build.TestNetworkVersion)
allocationId := verifreg.AllocationId(0)
addExample(allocationId)
addExample(&allocationId)
addExample(map[verifreg.AllocationId]verifreg.Allocation{})
claimId := verifreg.ClaimId(0)
addExample(claimId)
addExample(&claimId)
addExample(map[verifreg.ClaimId]verifreg.Claim{})
addExample(map[string]int{"name": 42})
addExample(map[string]time.Time{"name": time.Unix(1615243938, 0).UTC()})
addExample(&types.ExecutionTrace{
Msg: ExampleValue("init", reflect.TypeOf(&types.Message{}), nil).(*types.Message),
MsgRct: ExampleValue("init", reflect.TypeOf(&types.MessageReceipt{}), nil).(*types.MessageReceipt),
Msg: ExampleValue("init", reflect.TypeOf(types.MessageTrace{}), nil).(types.MessageTrace),
MsgRct: ExampleValue("init", reflect.TypeOf(types.ReturnTrace{}), nil).(types.ReturnTrace),
})
addExample(map[string]types.Actor{
"t01236": ExampleValue("init", reflect.TypeOf(types.Actor{}), nil).(types.Actor),
@@ -146,6 +162,10 @@ func init() {
addExample(map[string]api.MarketDeal{
"t026363": ExampleValue("init", reflect.TypeOf(api.MarketDeal{}), nil).(api.MarketDeal),
})
addExample(map[string]*api.MarketDeal{
"t026363": ExampleValue("init", reflect.TypeOf(&api.MarketDeal{}), nil).(*api.MarketDeal),
})
addExample(map[string]api.MarketBalance{
"t026363": ExampleValue("init", reflect.TypeOf(api.MarketBalance{}), nil).(api.MarketBalance),
})
@@ -188,6 +208,7 @@ func init() {
addExample(&si)
addExample(retrievalmarket.DealID(5))
addExample(abi.ActorID(1000))
addExample(map[string]cid.Cid{})
addExample(map[string][]api.SealedRef{
"98000": {
api.SealedRef{
@@ -264,6 +285,8 @@ func init() {
Read: [storiface.FileTypes]uint{2, 3, 0},
},
})
storifaceid := storiface.ID("1399aa04-2625-44b1-bad4-bd07b59b22c4")
addExample(&storifaceid)
// worker specific
addExample(storiface.AcquireMove)
@@ -278,7 +301,8 @@ func init() {
"title": "Lotus RPC API",
"version": "1.2.1/generated=2020-11-22T08:22:42-06:00",
},
"methods": []interface{}{}},
"methods": []interface{}{},
},
)
addExample(api.CheckStatusCode(0))
@@ -315,7 +339,8 @@ func init() {
NumConnsInbound: 3,
NumConnsOutbound: 4,
NumFD: 5,
}})
},
})
addExample(api.NetLimit{
Memory: 123,
StreamsInbound: 1,
@@ -327,10 +352,63 @@ func init() {
FD: 5,
})
addExample(map[string]bitfield.BitField{
"": bitfield.NewFromSet([]uint64{5, 6, 7, 10}),
})
addExample(&api.RaftStateData{
NonceMap: make(map[address.Address]uint64),
MsgUuids: make(map[uuid.UUID]*types.SignedMessage),
})
addExample(http.Header{
"Authorization": []string{"Bearer ey.."},
})
addExample(map[storiface.SectorFileType]storiface.SectorLocation{
storiface.FTSealed: {
Local: false,
URL: "https://example.com/sealingservice/sectors/s-f0123-12345",
Headers: nil,
},
})
ethint := ethtypes.EthUint64(5)
addExample(ethint)
addExample(&ethint)
ethaddr, _ := ethtypes.ParseEthAddress("0x5CbEeCF99d3fDB3f25E309Cc264f240bb0664031")
addExample(ethaddr)
addExample(&ethaddr)
ethhash, _ := ethtypes.EthHashFromCid(c)
addExample(ethhash)
addExample(&ethhash)
ethFeeHistoryReward := [][]ethtypes.EthBigInt{}
addExample(&ethFeeHistoryReward)
addExample(&uuid.UUID{})
filterid := ethtypes.EthFilterID(ethhash)
addExample(filterid)
addExample(&filterid)
subid := ethtypes.EthSubscriptionID(ethhash)
addExample(subid)
addExample(&subid)
pstring := func(s string) *string { return &s }
addExample(&ethtypes.EthFilterSpec{
FromBlock: pstring("2301220"),
Address: []ethtypes.EthAddress{ethaddr},
})
percent := types.Percent(123)
addExample(percent)
addExample(&percent)
}
func GetAPIType(name, pkg string) (i interface{}, t reflect.Type, permStruct []reflect.Type) {
switch pkg {
case "api": // latest
switch name {
@@ -350,6 +428,10 @@ func GetAPIType(name, pkg string) (i interface{}, t reflect.Type, permStruct []r
i = &api.WorkerStruct{}
t = reflect.TypeOf(new(struct{ api.Worker })).Elem()
permStruct = append(permStruct, reflect.TypeOf(api.WorkerStruct{}.Internal))
case "Gateway":
i = &api.GatewayStruct{}
t = reflect.TypeOf(new(struct{ api.Gateway })).Elem()
permStruct = append(permStruct, reflect.TypeOf(api.GatewayStruct{}.Internal))
default:
panic("unknown type")
}
@@ -396,8 +478,11 @@ func ExampleValue(method string, t, parent reflect.Type) interface{} {
case reflect.Ptr:
if t.Elem().Kind() == reflect.Struct {
es := exampleStruct(method, t.Elem(), t)
//ExampleValues[t] = es
ExampleValues[t] = es
return es
} else if t.Elem().Kind() == reflect.String {
str := "string value"
return &str
}
case reflect.Interface:
return struct{}{}
@@ -413,7 +498,8 @@ func exampleStruct(method string, t, parent reflect.Type) interface{} {
if f.Type == parent {
continue
}
if strings.Title(f.Name) == f.Name {
if f.IsExported() {
ns.Elem().Field(i).Set(reflect.ValueOf(ExampleValue(method, f.Type, t)))
}
}
+54
View File
@@ -0,0 +1,54 @@
package api
import apitypes "github.com/filecoin-project/lotus/api/types"
func CreateEthRPCAliases(as apitypes.Aliaser) {
// TODO: maybe use reflect to automatically register all the eth aliases
as.AliasMethod("eth_accounts", "Filecoin.EthAccounts")
as.AliasMethod("eth_blockNumber", "Filecoin.EthBlockNumber")
as.AliasMethod("eth_getBlockTransactionCountByNumber", "Filecoin.EthGetBlockTransactionCountByNumber")
as.AliasMethod("eth_getBlockTransactionCountByHash", "Filecoin.EthGetBlockTransactionCountByHash")
as.AliasMethod("eth_getBlockByHash", "Filecoin.EthGetBlockByHash")
as.AliasMethod("eth_getBlockByNumber", "Filecoin.EthGetBlockByNumber")
as.AliasMethod("eth_getTransactionByHash", "Filecoin.EthGetTransactionByHash")
as.AliasMethod("eth_getTransactionCount", "Filecoin.EthGetTransactionCount")
as.AliasMethod("eth_getTransactionReceipt", "Filecoin.EthGetTransactionReceipt")
as.AliasMethod("eth_getTransactionByBlockHashAndIndex", "Filecoin.EthGetTransactionByBlockHashAndIndex")
as.AliasMethod("eth_getTransactionByBlockNumberAndIndex", "Filecoin.EthGetTransactionByBlockNumberAndIndex")
as.AliasMethod("eth_getCode", "Filecoin.EthGetCode")
as.AliasMethod("eth_getStorageAt", "Filecoin.EthGetStorageAt")
as.AliasMethod("eth_getBalance", "Filecoin.EthGetBalance")
as.AliasMethod("eth_chainId", "Filecoin.EthChainId")
as.AliasMethod("eth_syncing", "Filecoin.EthSyncing")
as.AliasMethod("eth_feeHistory", "Filecoin.EthFeeHistory")
as.AliasMethod("eth_protocolVersion", "Filecoin.EthProtocolVersion")
as.AliasMethod("eth_maxPriorityFeePerGas", "Filecoin.EthMaxPriorityFeePerGas")
as.AliasMethod("eth_gasPrice", "Filecoin.EthGasPrice")
as.AliasMethod("eth_sendRawTransaction", "Filecoin.EthSendRawTransaction")
as.AliasMethod("eth_estimateGas", "Filecoin.EthEstimateGas")
as.AliasMethod("eth_call", "Filecoin.EthCall")
as.AliasMethod("eth_getLogs", "Filecoin.EthGetLogs")
as.AliasMethod("eth_getFilterChanges", "Filecoin.EthGetFilterChanges")
as.AliasMethod("eth_getFilterLogs", "Filecoin.EthGetFilterLogs")
as.AliasMethod("eth_newFilter", "Filecoin.EthNewFilter")
as.AliasMethod("eth_newBlockFilter", "Filecoin.EthNewBlockFilter")
as.AliasMethod("eth_newPendingTransactionFilter", "Filecoin.EthNewPendingTransactionFilter")
as.AliasMethod("eth_uninstallFilter", "Filecoin.EthUninstallFilter")
as.AliasMethod("eth_subscribe", "Filecoin.EthSubscribe")
as.AliasMethod("eth_unsubscribe", "Filecoin.EthUnsubscribe")
as.AliasMethod("trace_block", "Filecoin.EthTraceBlock")
as.AliasMethod("trace_replayBlockTransactions", "Filecoin.EthTraceReplayBlockTransactions")
as.AliasMethod("debug_traceCall", "Filecoin.EthDebugTraceCall")
as.AliasMethod("debug_traceBlockByHash", "Filecoin.EthDebugTraceBlockByHash")
as.AliasMethod("debug_traceBlockByNumber", "Filecoin.EthDebugTraceBlockByNumber")
as.AliasMethod("net_version", "Filecoin.NetVersion")
as.AliasMethod("net_listening", "Filecoin.NetListening")
as.AliasMethod("web3_clientVersion", "Filecoin.Web3ClientVersion")
}
+1051 -45
View File
File diff suppressed because it is too large Load Diff
+2523 -538
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package api
import (
+160 -29
View File
@@ -5,21 +5,25 @@ import (
"fmt"
"time"
"github.com/libp2p/go-libp2p-core/network"
datatransfer "github.com/filecoin-project/go-data-transfer"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/lotus/chain/types"
"github.com/google/uuid"
"github.com/ipfs/go-cid"
"github.com/ipfs/go-graphsync"
"github.com/libp2p/go-libp2p-core/peer"
"github.com/ipld/go-ipld-prime"
"github.com/ipld/go-ipld-prime/codec/dagjson"
pubsub "github.com/libp2p/go-libp2p-pubsub"
"github.com/libp2p/go-libp2p/core/network"
"github.com/libp2p/go-libp2p/core/peer"
ma "github.com/multiformats/go-multiaddr"
)
// TODO: check if this exists anywhere else
"github.com/filecoin-project/go-address"
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/node/modules/dtypes"
)
type MultiaddrSlice []ma.Multiaddr
@@ -52,8 +56,22 @@ type PubsubScore struct {
Score *pubsub.PeerScoreSnapshot
}
// MessageSendSpec contains optional fields which modify message sending behavior
type MessageSendSpec struct {
// MaxFee specifies a cap on network fees related to this message
MaxFee abi.TokenAmount
// MsgUuid specifies a unique message identifier which can be used on node (or node cluster)
// level to prevent double-sends of messages even when nonce generation is not handled by sender
MsgUuid uuid.UUID
// MaximizeFeeCap makes message FeeCap be based entirely on MaxFee
MaximizeFeeCap bool
}
type MpoolMessageWhole struct {
Msg *types.Message
Spec *MessageSendSpec
}
// GraphSyncDataTransfer provides diagnostics on a data transfer happening over graphsync
@@ -102,16 +120,12 @@ func NewDataTransferChannel(hostID peer.ID, channelState datatransfer.ChannelSta
IsSender: channelState.Sender() == hostID,
Message: channelState.Message(),
}
stringer, ok := channelState.Voucher().(fmt.Stringer)
if ok {
channel.Voucher = stringer.String()
voucher := channelState.Voucher()
voucherJSON, err := ipld.Encode(voucher.Voucher, dagjson.Encode)
if err != nil {
channel.Voucher = fmt.Errorf("Voucher Serialization: %w", err).Error()
} else {
voucherJSON, err := json.Marshal(channelState.Voucher())
if err != nil {
channel.Voucher = fmt.Errorf("Voucher Serialization: %w", err).Error()
} else {
channel.Voucher = string(voucherJSON)
}
channel.Voucher = string(voucherJSON)
}
if channel.IsSender {
channel.IsInitiator = !channelState.IsPull()
@@ -134,13 +148,7 @@ type NetStat struct {
}
type NetLimit struct {
Dynamic bool `json:",omitempty"`
// set if Dynamic is false
Memory int64 `json:",omitempty"`
// set if Dynamic is true
MemoryFraction float64 `json:",omitempty"`
MinMemory int64 `json:",omitempty"`
MaxMemory int64 `json:",omitempty"`
Streams, StreamsInbound, StreamsOutbound int
Conns, ConnsInbound, ConnsOutbound int
@@ -252,10 +260,10 @@ type RestrievalRes struct {
}
// Selector specifies ipld selector string
// - if the string starts with '{', it's interpreted as json selector string
// see https://ipld.io/specs/selectors/ and https://ipld.io/specs/selectors/fixtures/selector-fixtures-1/
// - otherwise the string is interpreted as ipld-selector-text-lite (simple ipld path)
// see https://github.com/ipld/go-ipld-selector-text-lite
// - if the string starts with '{', it's interpreted as json selector string
// see https://ipld.io/specs/selectors/ and https://ipld.io/specs/selectors/fixtures/selector-fixtures-1/
// - otherwise the string is interpreted as ipld-selector-text-lite (simple ipld path)
// see https://github.com/ipld/go-ipld-selector-text-lite
type Selector string
type DagSpec struct {
@@ -286,3 +294,126 @@ type ExportRef struct {
FromLocalCAR string // if specified, get data from a local CARv2 file.
DealID retrievalmarket.DealID
}
type MinerInfo struct {
Owner address.Address // Must be an ID-address.
Worker address.Address // Must be an ID-address.
NewWorker address.Address // Must be an ID-address.
ControlAddresses []address.Address // Must be an ID-addresses.
WorkerChangeEpoch abi.ChainEpoch
PeerId *peer.ID
Multiaddrs []abi.Multiaddrs
WindowPoStProofType abi.RegisteredPoStProof
SectorSize abi.SectorSize
WindowPoStPartitionSectors uint64
ConsensusFaultElapsed abi.ChainEpoch
PendingOwnerAddress *address.Address
Beneficiary address.Address
BeneficiaryTerm *miner.BeneficiaryTerm
PendingBeneficiaryTerm *miner.PendingBeneficiaryChange
}
type NetworkParams struct {
NetworkName dtypes.NetworkName
BlockDelaySecs uint64
ConsensusMinerMinPower abi.StoragePower
SupportedProofTypes []abi.RegisteredSealProof
PreCommitChallengeDelay abi.ChainEpoch
ForkUpgradeParams ForkUpgradeParams
Eip155ChainID int
}
type ForkUpgradeParams struct {
UpgradeSmokeHeight abi.ChainEpoch
UpgradeBreezeHeight abi.ChainEpoch
UpgradeIgnitionHeight abi.ChainEpoch
UpgradeLiftoffHeight abi.ChainEpoch
UpgradeAssemblyHeight abi.ChainEpoch
UpgradeRefuelHeight abi.ChainEpoch
UpgradeTapeHeight abi.ChainEpoch
UpgradeKumquatHeight abi.ChainEpoch
BreezeGasTampingDuration abi.ChainEpoch
UpgradeCalicoHeight abi.ChainEpoch
UpgradePersianHeight abi.ChainEpoch
UpgradeOrangeHeight abi.ChainEpoch
UpgradeClausHeight abi.ChainEpoch
UpgradeTrustHeight abi.ChainEpoch
UpgradeNorwegianHeight abi.ChainEpoch
UpgradeTurboHeight abi.ChainEpoch
UpgradeHyperdriveHeight abi.ChainEpoch
UpgradeChocolateHeight abi.ChainEpoch
UpgradeOhSnapHeight abi.ChainEpoch
UpgradeSkyrHeight abi.ChainEpoch
UpgradeSharkHeight abi.ChainEpoch
UpgradeHyggeHeight abi.ChainEpoch
UpgradeLightningHeight abi.ChainEpoch
UpgradeThunderHeight abi.ChainEpoch
UpgradeWatermelonHeight abi.ChainEpoch
}
type NonceMapType map[address.Address]uint64
type MsgUuidMapType map[uuid.UUID]*types.SignedMessage
type RaftStateData struct {
NonceMap NonceMapType
MsgUuids MsgUuidMapType
}
func (n *NonceMapType) MarshalJSON() ([]byte, error) {
marshalled := make(map[string]uint64)
for a, n := range *n {
marshalled[a.String()] = n
}
return json.Marshal(marshalled)
}
func (n *NonceMapType) UnmarshalJSON(b []byte) error {
unmarshalled := make(map[string]uint64)
err := json.Unmarshal(b, &unmarshalled)
if err != nil {
return err
}
*n = make(map[address.Address]uint64)
for saddr, nonce := range unmarshalled {
a, err := address.NewFromString(saddr)
if err != nil {
return err
}
(*n)[a] = nonce
}
return nil
}
func (m *MsgUuidMapType) MarshalJSON() ([]byte, error) {
marshalled := make(map[string]*types.SignedMessage)
for u, msg := range *m {
marshalled[u.String()] = msg
}
return json.Marshal(marshalled)
}
func (m *MsgUuidMapType) UnmarshalJSON(b []byte) error {
unmarshalled := make(map[string]*types.SignedMessage)
err := json.Unmarshal(b, &unmarshalled)
if err != nil {
return err
}
*m = make(map[uuid.UUID]*types.SignedMessage)
for suid, msg := range unmarshalled {
u, err := uuid.Parse(suid)
if err != nil {
return err
}
(*m)[u] = msg
}
return nil
}
// ChainExportConfig holds configuration for chain ranged exports.
type ChainExportConfig struct {
WriteBufferSize int
NumWorkers int
IncludeMessages bool
IncludeReceipts bool
IncludeStateRoots bool
}
+5
View File
@@ -0,0 +1,5 @@
package apitypes
type Aliaser interface {
AliasMethod(alias, original string)
}
+41 -17
View File
@@ -3,22 +3,26 @@ package v0api
import (
"context"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
textselector "github.com/ipld/go-ipld-selector-text-lite"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-bitfield"
datatransfer "github.com/filecoin-project/go-data-transfer"
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-fil-markets/storagemarket"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/builtin/v8/paych"
verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
"github.com/filecoin-project/go-state-types/crypto"
"github.com/filecoin-project/go-state-types/dline"
"github.com/ipfs/go-cid"
textselector "github.com/ipld/go-ipld-selector-text-lite"
"github.com/libp2p/go-libp2p-core/peer"
abinetwork "github.com/filecoin-project/go-state-types/network"
"github.com/filecoin-project/lotus/api"
apitypes "github.com/filecoin-project/lotus/api/types"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/actors/builtin/paych"
"github.com/filecoin-project/lotus/chain/types"
marketevents "github.com/filecoin-project/lotus/markets/loggers"
"github.com/filecoin-project/lotus/node/modules/dtypes"
@@ -109,6 +113,9 @@ type FullNode interface {
// ChainDeleteObj deletes node referenced by the given CID
ChainDeleteObj(context.Context, cid.Cid) error //perm:admin
// ChainPutObj puts and object into the blockstore
ChainPutObj(context.Context, blocks.Block) error
// ChainHasObj checks if a given CID exists in the chain blockstore.
ChainHasObj(context.Context, cid.Cid) (bool, error) //perm:read
@@ -133,7 +140,7 @@ type FullNode interface {
// ChainGetPath returns a set of revert/apply operations needed to get from
// one tipset to another, for example:
//```
// ```
// to
// ^
// from tAA
@@ -142,7 +149,7 @@ type FullNode interface {
// ^---*--^
// ^
// tRR
//```
// ```
// Would return `[revert(tBA), apply(tAB), apply(tAA)]`
ChainGetPath(ctx context.Context, from types.TipSetKey, to types.TipSetKey) ([]*api.HeadChange, error) //perm:read
@@ -359,12 +366,12 @@ type FullNode interface {
ClientCancelRetrievalDeal(ctx context.Context, dealid retrievalmarket.DealID) error //perm:write
// ClientUnimport removes references to the specified file from filestore
//ClientUnimport(path string)
// ClientUnimport(path string)
// ClientListImports lists imported files and their root CIDs
ClientListImports(ctx context.Context) ([]api.Import, error) //perm:write
//ClientListAsks() []Ask
// ClientListAsks() []Ask
// MethodGroup: State
// The State methods are used to query, inspect, and interact with chain state.
@@ -379,7 +386,7 @@ type FullNode interface {
StateCall(context.Context, *types.Message, types.TipSetKey) (*api.InvocResult, error) //perm:read
// StateReplay replays a given message, assuming it was included in a block in the specified tipset.
//
// If a tipset key is provided, and a replacing message is found on chain,
// If a tipset key is provided, and a replacing message is not found on chain,
// the method will return an error saying that the message wasn't found
//
// If no tipset key is provided, the appropriate tipset is looked up, and if
@@ -416,7 +423,7 @@ type FullNode interface {
// StateMinerPower returns the power of the indicated miner
StateMinerPower(context.Context, address.Address, types.TipSetKey) (*api.MinerPower, error) //perm:read
// StateMinerInfo returns info about the indicated miner
StateMinerInfo(context.Context, address.Address, types.TipSetKey) (miner.MinerInfo, error) //perm:read
StateMinerInfo(context.Context, address.Address, types.TipSetKey) (api.MinerInfo, error) //perm:read
// StateMinerDeadlines returns all the proving deadlines for the given miner
StateMinerDeadlines(context.Context, address.Address, types.TipSetKey) ([]api.Deadline, error) //perm:read
// StateMinerPartitions returns all partitions in the specified deadline
@@ -521,9 +528,19 @@ type FullNode interface {
// StateMarketParticipants returns the Escrow and Locked balances of every participant in the Storage Market
StateMarketParticipants(context.Context, types.TipSetKey) (map[string]api.MarketBalance, error) //perm:read
// StateMarketDeals returns information about every deal in the Storage Market
StateMarketDeals(context.Context, types.TipSetKey) (map[string]api.MarketDeal, error) //perm:read
StateMarketDeals(context.Context, types.TipSetKey) (map[string]*api.MarketDeal, error) //perm:read
// StateMarketStorageDeal returns information about the indicated deal
StateMarketStorageDeal(context.Context, abi.DealID, types.TipSetKey) (*api.MarketDeal, error) //perm:read
// StateGetAllocationForPendingDeal returns the allocation for a given deal ID of a pending deal.
StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error) //perm:read
// StateGetAllocation returns the allocation for a given address and allocation ID.
StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error) //perm:read
// StateGetAllocations returns the all the allocations for a given client.
StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) //perm:read
// StateGetClaim returns the claim for a given address and claim ID.
StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error) //perm:read
// StateGetClaims returns the all the claims for a given provider.
StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) //perm:read
// StateLookupID retrieves the ID address of the given address
StateLookupID(context.Context, address.Address, types.TipSetKey) (address.Address, error) //perm:read
// StateAccountKey returns the public key address of the given ID address
@@ -584,7 +601,7 @@ type FullNode interface {
// Returns nil if there is no entry in the data cap table for the
// address.
StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error) //perm:read
// StateVerifiedClientStatus returns the address of the Verified Registry's root key
// StateVerifiedRegistryRootKey returns the address of the Verified Registry's root key
StateVerifiedRegistryRootKey(ctx context.Context, tsk types.TipSetKey) (address.Address, error) //perm:read
// StateDealProviderCollateralBounds returns the min and max collateral a storage provider
// can issue. It takes the deal size and verified status as parameters.
@@ -598,12 +615,19 @@ type FullNode interface {
StateVMCirculatingSupplyInternal(context.Context, types.TipSetKey) (api.CirculatingSupply, error) //perm:read
// StateNetworkVersion returns the network version at the given tipset
StateNetworkVersion(context.Context, types.TipSetKey) (apitypes.NetworkVersion, error) //perm:read
// StateActorCodeCIDs returns the CIDs of all the builtin actors for the given network version
StateActorCodeCIDs(context.Context, abinetwork.Version) (map[string]cid.Cid, error) //perm:read
// StateActorManifestCID returns the CID of the builtin actors manifest for the given network version
StateActorManifestCID(context.Context, abinetwork.Version) (cid.Cid, error) //perm:read
// StateGetRandomnessFromTickets is used to sample the chain for randomness.
StateGetRandomnessFromTickets(ctx context.Context, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte, tsk types.TipSetKey) (abi.Randomness, error) //perm:read
// StateGetRandomnessFromBeacon is used to sample the beacon for randomness.
StateGetRandomnessFromBeacon(ctx context.Context, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte, tsk types.TipSetKey) (abi.Randomness, error) //perm:read
// StateGetNetworkParams return current network params
StateGetNetworkParams(ctx context.Context) (*api.NetworkParams, error) //perm:read
// MethodGroup: Msig
// The Msig methods are used to interact with multisig wallets on the
// filecoin network
@@ -616,14 +640,14 @@ type FullNode interface {
// It takes the following params: <multisig address>, <start epoch>, <end epoch>
MsigGetVested(context.Context, address.Address, types.TipSetKey, types.TipSetKey) (types.BigInt, error) //perm:read
//MsigGetPending returns pending transactions for the given multisig
//wallet. Once pending transactions are fully approved, they will no longer
//appear here.
// MsigGetPending returns pending transactions for the given multisig
// wallet. Once pending transactions are fully approved, they will no longer
// appear here.
MsigGetPending(context.Context, address.Address, types.TipSetKey) ([]*api.MsigTransaction, error) //perm:read
// MsigCreate creates a multisig wallet
// It takes the following params: <required number of senders>, <approving addresses>, <unlock duration>
//<initial balance>, <sender address of the create msg>, <gas price>
// <initial balance>, <sender address of the create msg>, <gas price>
MsigCreate(context.Context, uint64, []address.Address, abi.ChainEpoch, types.BigInt, address.Address, types.BigInt) (cid.Cid, error) //perm:sign
// MsigPropose proposes a multisig message
// It takes the following params: <multisig address>, <recipient address>, <value to transfer>,
+20 -1
View File
@@ -3,16 +3,19 @@ package v0api
import (
"context"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/abi"
verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
"github.com/filecoin-project/go-state-types/dline"
abinetwork "github.com/filecoin-project/go-state-types/network"
"github.com/filecoin-project/lotus/api"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/node/modules/dtypes"
)
// MODIFYING THE API INTERFACE
@@ -33,7 +36,14 @@ import (
// * Generate openrpc blobs
type Gateway interface {
MpoolPending(context.Context, types.TipSetKey) ([]*types.SignedMessage, error)
ChainGetBlock(context.Context, cid.Cid) (*types.BlockHeader, error)
MinerGetBaseInfo(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*api.MiningBaseInfo, error)
StateMinerSectorCount(context.Context, address.Address, types.TipSetKey) (api.MinerSectors, error)
GasEstimateGasPremium(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error)
StateReplay(context.Context, types.TipSetKey, cid.Cid) (*api.InvocResult, error)
ChainHasObj(context.Context, cid.Cid) (bool, error)
ChainPutObj(context.Context, blocks.Block) error
ChainHead(ctx context.Context) (*types.TipSet, error)
ChainGetBlockMessages(context.Context, cid.Cid) (*api.BlockMessages, error)
ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error)
@@ -42,21 +52,30 @@ type Gateway interface {
ChainNotify(context.Context) (<-chan []*api.HeadChange, error)
ChainReadObj(context.Context, cid.Cid) ([]byte, error)
GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec, tsk types.TipSetKey) (*types.Message, error)
MpoolGetNonce(ctx context.Context, addr address.Address) (uint64, error)
MpoolPush(ctx context.Context, sm *types.SignedMessage) (cid.Cid, error)
MsigGetAvailableBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error)
MsigGetVested(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error)
MsigGetPending(context.Context, address.Address, types.TipSetKey) ([]*api.MsigTransaction, error)
StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
StateCall(ctx context.Context, msg *types.Message, tsk types.TipSetKey) (*api.InvocResult, error)
StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error)
StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error)
StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error)
StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error)
StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error)
StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error)
StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error)
StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error)
StateGetReceipt(context.Context, cid.Cid, types.TipSetKey) (*types.MessageReceipt, error)
StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error)
StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error)
StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error)
StateMarketStorageDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*api.MarketDeal, error)
StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (miner.MinerInfo, error)
StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (api.MinerInfo, error)
StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error)
StateMinerPower(context.Context, address.Address, types.TipSetKey) (*api.MinerPower, error)
StateNetworkName(context.Context) (dtypes.NetworkName, error)
StateNetworkVersion(context.Context, types.TipSetKey) (abinetwork.Version, error)
StateSearchMsg(ctx context.Context, msg cid.Cid) (*api.MsgLookup, error)
StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error)
+1
View File
@@ -2,6 +2,7 @@ package v0api
import (
"github.com/filecoin-project/go-jsonrpc/auth"
"github.com/filecoin-project/lotus/api"
)
+564 -231
View File
File diff suppressed because it is too large Load Diff
+178 -25
View File
@@ -9,35 +9,39 @@ import (
reflect "reflect"
time "time"
gomock "github.com/golang/mock/gomock"
uuid "github.com/google/uuid"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
metrics "github.com/libp2p/go-libp2p/core/metrics"
network0 "github.com/libp2p/go-libp2p/core/network"
peer "github.com/libp2p/go-libp2p/core/peer"
protocol "github.com/libp2p/go-libp2p/core/protocol"
address "github.com/filecoin-project/go-address"
bitfield "github.com/filecoin-project/go-bitfield"
datatransfer "github.com/filecoin-project/go-data-transfer"
datatransfer "github.com/filecoin-project/go-data-transfer/v2"
retrievalmarket "github.com/filecoin-project/go-fil-markets/retrievalmarket"
storagemarket "github.com/filecoin-project/go-fil-markets/storagemarket"
auth "github.com/filecoin-project/go-jsonrpc/auth"
abi "github.com/filecoin-project/go-state-types/abi"
big "github.com/filecoin-project/go-state-types/big"
paych "github.com/filecoin-project/go-state-types/builtin/v8/paych"
miner "github.com/filecoin-project/go-state-types/builtin/v9/miner"
verifreg "github.com/filecoin-project/go-state-types/builtin/v9/verifreg"
crypto "github.com/filecoin-project/go-state-types/crypto"
dline "github.com/filecoin-project/go-state-types/dline"
network "github.com/filecoin-project/go-state-types/network"
api "github.com/filecoin-project/lotus/api"
apitypes "github.com/filecoin-project/lotus/api/types"
v0api "github.com/filecoin-project/lotus/api/v0api"
miner "github.com/filecoin-project/lotus/chain/actors/builtin/miner"
miner0 "github.com/filecoin-project/lotus/chain/actors/builtin/miner"
types "github.com/filecoin-project/lotus/chain/types"
alerting "github.com/filecoin-project/lotus/journal/alerting"
marketevents "github.com/filecoin-project/lotus/markets/loggers"
dtypes "github.com/filecoin-project/lotus/node/modules/dtypes"
imports "github.com/filecoin-project/lotus/node/repo/imports"
miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner"
paych "github.com/filecoin-project/specs-actors/actors/builtin/paych"
gomock "github.com/golang/mock/gomock"
uuid "github.com/google/uuid"
cid "github.com/ipfs/go-cid"
metrics "github.com/libp2p/go-libp2p-core/metrics"
network0 "github.com/libp2p/go-libp2p-core/network"
peer "github.com/libp2p/go-libp2p-core/peer"
protocol "github.com/libp2p/go-libp2p-core/protocol"
)
// MockFullNode is a mock of FullNode interface.
@@ -377,6 +381,20 @@ func (mr *MockFullNodeMockRecorder) ChainNotify(arg0 interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChainNotify", reflect.TypeOf((*MockFullNode)(nil).ChainNotify), arg0)
}
// ChainPutObj mocks base method.
func (m *MockFullNode) ChainPutObj(arg0 context.Context, arg1 blocks.Block) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ChainPutObj", arg0, arg1)
ret0, _ := ret[0].(error)
return ret0
}
// ChainPutObj indicates an expected call of ChainPutObj.
func (mr *MockFullNodeMockRecorder) ChainPutObj(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChainPutObj", reflect.TypeOf((*MockFullNode)(nil).ChainPutObj), arg0, arg1)
}
// ChainReadObj mocks base method.
func (m *MockFullNode) ChainReadObj(arg0 context.Context, arg1 cid.Cid) ([]byte, error) {
m.ctrl.T.Helper()
@@ -2140,6 +2158,21 @@ func (mr *MockFullNodeMockRecorder) Shutdown(arg0 interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Shutdown", reflect.TypeOf((*MockFullNode)(nil).Shutdown), arg0)
}
// StartTime mocks base method.
func (m *MockFullNode) StartTime(arg0 context.Context) (time.Time, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StartTime", arg0)
ret0, _ := ret[0].(time.Time)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StartTime indicates an expected call of StartTime.
func (mr *MockFullNodeMockRecorder) StartTime(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTime", reflect.TypeOf((*MockFullNode)(nil).StartTime), arg0)
}
// StateAccountKey mocks base method.
func (m *MockFullNode) StateAccountKey(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (address.Address, error) {
m.ctrl.T.Helper()
@@ -2155,6 +2188,36 @@ func (mr *MockFullNodeMockRecorder) StateAccountKey(arg0, arg1, arg2 interface{}
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateAccountKey", reflect.TypeOf((*MockFullNode)(nil).StateAccountKey), arg0, arg1, arg2)
}
// StateActorCodeCIDs mocks base method.
func (m *MockFullNode) StateActorCodeCIDs(arg0 context.Context, arg1 network.Version) (map[string]cid.Cid, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateActorCodeCIDs", arg0, arg1)
ret0, _ := ret[0].(map[string]cid.Cid)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateActorCodeCIDs indicates an expected call of StateActorCodeCIDs.
func (mr *MockFullNodeMockRecorder) StateActorCodeCIDs(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateActorCodeCIDs", reflect.TypeOf((*MockFullNode)(nil).StateActorCodeCIDs), arg0, arg1)
}
// StateActorManifestCID mocks base method.
func (m *MockFullNode) StateActorManifestCID(arg0 context.Context, arg1 network.Version) (cid.Cid, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateActorManifestCID", arg0, arg1)
ret0, _ := ret[0].(cid.Cid)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateActorManifestCID indicates an expected call of StateActorManifestCID.
func (mr *MockFullNodeMockRecorder) StateActorManifestCID(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateActorManifestCID", reflect.TypeOf((*MockFullNode)(nil).StateActorManifestCID), arg0, arg1)
}
// StateAllMinerFaults mocks base method.
func (m *MockFullNode) StateAllMinerFaults(arg0 context.Context, arg1 abi.ChainEpoch, arg2 types.TipSetKey) ([]*api.Fault, error) {
m.ctrl.T.Helper()
@@ -2186,10 +2249,10 @@ func (mr *MockFullNodeMockRecorder) StateCall(arg0, arg1, arg2 interface{}) *gom
}
// StateChangedActors mocks base method.
func (m *MockFullNode) StateChangedActors(arg0 context.Context, arg1, arg2 cid.Cid) (map[string]types.Actor, error) {
func (m *MockFullNode) StateChangedActors(arg0 context.Context, arg1, arg2 cid.Cid) (map[string]types.ActorV5, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateChangedActors", arg0, arg1, arg2)
ret0, _ := ret[0].(map[string]types.Actor)
ret0, _ := ret[0].(map[string]types.ActorV5)
ret1, _ := ret[1].(error)
return ret0, ret1
}
@@ -2261,10 +2324,10 @@ func (mr *MockFullNodeMockRecorder) StateDecodeParams(arg0, arg1, arg2, arg3, ar
}
// StateGetActor mocks base method.
func (m *MockFullNode) StateGetActor(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (*types.Actor, error) {
func (m *MockFullNode) StateGetActor(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (*types.ActorV5, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetActor", arg0, arg1, arg2)
ret0, _ := ret[0].(*types.Actor)
ret0, _ := ret[0].(*types.ActorV5)
ret1, _ := ret[1].(error)
return ret0, ret1
}
@@ -2275,6 +2338,96 @@ func (mr *MockFullNodeMockRecorder) StateGetActor(arg0, arg1, arg2 interface{})
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetActor", reflect.TypeOf((*MockFullNode)(nil).StateGetActor), arg0, arg1, arg2)
}
// StateGetAllocation mocks base method.
func (m *MockFullNode) StateGetAllocation(arg0 context.Context, arg1 address.Address, arg2 verifreg.AllocationId, arg3 types.TipSetKey) (*verifreg.Allocation, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetAllocation", arg0, arg1, arg2, arg3)
ret0, _ := ret[0].(*verifreg.Allocation)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateGetAllocation indicates an expected call of StateGetAllocation.
func (mr *MockFullNodeMockRecorder) StateGetAllocation(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetAllocation", reflect.TypeOf((*MockFullNode)(nil).StateGetAllocation), arg0, arg1, arg2, arg3)
}
// StateGetAllocationForPendingDeal mocks base method.
func (m *MockFullNode) StateGetAllocationForPendingDeal(arg0 context.Context, arg1 abi.DealID, arg2 types.TipSetKey) (*verifreg.Allocation, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetAllocationForPendingDeal", arg0, arg1, arg2)
ret0, _ := ret[0].(*verifreg.Allocation)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateGetAllocationForPendingDeal indicates an expected call of StateGetAllocationForPendingDeal.
func (mr *MockFullNodeMockRecorder) StateGetAllocationForPendingDeal(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetAllocationForPendingDeal", reflect.TypeOf((*MockFullNode)(nil).StateGetAllocationForPendingDeal), arg0, arg1, arg2)
}
// StateGetAllocations mocks base method.
func (m *MockFullNode) StateGetAllocations(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (map[verifreg.AllocationId]verifreg.Allocation, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetAllocations", arg0, arg1, arg2)
ret0, _ := ret[0].(map[verifreg.AllocationId]verifreg.Allocation)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateGetAllocations indicates an expected call of StateGetAllocations.
func (mr *MockFullNodeMockRecorder) StateGetAllocations(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetAllocations", reflect.TypeOf((*MockFullNode)(nil).StateGetAllocations), arg0, arg1, arg2)
}
// StateGetClaim mocks base method.
func (m *MockFullNode) StateGetClaim(arg0 context.Context, arg1 address.Address, arg2 verifreg.ClaimId, arg3 types.TipSetKey) (*verifreg.Claim, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetClaim", arg0, arg1, arg2, arg3)
ret0, _ := ret[0].(*verifreg.Claim)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateGetClaim indicates an expected call of StateGetClaim.
func (mr *MockFullNodeMockRecorder) StateGetClaim(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetClaim", reflect.TypeOf((*MockFullNode)(nil).StateGetClaim), arg0, arg1, arg2, arg3)
}
// StateGetClaims mocks base method.
func (m *MockFullNode) StateGetClaims(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (map[verifreg.ClaimId]verifreg.Claim, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetClaims", arg0, arg1, arg2)
ret0, _ := ret[0].(map[verifreg.ClaimId]verifreg.Claim)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateGetClaims indicates an expected call of StateGetClaims.
func (mr *MockFullNodeMockRecorder) StateGetClaims(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetClaims", reflect.TypeOf((*MockFullNode)(nil).StateGetClaims), arg0, arg1, arg2)
}
// StateGetNetworkParams mocks base method.
func (m *MockFullNode) StateGetNetworkParams(arg0 context.Context) (*api.NetworkParams, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateGetNetworkParams", arg0)
ret0, _ := ret[0].(*api.NetworkParams)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// StateGetNetworkParams indicates an expected call of StateGetNetworkParams.
func (mr *MockFullNodeMockRecorder) StateGetNetworkParams(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateGetNetworkParams", reflect.TypeOf((*MockFullNode)(nil).StateGetNetworkParams), arg0)
}
// StateGetRandomnessFromBeacon mocks base method.
func (m *MockFullNode) StateGetRandomnessFromBeacon(arg0 context.Context, arg1 crypto.DomainSeparationTag, arg2 abi.ChainEpoch, arg3 []byte, arg4 types.TipSetKey) (abi.Randomness, error) {
m.ctrl.T.Helper()
@@ -2396,10 +2549,10 @@ func (mr *MockFullNodeMockRecorder) StateMarketBalance(arg0, arg1, arg2 interfac
}
// StateMarketDeals mocks base method.
func (m *MockFullNode) StateMarketDeals(arg0 context.Context, arg1 types.TipSetKey) (map[string]api.MarketDeal, error) {
func (m *MockFullNode) StateMarketDeals(arg0 context.Context, arg1 types.TipSetKey) (map[string]*api.MarketDeal, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateMarketDeals", arg0, arg1)
ret0, _ := ret[0].(map[string]api.MarketDeal)
ret0, _ := ret[0].(map[string]*api.MarketDeal)
ret1, _ := ret[1].(error)
return ret0, ret1
}
@@ -2501,10 +2654,10 @@ func (mr *MockFullNodeMockRecorder) StateMinerFaults(arg0, arg1, arg2 interface{
}
// StateMinerInfo mocks base method.
func (m *MockFullNode) StateMinerInfo(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (miner.MinerInfo, error) {
func (m *MockFullNode) StateMinerInfo(arg0 context.Context, arg1 address.Address, arg2 types.TipSetKey) (api.MinerInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateMinerInfo", arg0, arg1, arg2)
ret0, _ := ret[0].(miner.MinerInfo)
ret0, _ := ret[0].(api.MinerInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
@@ -2516,7 +2669,7 @@ func (mr *MockFullNodeMockRecorder) StateMinerInfo(arg0, arg1, arg2 interface{})
}
// StateMinerInitialPledgeCollateral mocks base method.
func (m *MockFullNode) StateMinerInitialPledgeCollateral(arg0 context.Context, arg1 address.Address, arg2 miner0.SectorPreCommitInfo, arg3 types.TipSetKey) (big.Int, error) {
func (m *MockFullNode) StateMinerInitialPledgeCollateral(arg0 context.Context, arg1 address.Address, arg2 miner.SectorPreCommitInfo, arg3 types.TipSetKey) (big.Int, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateMinerInitialPledgeCollateral", arg0, arg1, arg2, arg3)
ret0, _ := ret[0].(big.Int)
@@ -2561,7 +2714,7 @@ func (mr *MockFullNodeMockRecorder) StateMinerPower(arg0, arg1, arg2 interface{}
}
// StateMinerPreCommitDepositForPower mocks base method.
func (m *MockFullNode) StateMinerPreCommitDepositForPower(arg0 context.Context, arg1 address.Address, arg2 miner0.SectorPreCommitInfo, arg3 types.TipSetKey) (big.Int, error) {
func (m *MockFullNode) StateMinerPreCommitDepositForPower(arg0 context.Context, arg1 address.Address, arg2 miner.SectorPreCommitInfo, arg3 types.TipSetKey) (big.Int, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateMinerPreCommitDepositForPower", arg0, arg1, arg2, arg3)
ret0, _ := ret[0].(big.Int)
@@ -2741,10 +2894,10 @@ func (mr *MockFullNodeMockRecorder) StateSearchMsgLimited(arg0, arg1, arg2 inter
}
// StateSectorExpiration mocks base method.
func (m *MockFullNode) StateSectorExpiration(arg0 context.Context, arg1 address.Address, arg2 abi.SectorNumber, arg3 types.TipSetKey) (*miner.SectorExpiration, error) {
func (m *MockFullNode) StateSectorExpiration(arg0 context.Context, arg1 address.Address, arg2 abi.SectorNumber, arg3 types.TipSetKey) (*miner0.SectorExpiration, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateSectorExpiration", arg0, arg1, arg2, arg3)
ret0, _ := ret[0].(*miner.SectorExpiration)
ret0, _ := ret[0].(*miner0.SectorExpiration)
ret1, _ := ret[1].(error)
return ret0, ret1
}
@@ -2771,10 +2924,10 @@ func (mr *MockFullNodeMockRecorder) StateSectorGetInfo(arg0, arg1, arg2, arg3 in
}
// StateSectorPartition mocks base method.
func (m *MockFullNode) StateSectorPartition(arg0 context.Context, arg1 address.Address, arg2 abi.SectorNumber, arg3 types.TipSetKey) (*miner.SectorLocation, error) {
func (m *MockFullNode) StateSectorPartition(arg0 context.Context, arg1 address.Address, arg2 abi.SectorNumber, arg3 types.TipSetKey) (*miner0.SectorLocation, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "StateSectorPartition", arg0, arg1, arg2, arg3)
ret0, _ := ret[0].(*miner.SectorLocation)
ret0, _ := ret[0].(*miner0.SectorLocation)
ret1, _ := ret[1].(error)
return ret0, ret1
}
+34 -9
View File
@@ -3,27 +3,40 @@ package v0api
import (
"context"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/crypto"
marketevents "github.com/filecoin-project/lotus/markets/loggers"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/lotus/chain/types"
"github.com/ipfs/go-cid"
"github.com/libp2p/go-libp2p/core/peer"
"golang.org/x/xerrors"
"github.com/ipfs/go-cid"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-fil-markets/storagemarket"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/crypto"
"github.com/filecoin-project/lotus/api"
"github.com/filecoin-project/lotus/api/v1api"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types"
marketevents "github.com/filecoin-project/lotus/markets/loggers"
)
type WrapperV1Full struct {
v1api.FullNode
}
func (w *WrapperV1Full) StateSectorPreCommitInfo(ctx context.Context, maddr address.Address, s abi.SectorNumber, tsk types.TipSetKey) (miner.SectorPreCommitOnChainInfo, error) {
pi, err := w.FullNode.StateSectorPreCommitInfo(ctx, maddr, s, tsk)
if err != nil {
return miner.SectorPreCommitOnChainInfo{}, err
}
if pi == nil {
return miner.SectorPreCommitOnChainInfo{}, xerrors.Errorf("precommit info does not exist")
}
return *pi, nil
}
func (w *WrapperV1Full) StateSearchMsg(ctx context.Context, msg cid.Cid) (*api.MsgLookup, error) {
return w.FullNode.StateSearchMsg(ctx, types.EmptyTSK, msg, api.LookbackNoLimit, true)
}
@@ -341,4 +354,16 @@ func (w *WrapperV1Full) PaychGet(ctx context.Context, from, to address.Address,
return w.FullNode.PaychFund(ctx, from, to, amt)
}
func (w *WrapperV1Full) ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*storagemarket.StorageAsk, error) {
a, err := w.FullNode.ClientQueryAsk(ctx, p, miner)
if err != nil {
return nil, err
}
return a.Response, nil
}
func (w *WrapperV1Full) BeaconGetEntry(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error) {
return w.StateGetBeaconEntry(ctx, epoch)
}
var _ FullNode = &WrapperV1Full{}
+2
View File
@@ -7,6 +7,8 @@ import (
type FullNode = api.FullNode
type FullNodeStruct = api.FullNodeStruct
type RawFullNodeAPI FullNode
func PermissionedFullAPI(a FullNode) FullNode {
return api.PermissionedFullAPI(a)
}
+3 -3
View File
@@ -3,7 +3,7 @@ package api
import (
"fmt"
xerrors "golang.org/x/xerrors"
"golang.org/x/xerrors"
)
type Version uint32
@@ -55,10 +55,10 @@ func VersionForType(nodeType NodeType) (Version, error) {
// semver versions of the rpc api exposed
var (
FullAPIVersion0 = newVer(1, 5, 0)
FullAPIVersion1 = newVer(2, 2, 0)
FullAPIVersion1 = newVer(2, 3, 0)
MinerAPIVersion0 = newVer(1, 5, 0)
WorkerAPIVersion0 = newVer(1, 6, 0)
WorkerAPIVersion0 = newVer(1, 7, 0)
)
//nolint:varcheck,deadcode
+11 -4
View File
@@ -11,6 +11,7 @@ import (
type ChainIO interface {
ChainReadObj(context.Context, cid.Cid) ([]byte, error)
ChainHasObj(context.Context, cid.Cid) (bool, error)
ChainPutObj(context.Context, blocks.Block) error
}
type apiBlockstore struct {
@@ -49,12 +50,18 @@ func (a *apiBlockstore) GetSize(ctx context.Context, c cid.Cid) (int, error) {
return len(bb), nil
}
func (a *apiBlockstore) Put(context.Context, blocks.Block) error {
return xerrors.New("not supported")
func (a *apiBlockstore) Put(ctx context.Context, block blocks.Block) error {
return a.api.ChainPutObj(ctx, block)
}
func (a *apiBlockstore) PutMany(context.Context, []blocks.Block) error {
return xerrors.New("not supported")
func (a *apiBlockstore) PutMany(ctx context.Context, blocks []blocks.Block) error {
for _, block := range blocks {
err := a.api.ChainPutObj(ctx, block)
if err != nil {
return err
}
}
return nil
}
func (a *apiBlockstore) AllKeysChan(ctx context.Context) (<-chan cid.Cid, error) {
+10 -6
View File
@@ -5,10 +5,10 @@ import (
"sync"
"time"
"golang.org/x/xerrors"
block "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
"golang.org/x/xerrors"
)
// autolog is a logger for the autobatching blockstore. It is subscoped from the
@@ -176,23 +176,27 @@ func (bs *AutobatchBlockstore) Get(ctx context.Context, c cid.Cid) (block.Block,
return blk, nil
}
if err != ErrNotFound {
if !ipld.IsNotFound(err) {
return blk, err
}
bs.stateLock.Lock()
defer bs.stateLock.Unlock()
v, ok := bs.flushingBatch.blockMap[c]
if ok {
bs.stateLock.Unlock()
return v, nil
}
v, ok = bs.bufferedBatch.blockMap[c]
if ok {
bs.stateLock.Unlock()
return v, nil
}
bs.stateLock.Unlock()
return bs.Get(ctx, c)
// We have to check the backing store one more time because it may have been flushed by the
// time we were able to take the lock above.
return bs.backingBs.Get(ctx, c)
}
func (bs *AutobatchBlockstore) DeleteBlock(context.Context, cid.Cid) error {
@@ -214,7 +218,7 @@ func (bs *AutobatchBlockstore) Has(ctx context.Context, c cid.Cid) (bool, error)
if err == nil {
return true, nil
}
if err == ErrNotFound {
if ipld.IsNotFound(err) {
return false, nil
}
+5
View File
@@ -4,6 +4,7 @@ import (
"context"
"testing"
ipld "github.com/ipfs/go-ipld-format"
"github.com/stretchr/testify/require"
)
@@ -29,6 +30,10 @@ func TestAutobatchBlockstore(t *testing.T) {
require.NoError(t, err)
require.Equal(t, b2.RawData(), v2.RawData())
// Regression test for a deadlock.
_, err = ab.Get(ctx, b3.Cid())
require.True(t, ipld.IsNotFound(err))
require.NoError(t, ab.Flush(ctx))
require.NoError(t, ab.Shutdown(ctx))
}
+127 -13
View File
@@ -13,13 +13,14 @@ import (
"github.com/dgraph-io/badger/v2"
"github.com/dgraph-io/badger/v2/options"
"github.com/dgraph-io/badger/v2/pb"
"github.com/multiformats/go-base32"
"go.uber.org/zap"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
logger "github.com/ipfs/go-log/v2"
pool "github.com/libp2p/go-buffer-pool"
"github.com/multiformats/go-base32"
"go.uber.org/zap"
"golang.org/x/xerrors"
"github.com/filecoin-project/lotus/blockstore"
)
@@ -44,7 +45,8 @@ const (
// MemoryMap is equivalent to badger/options.MemoryMap.
MemoryMap = options.MemoryMap
// LoadToRAM is equivalent to badger/options.LoadToRAM.
LoadToRAM = options.LoadToRAM
LoadToRAM = options.LoadToRAM
defaultGCThreshold = 0.125
)
// Options embeds the badger options themselves, and augments them with
@@ -394,6 +396,9 @@ func (b *Blockstore) doCopy(from, to *badger.DB) error {
if workers < 2 {
workers = 2
}
if workers > 8 {
workers = 8
}
stream := from.NewStream()
stream.NumGo = workers
@@ -439,7 +444,7 @@ func (b *Blockstore) deleteDB(path string) {
}
}
func (b *Blockstore) onlineGC() error {
func (b *Blockstore) onlineGC(ctx context.Context, threshold float64, checkFreq time.Duration, check func() error) error {
b.lockDB()
defer b.unlockDB()
@@ -448,14 +453,26 @@ func (b *Blockstore) onlineGC() error {
if nworkers < 2 {
nworkers = 2
}
if nworkers > 7 { // max out at 1 goroutine per badger level
nworkers = 7
}
err := b.db.Flatten(nworkers)
if err != nil {
return err
}
checkTick := time.NewTimer(checkFreq)
defer checkTick.Stop()
for err == nil {
err = b.db.RunValueLogGC(0.125)
select {
case <-ctx.Done():
err = ctx.Err()
case <-checkTick.C:
err = check()
checkTick.Reset(checkFreq)
default:
err = b.db.RunValueLogGC(threshold)
}
}
if err == badger.ErrNoRewrite {
@@ -468,7 +485,7 @@ func (b *Blockstore) onlineGC() error {
// CollectGarbage compacts and runs garbage collection on the value log;
// implements the BlockstoreGC trait
func (b *Blockstore) CollectGarbage(opts ...blockstore.BlockstoreGCOption) error {
func (b *Blockstore) CollectGarbage(ctx context.Context, opts ...blockstore.BlockstoreGCOption) error {
if err := b.access(); err != nil {
return err
}
@@ -485,8 +502,58 @@ func (b *Blockstore) CollectGarbage(opts ...blockstore.BlockstoreGCOption) error
if options.FullGC {
return b.movingGC()
}
threshold := options.Threshold
if threshold == 0 {
threshold = defaultGCThreshold
}
checkFreq := options.CheckFreq
if checkFreq < 30*time.Second { // disallow checking more frequently than block time
checkFreq = 30 * time.Second
}
check := options.Check
if check == nil {
check = func() error {
return nil
}
}
return b.onlineGC(ctx, threshold, checkFreq, check)
}
return b.onlineGC()
// GCOnce runs garbage collection on the value log;
// implements BlockstoreGCOnce trait
func (b *Blockstore) GCOnce(ctx context.Context, opts ...blockstore.BlockstoreGCOption) error {
if err := b.access(); err != nil {
return err
}
defer b.viewers.Done()
var options blockstore.BlockstoreGCOptions
for _, opt := range opts {
err := opt(&options)
if err != nil {
return err
}
}
if options.FullGC {
return xerrors.Errorf("FullGC option specified for GCOnce but full GC is non incremental")
}
threshold := options.Threshold
if threshold == 0 {
threshold = defaultGCThreshold
}
b.lockDB()
defer b.unlockDB()
// Note no compaction needed before single GC as we will hit at most one vlog anyway
err := b.db.RunValueLogGC(threshold)
if err == badger.ErrNoRewrite {
// not really an error in this case, it signals the end of GC
return nil
}
return err
}
// Size returns the aggregate size of the blockstore
@@ -544,13 +611,25 @@ func (b *Blockstore) View(ctx context.Context, cid cid.Cid, fn func([]byte) erro
case nil:
return item.Value(fn)
case badger.ErrKeyNotFound:
return blockstore.ErrNotFound
return ipld.ErrNotFound{Cid: cid}
default:
return fmt.Errorf("failed to view block from badger blockstore: %w", err)
}
})
}
func (b *Blockstore) Flush(context.Context) error {
if err := b.access(); err != nil {
return err
}
defer b.viewers.Done()
b.lockDB()
defer b.unlockDB()
return b.db.Sync()
}
// Has implements Blockstore.Has.
func (b *Blockstore) Has(ctx context.Context, cid cid.Cid) (bool, error) {
if err := b.access(); err != nil {
@@ -584,7 +663,7 @@ func (b *Blockstore) Has(ctx context.Context, cid cid.Cid) (bool, error) {
// Get implements Blockstore.Get.
func (b *Blockstore) Get(ctx context.Context, cid cid.Cid) (blocks.Block, error) {
if !cid.Defined() {
return nil, blockstore.ErrNotFound
return nil, ipld.ErrNotFound{Cid: cid}
}
if err := b.access(); err != nil {
@@ -607,7 +686,7 @@ func (b *Blockstore) Get(ctx context.Context, cid cid.Cid) (blocks.Block, error)
val, err = item.ValueCopy(nil)
return err
case badger.ErrKeyNotFound:
return blockstore.ErrNotFound
return ipld.ErrNotFound{Cid: cid}
default:
return fmt.Errorf("failed to get block from badger blockstore: %w", err)
}
@@ -639,7 +718,7 @@ func (b *Blockstore) GetSize(ctx context.Context, cid cid.Cid) (int, error) {
case nil:
size = int(item.ValueSize())
case badger.ErrKeyNotFound:
return blockstore.ErrNotFound
return ipld.ErrNotFound{Cid: cid}
default:
return fmt.Errorf("failed to get block size from badger blockstore: %w", err)
}
@@ -667,6 +746,20 @@ func (b *Blockstore) Put(ctx context.Context, block blocks.Block) error {
}
put := func(db *badger.DB) error {
// Check if we have it before writing it.
switch err := db.View(func(txn *badger.Txn) error {
_, err := txn.Get(k)
return err
}); err {
case badger.ErrKeyNotFound:
case nil:
// Already exists, skip the put.
return nil
default:
return err
}
// Then write it.
err := db.Update(func(txn *badger.Txn) error {
return txn.Set(k, block.RawData())
})
@@ -722,12 +815,33 @@ func (b *Blockstore) PutMany(ctx context.Context, blocks []blocks.Block) error {
keys = append(keys, k)
}
err := b.db.View(func(txn *badger.Txn) error {
for i, k := range keys {
switch _, err := txn.Get(k); err {
case badger.ErrKeyNotFound:
case nil:
keys[i] = nil
default:
// Something is actually wrong
return err
}
}
return nil
})
if err != nil {
return err
}
put := func(db *badger.DB) error {
batch := db.NewWriteBatch()
defer batch.Cancel()
for i, block := range blocks {
k := keys[i]
if k == nil {
// skipped because we already have it.
continue
}
if err := batch.Set(k, block.RawData()); err != nil {
return err
}
+5 -6
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package badgerbs
import (
@@ -10,12 +10,11 @@ import (
"strings"
"testing"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/stretchr/testify/require"
"golang.org/x/sync/errgroup"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
"github.com/filecoin-project/lotus/blockstore"
)
@@ -146,7 +145,7 @@ func testMove(t *testing.T, optsF func(string) Options) {
return nil
})
g.Go(func() error {
return db.CollectGarbage(blockstore.WithFullGC(true))
return db.CollectGarbage(ctx, blockstore.WithFullGC(true))
})
err = g.Wait()
@@ -231,7 +230,7 @@ func testMove(t *testing.T, optsF func(string) Options) {
checkPath()
// now do another FullGC to test the double move and following of symlinks
if err := db.CollectGarbage(blockstore.WithFullGC(true)); err != nil {
if err := db.CollectGarbage(ctx, blockstore.WithFullGC(true)); err != nil {
t.Fatal(err)
}
+9 -8
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package badgerbs
import (
@@ -9,13 +9,13 @@ import (
"strings"
"testing"
u "github.com/ipfs/boxo/util"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
u "github.com/ipfs/go-ipfs-util"
ipld "github.com/ipfs/go-ipld-format"
"github.com/stretchr/testify/require"
"github.com/filecoin-project/lotus/blockstore"
"github.com/stretchr/testify/require"
)
// TODO: move this to go-ipfs-blockstore.
@@ -56,7 +56,7 @@ func (s *Suite) TestGetWhenKeyNotPresent(t *testing.T) {
c := cid.NewCidV0(u.Hash([]byte("stuff")))
bl, err := bs.Get(ctx, c)
require.Nil(t, bl)
require.Equal(t, blockstore.ErrNotFound, err)
require.Equal(t, ipld.ErrNotFound{Cid: c}, err)
}
func (s *Suite) TestGetWhenKeyIsNil(t *testing.T) {
@@ -69,7 +69,7 @@ func (s *Suite) TestGetWhenKeyIsNil(t *testing.T) {
}
_, err := bs.Get(ctx, cid.Undef)
require.Equal(t, blockstore.ErrNotFound, err)
require.Equal(t, ipld.ErrNotFound{Cid: cid.Undef}, err)
}
func (s *Suite) TestPutThenGetBlock(t *testing.T) {
@@ -164,8 +164,9 @@ func (s *Suite) TestPutThenGetSizeBlock(t *testing.T) {
require.NoError(t, err)
require.Zero(t, emptySize)
missingSize, err := bs.GetSize(ctx, missingBlock.Cid())
require.Equal(t, blockstore.ErrNotFound, err)
missingCid := missingBlock.Cid()
missingSize, err := bs.GetSize(ctx, missingCid)
require.Equal(t, ipld.ErrNotFound{Cid: missingCid}, err)
require.Equal(t, -1, missingSize)
}
+48 -6
View File
@@ -2,18 +2,16 @@ package blockstore
import (
"context"
"time"
cid "github.com/ipfs/go-cid"
blockstore "github.com/ipfs/boxo/blockstore"
"github.com/ipfs/go-cid"
ds "github.com/ipfs/go-datastore"
logging "github.com/ipfs/go-log/v2"
blockstore "github.com/ipfs/go-ipfs-blockstore"
)
var log = logging.Logger("blockstore")
var ErrNotFound = blockstore.ErrNotFound
// Blockstore is the blockstore interface used by Lotus. It is the union
// of the basic go-ipfs blockstore, with other capabilities required by Lotus,
// e.g. View or Sync.
@@ -21,6 +19,7 @@ type Blockstore interface {
blockstore.Blockstore
blockstore.Viewer
BatchDeleter
Flusher
}
// BasicBlockstore is an alias to the original IPFS Blockstore.
@@ -28,6 +27,10 @@ type BasicBlockstore = blockstore.Blockstore
type Viewer = blockstore.Viewer
type Flusher interface {
Flush(context.Context) error
}
type BatchDeleter interface {
DeleteMany(ctx context.Context, cids []cid.Cid) error
}
@@ -39,7 +42,12 @@ type BlockstoreIterator interface {
// BlockstoreGC is a trait for blockstores that support online garbage collection
type BlockstoreGC interface {
CollectGarbage(options ...BlockstoreGCOption) error
CollectGarbage(ctx context.Context, options ...BlockstoreGCOption) error
}
// BlockstoreGCOnce is a trait for a blockstore that supports incremental online garbage collection
type BlockstoreGCOnce interface {
GCOnce(ctx context.Context, options ...BlockstoreGCOption) error
}
// BlockstoreGCOption is a functional interface for controlling blockstore GC options
@@ -48,6 +56,12 @@ type BlockstoreGCOption = func(*BlockstoreGCOptions) error
// BlockstoreGCOptions is a struct with GC options
type BlockstoreGCOptions struct {
FullGC bool
// fraction of garbage in badger vlog before its worth processing in online GC
Threshold float64
// how often to call the check function
CheckFreq time.Duration
// function to call periodically to pause or early terminate GC
Check func() error
}
func WithFullGC(fullgc bool) BlockstoreGCOption {
@@ -57,6 +71,27 @@ func WithFullGC(fullgc bool) BlockstoreGCOption {
}
}
func WithThreshold(threshold float64) BlockstoreGCOption {
return func(opts *BlockstoreGCOptions) error {
opts.Threshold = threshold
return nil
}
}
func WithCheckFreq(f time.Duration) BlockstoreGCOption {
return func(opts *BlockstoreGCOptions) error {
opts.CheckFreq = f
return nil
}
}
func WithCheck(check func() error) BlockstoreGCOption {
return func(opts *BlockstoreGCOptions) error {
opts.Check = check
return nil
}
}
// BlockstoreSize is a trait for on-disk blockstores that can report their size
type BlockstoreSize interface {
Size() (int64, error)
@@ -95,6 +130,13 @@ type adaptedBlockstore struct {
var _ Blockstore = (*adaptedBlockstore)(nil)
func (a *adaptedBlockstore) Flush(ctx context.Context) error {
if flusher, canFlush := a.Blockstore.(Flusher); canFlush {
return flusher.Flush(ctx)
}
return nil
}
func (a *adaptedBlockstore) View(ctx context.Context, cid cid.Cid, callback func([]byte) error) error {
blk, err := a.Get(ctx, cid)
if err != nil {
+6 -3
View File
@@ -6,6 +6,7 @@ import (
block "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
)
// buflog is a logger for the buffered blockstore. It is subscoped from the
@@ -45,6 +46,8 @@ var (
_ Viewer = (*BufferedBlockstore)(nil)
)
func (bs *BufferedBlockstore) Flush(ctx context.Context) error { return bs.write.Flush(ctx) }
func (bs *BufferedBlockstore) AllKeysChan(ctx context.Context) (<-chan cid.Cid, error) {
a, err := bs.read.AllKeysChan(ctx)
if err != nil {
@@ -106,7 +109,7 @@ func (bs *BufferedBlockstore) DeleteMany(ctx context.Context, cids []cid.Cid) er
func (bs *BufferedBlockstore) View(ctx context.Context, c cid.Cid, callback func([]byte) error) error {
// both stores are viewable.
if err := bs.write.View(ctx, c, callback); err == ErrNotFound {
if err := bs.write.View(ctx, c, callback); ipld.IsNotFound(err) {
// not found in write blockstore; fall through.
} else {
return err // propagate errors, or nil, i.e. found.
@@ -116,7 +119,7 @@ func (bs *BufferedBlockstore) View(ctx context.Context, c cid.Cid, callback func
func (bs *BufferedBlockstore) Get(ctx context.Context, c cid.Cid) (block.Block, error) {
if out, err := bs.write.Get(ctx, c); err != nil {
if err != ErrNotFound {
if !ipld.IsNotFound(err) {
return nil, err
}
} else {
@@ -128,7 +131,7 @@ func (bs *BufferedBlockstore) Get(ctx context.Context, c cid.Cid) (block.Block,
func (bs *BufferedBlockstore) GetSize(ctx context.Context, c cid.Cid) (int, error) {
s, err := bs.read.GetSize(ctx, c)
if err == ErrNotFound || s == 0 {
if ipld.IsNotFound(err) || s == 0 {
return bs.write.GetSize(ctx, c)
}
+459
View File
@@ -0,0 +1,459 @@
// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
package blockstore
import (
"fmt"
"io"
"math"
"sort"
cid "github.com/ipfs/go-cid"
cbg "github.com/whyrusleeping/cbor-gen"
xerrors "golang.org/x/xerrors"
)
var _ = xerrors.Errorf
var _ = cid.Undef
var _ = math.E
var _ = sort.Sort
var lengthBufNetRpcReq = []byte{132}
func (t *NetRpcReq) MarshalCBOR(w io.Writer) error {
if t == nil {
_, err := w.Write(cbg.CborNull)
return err
}
cw := cbg.NewCborWriter(w)
if _, err := cw.Write(lengthBufNetRpcReq); err != nil {
return err
}
// t.Type (blockstore.NetRPCReqType) (uint8)
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.Type)); err != nil {
return err
}
// t.ID (uint64) (uint64)
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.ID)); err != nil {
return err
}
// t.Cid ([]cid.Cid) (slice)
if len(t.Cid) > cbg.MaxLength {
return xerrors.Errorf("Slice value in field t.Cid was too long")
}
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Cid))); err != nil {
return err
}
for _, v := range t.Cid {
if err := cbg.WriteCid(cw, v); err != nil {
return xerrors.Errorf("failed to write cid field v: %w", err)
}
}
// t.Data ([][]uint8) (slice)
if len(t.Data) > cbg.MaxLength {
return xerrors.Errorf("Slice value in field t.Data was too long")
}
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Data))); err != nil {
return err
}
for _, v := range t.Data {
if len(v) > cbg.ByteArrayMaxLen {
return xerrors.Errorf("Byte array in field v was too long")
}
if err := cw.WriteMajorTypeHeader(cbg.MajByteString, uint64(len(v))); err != nil {
return err
}
if _, err := cw.Write(v[:]); err != nil {
return err
}
}
return nil
}
func (t *NetRpcReq) UnmarshalCBOR(r io.Reader) (err error) {
*t = NetRpcReq{}
cr := cbg.NewCborReader(r)
maj, extra, err := cr.ReadHeader()
if err != nil {
return err
}
defer func() {
if err == io.EOF {
err = io.ErrUnexpectedEOF
}
}()
if maj != cbg.MajArray {
return fmt.Errorf("cbor input should be of type array")
}
if extra != 4 {
return fmt.Errorf("cbor input had wrong number of fields")
}
// t.Type (blockstore.NetRPCReqType) (uint8)
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if maj != cbg.MajUnsignedInt {
return fmt.Errorf("wrong type for uint8 field")
}
if extra > math.MaxUint8 {
return fmt.Errorf("integer in input was too large for uint8 field")
}
t.Type = NetRPCReqType(extra)
// t.ID (uint64) (uint64)
{
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if maj != cbg.MajUnsignedInt {
return fmt.Errorf("wrong type for uint64 field")
}
t.ID = uint64(extra)
}
// t.Cid ([]cid.Cid) (slice)
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if extra > cbg.MaxLength {
return fmt.Errorf("t.Cid: array too large (%d)", extra)
}
if maj != cbg.MajArray {
return fmt.Errorf("expected cbor array")
}
if extra > 0 {
t.Cid = make([]cid.Cid, extra)
}
for i := 0; i < int(extra); i++ {
{
var maj byte
var extra uint64
var err error
_ = maj
_ = extra
_ = err
{
c, err := cbg.ReadCid(cr)
if err != nil {
return xerrors.Errorf("failed to read cid field t.Cid[i]: %w", err)
}
t.Cid[i] = c
}
}
}
// t.Data ([][]uint8) (slice)
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if extra > cbg.MaxLength {
return fmt.Errorf("t.Data: array too large (%d)", extra)
}
if maj != cbg.MajArray {
return fmt.Errorf("expected cbor array")
}
if extra > 0 {
t.Data = make([][]uint8, extra)
}
for i := 0; i < int(extra); i++ {
{
var maj byte
var extra uint64
var err error
_ = maj
_ = extra
_ = err
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if extra > cbg.ByteArrayMaxLen {
return fmt.Errorf("t.Data[i]: byte array too large (%d)", extra)
}
if maj != cbg.MajByteString {
return fmt.Errorf("expected byte array")
}
if extra > 0 {
t.Data[i] = make([]uint8, extra)
}
if _, err := io.ReadFull(cr, t.Data[i][:]); err != nil {
return err
}
}
}
return nil
}
var lengthBufNetRpcResp = []byte{131}
func (t *NetRpcResp) MarshalCBOR(w io.Writer) error {
if t == nil {
_, err := w.Write(cbg.CborNull)
return err
}
cw := cbg.NewCborWriter(w)
if _, err := cw.Write(lengthBufNetRpcResp); err != nil {
return err
}
// t.Type (blockstore.NetRPCRespType) (uint8)
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.Type)); err != nil {
return err
}
// t.ID (uint64) (uint64)
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.ID)); err != nil {
return err
}
// t.Data ([]uint8) (slice)
if len(t.Data) > cbg.ByteArrayMaxLen {
return xerrors.Errorf("Byte array in field t.Data was too long")
}
if err := cw.WriteMajorTypeHeader(cbg.MajByteString, uint64(len(t.Data))); err != nil {
return err
}
if _, err := cw.Write(t.Data[:]); err != nil {
return err
}
return nil
}
func (t *NetRpcResp) UnmarshalCBOR(r io.Reader) (err error) {
*t = NetRpcResp{}
cr := cbg.NewCborReader(r)
maj, extra, err := cr.ReadHeader()
if err != nil {
return err
}
defer func() {
if err == io.EOF {
err = io.ErrUnexpectedEOF
}
}()
if maj != cbg.MajArray {
return fmt.Errorf("cbor input should be of type array")
}
if extra != 3 {
return fmt.Errorf("cbor input had wrong number of fields")
}
// t.Type (blockstore.NetRPCRespType) (uint8)
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if maj != cbg.MajUnsignedInt {
return fmt.Errorf("wrong type for uint8 field")
}
if extra > math.MaxUint8 {
return fmt.Errorf("integer in input was too large for uint8 field")
}
t.Type = NetRPCRespType(extra)
// t.ID (uint64) (uint64)
{
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if maj != cbg.MajUnsignedInt {
return fmt.Errorf("wrong type for uint64 field")
}
t.ID = uint64(extra)
}
// t.Data ([]uint8) (slice)
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if extra > cbg.ByteArrayMaxLen {
return fmt.Errorf("t.Data: byte array too large (%d)", extra)
}
if maj != cbg.MajByteString {
return fmt.Errorf("expected byte array")
}
if extra > 0 {
t.Data = make([]uint8, extra)
}
if _, err := io.ReadFull(cr, t.Data[:]); err != nil {
return err
}
return nil
}
var lengthBufNetRpcErr = []byte{131}
func (t *NetRpcErr) MarshalCBOR(w io.Writer) error {
if t == nil {
_, err := w.Write(cbg.CborNull)
return err
}
cw := cbg.NewCborWriter(w)
if _, err := cw.Write(lengthBufNetRpcErr); err != nil {
return err
}
// t.Type (blockstore.NetRPCErrType) (uint8)
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.Type)); err != nil {
return err
}
// t.Msg (string) (string)
if len(t.Msg) > cbg.MaxLength {
return xerrors.Errorf("Value in field t.Msg was too long")
}
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Msg))); err != nil {
return err
}
if _, err := cw.WriteString(string(t.Msg)); err != nil {
return err
}
// t.Cid (cid.Cid) (struct)
if t.Cid == nil {
if _, err := cw.Write(cbg.CborNull); err != nil {
return err
}
} else {
if err := cbg.WriteCid(cw, *t.Cid); err != nil {
return xerrors.Errorf("failed to write cid field t.Cid: %w", err)
}
}
return nil
}
func (t *NetRpcErr) UnmarshalCBOR(r io.Reader) (err error) {
*t = NetRpcErr{}
cr := cbg.NewCborReader(r)
maj, extra, err := cr.ReadHeader()
if err != nil {
return err
}
defer func() {
if err == io.EOF {
err = io.ErrUnexpectedEOF
}
}()
if maj != cbg.MajArray {
return fmt.Errorf("cbor input should be of type array")
}
if extra != 3 {
return fmt.Errorf("cbor input had wrong number of fields")
}
// t.Type (blockstore.NetRPCErrType) (uint8)
maj, extra, err = cr.ReadHeader()
if err != nil {
return err
}
if maj != cbg.MajUnsignedInt {
return fmt.Errorf("wrong type for uint8 field")
}
if extra > math.MaxUint8 {
return fmt.Errorf("integer in input was too large for uint8 field")
}
t.Type = NetRPCErrType(extra)
// t.Msg (string) (string)
{
sval, err := cbg.ReadString(cr)
if err != nil {
return err
}
t.Msg = string(sval)
}
// t.Cid (cid.Cid) (struct)
{
b, err := cr.ReadByte()
if err != nil {
return err
}
if b != cbg.CborNull[0] {
if err := cr.UnreadByte(); err != nil {
return err
}
c, err := cbg.ReadCid(cr)
if err != nil {
return xerrors.Errorf("failed to read cid field t.Cid: %w", err)
}
t.Cid = &c
}
}
return nil
}
+5 -1
View File
@@ -5,7 +5,7 @@ import (
"io"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
)
var _ Blockstore = (*discardstore)(nil)
@@ -38,6 +38,10 @@ func (b *discardstore) View(ctx context.Context, cid cid.Cid, f func([]byte) err
return b.bs.View(ctx, cid, f)
}
func (b *discardstore) Flush(ctx context.Context) error {
return nil
}
func (b *discardstore) Put(ctx context.Context, blk blocks.Block) error {
return nil
}
+9 -9
View File
@@ -5,10 +5,10 @@ import (
"sync"
"time"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
"golang.org/x/xerrors"
)
// UnwrapFallbackStore takes a blockstore, and returns the underlying blockstore
@@ -56,7 +56,7 @@ func (fbs *FallbackStore) getFallback(c cid.Cid) (blocks.Block, error) {
if fbs.missFn == nil {
log.Errorw("fallbackstore: missFn not configured yet")
return nil, ErrNotFound
return nil, ipld.ErrNotFound{Cid: c}
}
}
@@ -79,10 +79,10 @@ func (fbs *FallbackStore) getFallback(c cid.Cid) (blocks.Block, error) {
func (fbs *FallbackStore) Get(ctx context.Context, c cid.Cid) (blocks.Block, error) {
b, err := fbs.Blockstore.Get(ctx, c)
switch err {
case nil:
switch {
case err == nil:
return b, nil
case ErrNotFound:
case ipld.IsNotFound(err):
return fbs.getFallback(c)
default:
return b, err
@@ -91,10 +91,10 @@ func (fbs *FallbackStore) Get(ctx context.Context, c cid.Cid) (blocks.Block, err
func (fbs *FallbackStore) GetSize(ctx context.Context, c cid.Cid) (int, error) {
sz, err := fbs.Blockstore.GetSize(ctx, c)
switch err {
case nil:
switch {
case err == nil:
return sz, nil
case ErrNotFound:
case ipld.IsNotFound(err):
b, err := fbs.getFallback(c)
if err != nil {
return 0, err
+28 -3
View File
@@ -4,11 +4,10 @@ import (
"context"
"io"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
mh "github.com/multiformats/go-multihash"
"golang.org/x/xerrors"
)
var _ Blockstore = (*idstore)(nil)
@@ -103,6 +102,14 @@ func (b *idstore) Put(ctx context.Context, blk blocks.Block) error {
return b.bs.Put(ctx, blk)
}
func (b *idstore) ForEachKey(f func(cid.Cid) error) error {
iterBstore, ok := b.bs.(BlockstoreIterator)
if !ok {
return xerrors.Errorf("underlying blockstore (type %T) doesn't support fast iteration", b.bs)
}
return iterBstore.ForEachKey(f)
}
func (b *idstore) PutMany(ctx context.Context, blks []blocks.Block) error {
toPut := make([]blocks.Block, 0, len(blks))
for _, blk := range blks {
@@ -172,3 +179,21 @@ func (b *idstore) Close() error {
}
return nil
}
func (b *idstore) Flush(ctx context.Context) error {
return b.bs.Flush(ctx)
}
func (b *idstore) CollectGarbage(ctx context.Context, options ...BlockstoreGCOption) error {
if bs, ok := b.bs.(BlockstoreGC); ok {
return bs.CollectGarbage(ctx, options...)
}
return xerrors.Errorf("not supported")
}
func (b *idstore) GCOnce(ctx context.Context, options ...BlockstoreGCOption) error {
if bs, ok := b.bs.(BlockstoreGCOnce); ok {
return bs.GCOnce(ctx, options...)
}
return xerrors.Errorf("not supported")
}
+13 -14
View File
@@ -3,19 +3,18 @@ package blockstore
import (
"bytes"
"context"
"io/ioutil"
"golang.org/x/xerrors"
"github.com/multiformats/go-multiaddr"
"github.com/multiformats/go-multihash"
"io"
iface "github.com/ipfs/boxo/coreiface"
"github.com/ipfs/boxo/coreiface/options"
"github.com/ipfs/boxo/coreiface/path"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
httpapi "github.com/ipfs/go-ipfs-http-client"
iface "github.com/ipfs/interface-go-ipfs-core"
"github.com/ipfs/interface-go-ipfs-core/options"
"github.com/ipfs/interface-go-ipfs-core/path"
"github.com/multiformats/go-multiaddr"
"github.com/multiformats/go-multihash"
"golang.org/x/xerrors"
rpc "github.com/filecoin-project/kubo-api-client"
)
type IPFSBlockstore struct {
@@ -26,7 +25,7 @@ type IPFSBlockstore struct {
var _ BasicBlockstore = (*IPFSBlockstore)(nil)
func NewLocalIPFSBlockstore(ctx context.Context, onlineMode bool) (Blockstore, error) {
localApi, err := httpapi.NewLocalApi()
localApi, err := rpc.NewLocalApi()
if err != nil {
return nil, xerrors.Errorf("getting local ipfs api: %w", err)
}
@@ -53,7 +52,7 @@ func NewLocalIPFSBlockstore(ctx context.Context, onlineMode bool) (Blockstore, e
}
func NewRemoteIPFSBlockstore(ctx context.Context, maddr multiaddr.Multiaddr, onlineMode bool) (Blockstore, error) {
httpApi, err := httpapi.NewApi(maddr)
httpApi, err := rpc.NewApi(maddr)
if err != nil {
return nil, xerrors.Errorf("setting remote ipfs api: %w", err)
}
@@ -105,7 +104,7 @@ func (i *IPFSBlockstore) Get(ctx context.Context, cid cid.Cid) (blocks.Block, er
return nil, xerrors.Errorf("getting ipfs block: %w", err)
}
data, err := ioutil.ReadAll(rd)
data, err := io.ReadAll(rd)
if err != nil {
return nil, err
}
@@ -130,7 +129,7 @@ func (i *IPFSBlockstore) Put(ctx context.Context, block blocks.Block) error {
_, err = i.api.Block().Put(ctx, bytes.NewReader(block.RawData()),
options.Block.Hash(mhd.Code, mhd.Length),
options.Block.Format(cid.CodecToStr[block.Cid().Type()]))
options.Block.Format(multihash.Codes[block.Cid().Type()]))
return err
}
+21 -14
View File
@@ -5,6 +5,7 @@ import (
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
)
// NewMemory returns a temporary memory-backed blockstore.
@@ -13,46 +14,52 @@ func NewMemory() MemBlockstore {
}
// MemBlockstore is a terminal blockstore that keeps blocks in memory.
type MemBlockstore map[cid.Cid]blocks.Block
// To match behavior of badger blockstore we index by multihash only.
type MemBlockstore map[string]blocks.Block
func (MemBlockstore) Flush(context.Context) error { return nil }
func (m MemBlockstore) DeleteBlock(ctx context.Context, k cid.Cid) error {
delete(m, k)
delete(m, string(k.Hash()))
return nil
}
func (m MemBlockstore) DeleteMany(ctx context.Context, ks []cid.Cid) error {
for _, k := range ks {
delete(m, k)
delete(m, string(k.Hash()))
}
return nil
}
func (m MemBlockstore) Has(ctx context.Context, k cid.Cid) (bool, error) {
_, ok := m[k]
_, ok := m[string(k.Hash())]
return ok, nil
}
func (m MemBlockstore) View(ctx context.Context, k cid.Cid, callback func([]byte) error) error {
b, ok := m[k]
b, ok := m[string(k.Hash())]
if !ok {
return ErrNotFound
return ipld.ErrNotFound{Cid: k}
}
return callback(b.RawData())
}
func (m MemBlockstore) Get(ctx context.Context, k cid.Cid) (blocks.Block, error) {
b, ok := m[k]
b, ok := m[string(k.Hash())]
if !ok {
return nil, ErrNotFound
return nil, ipld.ErrNotFound{Cid: k}
}
if b.Cid().Prefix().Codec != k.Prefix().Codec {
return blocks.NewBlockWithCid(b.RawData(), k)
}
return b, nil
}
// GetSize returns the CIDs mapped BlockSize
func (m MemBlockstore) GetSize(ctx context.Context, k cid.Cid) (int, error) {
b, ok := m[k]
b, ok := m[string(k.Hash())]
if !ok {
return 0, ErrNotFound
return 0, ipld.ErrNotFound{Cid: k}
}
return len(b.RawData()), nil
}
@@ -61,7 +68,7 @@ func (m MemBlockstore) GetSize(ctx context.Context, k cid.Cid) (int, error) {
func (m MemBlockstore) Put(ctx context.Context, b blocks.Block) error {
// Convert to a basic block for safety, but try to reuse the existing
// block if it's already a basic block.
k := b.Cid()
k := string(b.Cid().Hash())
if _, ok := b.(*blocks.BasicBlock); !ok {
// If we already have the block, abort.
if _, ok := m[k]; ok {
@@ -70,7 +77,7 @@ func (m MemBlockstore) Put(ctx context.Context, b blocks.Block) error {
// the error is only for debugging.
b, _ = blocks.NewBlockWithCid(b.RawData(), b.Cid())
}
m[b.Cid()] = b
m[k] = b
return nil
}
@@ -88,8 +95,8 @@ func (m MemBlockstore) PutMany(ctx context.Context, bs []blocks.Block) error {
// the given context, closing the channel if it becomes Done.
func (m MemBlockstore) AllKeysChan(ctx context.Context) (<-chan cid.Cid, error) {
ch := make(chan cid.Cid, len(m))
for k := range m {
ch <- k
for _, b := range m {
ch <- b.Cid()
}
close(ch)
return ch, nil
+45
View File
@@ -0,0 +1,45 @@
package blockstore
import (
"context"
"testing"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
mh "github.com/multiformats/go-multihash"
"github.com/stretchr/testify/require"
)
func TestMemGetCodec(t *testing.T) {
ctx := context.Background()
bs := NewMemory()
cborArr := []byte{0x82, 1, 2}
h, err := mh.Sum(cborArr, mh.SHA2_256, -1)
require.NoError(t, err)
rawCid := cid.NewCidV1(cid.Raw, h)
rawBlk, err := blocks.NewBlockWithCid(cborArr, rawCid)
require.NoError(t, err)
err = bs.Put(ctx, rawBlk)
require.NoError(t, err)
cborCid := cid.NewCidV1(cid.DagCBOR, h)
cborBlk, err := bs.Get(ctx, cborCid)
require.NoError(t, err)
require.Equal(t, cborCid.Prefix(), cborBlk.Cid().Prefix())
require.EqualValues(t, cborArr, cborBlk.RawData())
// was allocated
require.NotEqual(t, cborBlk, rawBlk)
gotRawBlk, err := bs.Get(ctx, rawCid)
require.NoError(t, err)
// not allocated
require.Equal(t, rawBlk, gotRawBlk)
}
+426
View File
@@ -0,0 +1,426 @@
package blockstore
import (
"bytes"
"context"
"encoding/binary"
"fmt"
"sync"
"sync/atomic"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
"github.com/libp2p/go-msgio"
cbg "github.com/whyrusleeping/cbor-gen"
"golang.org/x/xerrors"
)
type NetRPCReqType byte
const (
NRpcHas NetRPCReqType = iota
NRpcGet
NRpcGetSize
NRpcPut
NRpcDelete
// todo cancel req
)
type NetRPCRespType byte
const (
NRpcOK NetRPCRespType = iota
NRpcErr
NRpcMore
)
type NetRPCErrType byte
const (
NRpcErrGeneric NetRPCErrType = iota
NRpcErrNotFound
)
type NetRpcReq struct {
Type NetRPCReqType
ID uint64
Cid []cid.Cid // todo maxsize?
Data [][]byte // todo maxsize?
}
type NetRpcResp struct {
Type NetRPCRespType
ID uint64
// error or cids in allkeys
Data []byte // todo maxsize?
next <-chan NetRpcResp
}
type NetRpcErr struct {
Type NetRPCErrType
Msg string
// in case of NRpcErrNotFound
Cid *cid.Cid
}
type NetworkStore struct {
// note: writer is thread-safe
msgStream msgio.ReadWriteCloser
// atomic
reqCount uint64
respLk sync.Mutex
// respMap is nil after store closes
respMap map[uint64]chan<- NetRpcResp
closing chan struct{}
closed chan struct{}
closeLk sync.Mutex
onClose []func()
}
func NewNetworkStore(mss msgio.ReadWriteCloser) *NetworkStore {
ns := &NetworkStore{
msgStream: mss,
respMap: map[uint64]chan<- NetRpcResp{},
closing: make(chan struct{}),
closed: make(chan struct{}),
}
go ns.receive()
return ns
}
func (n *NetworkStore) shutdown(msg string) {
if err := n.msgStream.Close(); err != nil {
log.Errorw("closing netstore msg stream", "error", err)
}
nerr := NetRpcErr{
Type: NRpcErrGeneric,
Msg: msg,
Cid: nil,
}
var errb bytes.Buffer
if err := nerr.MarshalCBOR(&errb); err != nil {
log.Errorw("netstore shutdown: error marshaling error", "err", err)
}
n.respLk.Lock()
for id, resps := range n.respMap {
resps <- NetRpcResp{
Type: NRpcErr,
ID: id,
Data: errb.Bytes(),
}
}
n.respMap = nil
n.respLk.Unlock()
}
func (n *NetworkStore) OnClose(cb func()) {
n.closeLk.Lock()
defer n.closeLk.Unlock()
select {
case <-n.closed:
cb()
default:
n.onClose = append(n.onClose, cb)
}
}
func (n *NetworkStore) receive() {
defer func() {
n.closeLk.Lock()
defer n.closeLk.Unlock()
close(n.closed)
if n.onClose != nil {
for _, f := range n.onClose {
f()
}
}
}()
for {
select {
case <-n.closing:
n.shutdown("netstore stopping")
return
default:
}
msg, err := n.msgStream.ReadMsg()
if err != nil {
n.shutdown(fmt.Sprintf("netstore ReadMsg: %s", err))
return
}
var resp NetRpcResp
if err := resp.UnmarshalCBOR(bytes.NewReader(msg)); err != nil {
n.shutdown(fmt.Sprintf("unmarshaling netstore response: %s", err))
return
}
n.msgStream.ReleaseMsg(msg)
n.respLk.Lock()
if ch, ok := n.respMap[resp.ID]; ok {
if resp.Type == NRpcMore {
nch := make(chan NetRpcResp, 1)
resp.next = nch
n.respMap[resp.ID] = nch
} else {
delete(n.respMap, resp.ID)
}
ch <- resp
}
n.respLk.Unlock()
}
}
func (n *NetworkStore) sendRpc(rt NetRPCReqType, cids []cid.Cid, data [][]byte) (uint64, <-chan NetRpcResp, error) {
rid := atomic.AddUint64(&n.reqCount, 1)
respCh := make(chan NetRpcResp, 1) // todo pool?
n.respLk.Lock()
if n.respMap == nil {
n.respLk.Unlock()
return 0, nil, xerrors.Errorf("netstore closed")
}
n.respMap[rid] = respCh
n.respLk.Unlock()
req := NetRpcReq{
Type: rt,
ID: rid,
Cid: cids,
Data: data,
}
var rbuf bytes.Buffer // todo buffer pool
if err := req.MarshalCBOR(&rbuf); err != nil {
n.respLk.Lock()
defer n.respLk.Unlock()
if n.respMap == nil {
return 0, nil, xerrors.Errorf("netstore closed")
}
delete(n.respMap, rid)
return 0, nil, err
}
if err := n.msgStream.WriteMsg(rbuf.Bytes()); err != nil {
n.respLk.Lock()
defer n.respLk.Unlock()
if n.respMap == nil {
return 0, nil, xerrors.Errorf("netstore closed")
}
delete(n.respMap, rid)
return 0, nil, err
}
return rid, respCh, nil
}
func (n *NetworkStore) waitResp(ctx context.Context, rch <-chan NetRpcResp, rid uint64) (NetRpcResp, error) {
select {
case resp := <-rch:
if resp.Type == NRpcErr {
var e NetRpcErr
if err := e.UnmarshalCBOR(bytes.NewReader(resp.Data)); err != nil {
return NetRpcResp{}, xerrors.Errorf("unmarshaling error data: %w", err)
}
var err error
switch e.Type {
case NRpcErrNotFound:
if e.Cid != nil {
err = ipld.ErrNotFound{
Cid: *e.Cid,
}
} else {
err = xerrors.Errorf("block not found, but cid was null")
}
case NRpcErrGeneric:
err = xerrors.Errorf("generic error")
default:
err = xerrors.Errorf("unknown error type")
}
return NetRpcResp{}, xerrors.Errorf("netstore error response: %s (%w)", e.Msg, err)
}
return resp, nil
case <-ctx.Done():
// todo send cancel req
n.respLk.Lock()
if n.respMap != nil {
delete(n.respMap, rid)
}
n.respLk.Unlock()
return NetRpcResp{}, ctx.Err()
}
}
func (n *NetworkStore) Has(ctx context.Context, c cid.Cid) (bool, error) {
req, rch, err := n.sendRpc(NRpcHas, []cid.Cid{c}, nil)
if err != nil {
return false, err
}
resp, err := n.waitResp(ctx, rch, req)
if err != nil {
return false, err
}
if len(resp.Data) != 1 {
return false, xerrors.Errorf("expected reposnse length to be 1 byte")
}
switch resp.Data[0] {
case cbg.CborBoolTrue[0]:
return true, nil
case cbg.CborBoolFalse[0]:
return false, nil
default:
return false, xerrors.Errorf("has: bad response: %x", resp.Data[0])
}
}
func (n *NetworkStore) Get(ctx context.Context, c cid.Cid) (blocks.Block, error) {
req, rch, err := n.sendRpc(NRpcGet, []cid.Cid{c}, nil)
if err != nil {
return nil, err
}
resp, err := n.waitResp(ctx, rch, req)
if err != nil {
return nil, err
}
return blocks.NewBlockWithCid(resp.Data, c)
}
func (n *NetworkStore) View(ctx context.Context, c cid.Cid, callback func([]byte) error) error {
req, rch, err := n.sendRpc(NRpcGet, []cid.Cid{c}, nil)
if err != nil {
return err
}
resp, err := n.waitResp(ctx, rch, req)
if err != nil {
return err
}
return callback(resp.Data) // todo return buf to pool
}
func (n *NetworkStore) GetSize(ctx context.Context, c cid.Cid) (int, error) {
req, rch, err := n.sendRpc(NRpcGetSize, []cid.Cid{c}, nil)
if err != nil {
return 0, err
}
resp, err := n.waitResp(ctx, rch, req)
if err != nil {
return 0, err
}
if len(resp.Data) != 4 {
return 0, xerrors.Errorf("expected getsize response to be 4 bytes, was %d", resp.Data)
}
return int(binary.LittleEndian.Uint32(resp.Data)), nil
}
func (n *NetworkStore) Put(ctx context.Context, block blocks.Block) error {
return n.PutMany(ctx, []blocks.Block{block})
}
func (n *NetworkStore) PutMany(ctx context.Context, blocks []blocks.Block) error {
// todo pool
cids := make([]cid.Cid, len(blocks))
blkDatas := make([][]byte, len(blocks))
for i, block := range blocks {
cids[i] = block.Cid()
blkDatas[i] = block.RawData()
}
req, rch, err := n.sendRpc(NRpcPut, cids, blkDatas)
if err != nil {
return err
}
_, err = n.waitResp(ctx, rch, req)
if err != nil {
return err
}
return nil
}
func (n *NetworkStore) DeleteBlock(ctx context.Context, c cid.Cid) error {
return n.DeleteMany(ctx, []cid.Cid{c})
}
func (n *NetworkStore) DeleteMany(ctx context.Context, cids []cid.Cid) error {
req, rch, err := n.sendRpc(NRpcDelete, cids, nil)
if err != nil {
return err
}
_, err = n.waitResp(ctx, rch, req)
if err != nil {
return err
}
return nil
}
func (n *NetworkStore) AllKeysChan(ctx context.Context) (<-chan cid.Cid, error) {
return nil, xerrors.Errorf("not supported")
}
func (n *NetworkStore) HashOnRead(enabled bool) {
// todo
return
}
func (*NetworkStore) Flush(context.Context) error { return nil }
func (n *NetworkStore) Stop(ctx context.Context) error {
close(n.closing)
select {
case <-n.closed:
return nil
case <-ctx.Done():
return ctx.Err()
}
}
var _ Blockstore = &NetworkStore{}
+237
View File
@@ -0,0 +1,237 @@
package blockstore
import (
"bytes"
"context"
"encoding/binary"
block "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
"github.com/libp2p/go-msgio"
cbg "github.com/whyrusleeping/cbor-gen"
"golang.org/x/xerrors"
)
type NetworkStoreHandler struct {
msgStream msgio.ReadWriteCloser
bs Blockstore
}
// NOTE: This code isn't yet hardened to accept untrusted input. See TODOs here and in net.go
func HandleNetBstoreStream(ctx context.Context, bs Blockstore, mss msgio.ReadWriteCloser) *NetworkStoreHandler {
ns := &NetworkStoreHandler{
msgStream: mss,
bs: bs,
}
go ns.handle(ctx)
return ns
}
func (h *NetworkStoreHandler) handle(ctx context.Context) {
defer func() {
if err := h.msgStream.Close(); err != nil {
log.Errorw("error closing blockstore stream", "error", err)
}
}()
for {
var req NetRpcReq
ms, err := h.msgStream.ReadMsg()
if err != nil {
log.Warnw("bstore stream err", "error", err)
return
}
if err := req.UnmarshalCBOR(bytes.NewReader(ms)); err != nil {
return
}
h.msgStream.ReleaseMsg(ms)
switch req.Type {
case NRpcHas:
if len(req.Cid) != 1 {
if err := h.respondError(req.ID, xerrors.New("expected request for 1 cid"), cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
res, err := h.bs.Has(ctx, req.Cid[0])
if err != nil {
if err := h.respondError(req.ID, err, req.Cid[0]); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
var resData [1]byte
if res {
resData[0] = cbg.CborBoolTrue[0]
} else {
resData[0] = cbg.CborBoolFalse[0]
}
if err := h.respond(req.ID, NRpcOK, resData[:]); err != nil {
log.Warnw("writing response", "error", err)
return
}
case NRpcGet:
if len(req.Cid) != 1 {
if err := h.respondError(req.ID, xerrors.New("expected request for 1 cid"), cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
err := h.bs.View(ctx, req.Cid[0], func(bdata []byte) error {
return h.respond(req.ID, NRpcOK, bdata)
})
if err != nil {
if err := h.respondError(req.ID, err, req.Cid[0]); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
case NRpcGetSize:
if len(req.Cid) != 1 {
if err := h.respondError(req.ID, xerrors.New("expected request for 1 cid"), cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
sz, err := h.bs.GetSize(ctx, req.Cid[0])
if err != nil {
if err := h.respondError(req.ID, err, req.Cid[0]); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
var resData [4]byte
binary.LittleEndian.PutUint32(resData[:], uint32(sz))
if err := h.respond(req.ID, NRpcOK, resData[:]); err != nil {
log.Warnw("writing response", "error", err)
return
}
case NRpcPut:
blocks := make([]block.Block, len(req.Cid))
if len(req.Cid) != len(req.Data) {
if err := h.respondError(req.ID, xerrors.New("cid count didn't match data count"), cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
}
return
}
for i := range req.Cid {
blocks[i], err = block.NewBlockWithCid(req.Data[i], req.Cid[i])
if err != nil {
log.Warnw("make block", "error", err)
return
}
}
err := h.bs.PutMany(ctx, blocks)
if err != nil {
if err := h.respondError(req.ID, err, cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
if err := h.respond(req.ID, NRpcOK, []byte{}); err != nil {
log.Warnw("writing response", "error", err)
return
}
case NRpcDelete:
err := h.bs.DeleteMany(ctx, req.Cid)
if err != nil {
if err := h.respondError(req.ID, err, cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
if err := h.respond(req.ID, NRpcOK, []byte{}); err != nil {
log.Warnw("writing response", "error", err)
return
}
default:
if err := h.respondError(req.ID, xerrors.New("unsupported request type"), cid.Undef); err != nil {
log.Warnw("writing error response", "error", err)
return
}
continue
}
}
}
func (h *NetworkStoreHandler) respondError(req uint64, uerr error, c cid.Cid) error {
var resp NetRpcResp
resp.ID = req
resp.Type = NRpcErr
nerr := NetRpcErr{
Type: NRpcErrGeneric,
Msg: uerr.Error(),
}
if ipld.IsNotFound(uerr) {
nerr.Type = NRpcErrNotFound
nerr.Cid = &c
}
var edata bytes.Buffer
if err := nerr.MarshalCBOR(&edata); err != nil {
return xerrors.Errorf("marshaling error data: %w", err)
}
resp.Data = edata.Bytes()
var msg bytes.Buffer
if err := resp.MarshalCBOR(&msg); err != nil {
return xerrors.Errorf("marshaling error response: %w", err)
}
if err := h.msgStream.WriteMsg(msg.Bytes()); err != nil {
return xerrors.Errorf("write error response: %w", err)
}
return nil
}
func (h *NetworkStoreHandler) respond(req uint64, rt NetRPCRespType, data []byte) error {
var resp NetRpcResp
resp.ID = req
resp.Type = rt
resp.Data = data
var msg bytes.Buffer
if err := resp.MarshalCBOR(&msg); err != nil {
return xerrors.Errorf("marshaling response: %w", err)
}
if err := h.msgStream.WriteMsg(msg.Bytes()); err != nil {
return xerrors.Errorf("write response: %w", err)
}
return nil
}
+63
View File
@@ -0,0 +1,63 @@
package blockstore
import (
"context"
"fmt"
"io"
"testing"
block "github.com/ipfs/go-block-format"
ipld "github.com/ipfs/go-ipld-format"
"github.com/libp2p/go-msgio"
"github.com/stretchr/testify/require"
)
func TestNetBstore(t *testing.T) {
ctx := context.Background()
cr, sw := io.Pipe()
sr, cw := io.Pipe()
cm := msgio.Combine(msgio.NewWriter(cw), msgio.NewReader(cr))
sm := msgio.Combine(msgio.NewWriter(sw), msgio.NewReader(sr))
bbs := NewMemorySync()
_ = HandleNetBstoreStream(ctx, bbs, sm)
nbs := NewNetworkStore(cm)
tb1 := block.NewBlock([]byte("aoeu"))
h, err := nbs.Has(ctx, tb1.Cid())
require.NoError(t, err)
require.False(t, h)
err = nbs.Put(ctx, tb1)
require.NoError(t, err)
h, err = nbs.Has(ctx, tb1.Cid())
require.NoError(t, err)
require.True(t, h)
sz, err := nbs.GetSize(ctx, tb1.Cid())
require.NoError(t, err)
require.Equal(t, 4, sz)
err = nbs.DeleteBlock(ctx, tb1.Cid())
require.NoError(t, err)
h, err = nbs.Has(ctx, tb1.Cid())
require.NoError(t, err)
require.False(t, h)
_, err = nbs.Get(ctx, tb1.Cid())
fmt.Println(err)
require.True(t, ipld.IsNotFound(err))
err = nbs.Put(ctx, tb1)
require.NoError(t, err)
b, err := nbs.Get(ctx, tb1.Cid())
require.NoError(t, err)
require.Equal(t, "aoeu", string(b.RawData()))
}
+100
View File
@@ -0,0 +1,100 @@
package blockstore
import (
"bytes"
"context"
"github.com/gorilla/websocket"
"github.com/libp2p/go-msgio"
"golang.org/x/xerrors"
)
type wsWrapper struct {
wc *websocket.Conn
nextMsg []byte
}
func (w *wsWrapper) Read(b []byte) (int, error) {
return 0, xerrors.New("read unsupported")
}
func (w *wsWrapper) ReadMsg() ([]byte, error) {
if w.nextMsg != nil {
nm := w.nextMsg
w.nextMsg = nil
return nm, nil
}
mt, r, err := w.wc.NextReader()
if err != nil {
return nil, err
}
switch mt {
case websocket.BinaryMessage, websocket.TextMessage:
default:
return nil, xerrors.Errorf("unexpected message type")
}
// todo pool
// todo limit sizes
var mbuf bytes.Buffer
if _, err := mbuf.ReadFrom(r); err != nil {
return nil, err
}
return mbuf.Bytes(), nil
}
func (w *wsWrapper) ReleaseMsg(bytes []byte) {
// todo use a pool
}
func (w *wsWrapper) NextMsgLen() (int, error) {
if w.nextMsg != nil {
return len(w.nextMsg), nil
}
mt, msg, err := w.wc.ReadMessage()
if err != nil {
return 0, err
}
switch mt {
case websocket.BinaryMessage, websocket.TextMessage:
default:
return 0, xerrors.Errorf("unexpected message type")
}
w.nextMsg = msg
return len(w.nextMsg), nil
}
func (w *wsWrapper) Write(bytes []byte) (int, error) {
return 0, xerrors.New("write unsupported")
}
func (w *wsWrapper) WriteMsg(bytes []byte) error {
return w.wc.WriteMessage(websocket.BinaryMessage, bytes)
}
func (w *wsWrapper) Close() error {
return w.wc.Close()
}
var _ msgio.ReadWriteCloser = &wsWrapper{}
func wsConnToMio(wc *websocket.Conn) msgio.ReadWriteCloser {
return &wsWrapper{
wc: wc,
}
}
func HandleNetBstoreWS(ctx context.Context, bs Blockstore, wc *websocket.Conn) *NetworkStoreHandler {
return HandleNetBstoreStream(ctx, bs, wsConnToMio(wc))
}
func NewNetworkStoreWS(wc *websocket.Conn) *NetworkStore {
return NewNetworkStore(wsConnToMio(wc))
}
+2 -3
View File
@@ -5,10 +5,9 @@ import (
"io"
"os"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
mh "github.com/multiformats/go-multihash"
"golang.org/x/xerrors"
)
type Checkpoint struct {
+1 -2
View File
@@ -5,9 +5,8 @@ import (
"io"
"os"
"github.com/ipfs/go-cid"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
)
type ColdSetWriter struct {
+2 -3
View File
@@ -12,11 +12,10 @@ import (
"sync"
"time"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"go.uber.org/multierr"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
)
type debugLog struct {
+1 -2
View File
@@ -3,9 +3,8 @@ package splitstore
import (
"errors"
"github.com/ipfs/go-cid"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
)
var errMarkSetClosed = errors.New("markset closed")
+4 -4
View File
@@ -6,13 +6,13 @@ import (
"runtime"
"sync"
"golang.org/x/xerrors"
"github.com/dgraph-io/badger/v2"
"github.com/dgraph-io/badger/v2/options"
"github.com/ipfs/go-cid"
"go.uber.org/zap"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
"github.com/filecoin-project/lotus/system"
)
type BadgerMarkSetEnv struct {
@@ -351,7 +351,7 @@ func (s *BadgerMarkSet) write(seqno int) (err error) {
persist := s.persist
s.mx.RUnlock()
if persist {
if persist && !system.BadgerFsyncDisable { // WARNING: disabling sync makes recovery from crash during critical section unsound
return s.db.Sync()
}
+1 -2
View File
@@ -7,9 +7,8 @@ import (
"path/filepath"
"sync"
"github.com/ipfs/go-cid"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
)
type MapMarkSetEnv struct {
+2 -2
View File
@@ -1,10 +1,10 @@
//stm: #unit
// stm: #unit
package splitstore
import (
"testing"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
"github.com/multiformats/go-multihash"
)
+174 -40
View File
@@ -8,22 +8,22 @@ import (
"sync/atomic"
"time"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
dstore "github.com/ipfs/go-datastore"
ipld "github.com/ipfs/go-ipld-format"
logging "github.com/ipfs/go-log/v2"
"go.opencensus.io/stats"
"go.uber.org/multierr"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
dstore "github.com/ipfs/go-datastore"
logging "github.com/ipfs/go-log/v2"
"github.com/filecoin-project/go-state-types/abi"
bstore "github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/stmgr"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/metrics"
"go.opencensus.io/stats"
)
var (
@@ -43,8 +43,16 @@ var (
// compactionIndexKey stores the compaction index (serial number)
compactionIndexKey = dstore.NewKey("/splitstore/compactionIndex")
// stores the prune index (serial number)
pruneIndexKey = dstore.NewKey("/splitstore/pruneIndex")
// stores the base epoch of last prune in the metadata store
pruneEpochKey = dstore.NewKey("/splitstore/pruneEpoch")
log = logging.Logger("splitstore")
errClosing = errors.New("splitstore is closing")
// set this to true if you are debugging the splitstore to enable debug logging
enableDebugLog = false
// set this to true if you want to track origin stack traces in the write log
@@ -54,6 +62,16 @@ var (
upgradeBoundary = build.Finality
)
type CompactType int
const (
none CompactType = iota
warmup
hot
cold
check
)
func init() {
if os.Getenv("LOTUS_SPLITSTORE_DEBUG_LOG") == "1" {
enableDebugLog = true
@@ -80,6 +98,10 @@ type Config struct {
// and directly purges cold blocks.
DiscardColdBlocks bool
// UniversalColdBlocks indicates whether all blocks being garbage collected and purged
// from the hotstore should be written to the cold store
UniversalColdBlocks bool
// HotstoreMessageRetention indicates the hotstore retention policy for messages.
// It has the following semantics:
// - a value of 0 will only retain messages within the compaction boundary (4 finalities)
@@ -93,6 +115,23 @@ type Config struct {
// A positive value is the number of compactions before a full GC is performed;
// a value of 1 will perform full GC in every compaction.
HotStoreFullGCFrequency uint64
// HotstoreMaxSpaceTarget suggests the max allowed space the hotstore can take.
// This is not a hard limit, it is possible for the hotstore to exceed the target
// for example if state grows massively between compactions. The splitstore
// will make a best effort to avoid overflowing the target and in practice should
// never overflow. This field is used when doing GC at the end of a compaction to
// adaptively choose moving GC
HotstoreMaxSpaceTarget uint64
// Moving GC will be triggered when total moving size exceeds
// HotstoreMaxSpaceTarget - HotstoreMaxSpaceThreshold
HotstoreMaxSpaceThreshold uint64
// Safety buffer to prevent moving GC from overflowing disk.
// Moving GC will not occur when total moving size exceeds
// HotstoreMaxSpaceTarget - HotstoreMaxSpaceSafetyBuffer
HotstoreMaxSpaceSafetyBuffer uint64
}
// ChainAccessor allows the Splitstore to access the chain. It will most likely
@@ -117,15 +156,17 @@ type hotstore interface {
}
type SplitStore struct {
compacting int32 // compaction/prune/warmup in progress
closing int32 // the splitstore is closing
compacting int32 // flag for when compaction is in progress
compactType CompactType // compaction type, protected by compacting atomic, only meaningful when compacting == 1
closing int32 // the splitstore is closing
cfg *Config
path string
mx sync.Mutex
warmupEpoch abi.ChainEpoch // protected by mx
warmupEpoch atomic.Int64
baseEpoch abi.ChainEpoch // protected by compaction lock
pruneEpoch abi.ChainEpoch // protected by compaction lock
headChangeMx sync.Mutex
@@ -140,10 +181,16 @@ type SplitStore struct {
markSetSize int64
compactionIndex int64
pruneIndex int64
ctx context.Context
cancel func()
outOfSync int32 // for fast checking
chainSyncMx sync.Mutex
chainSyncCond sync.Cond
chainSyncFinished bool // protected by chainSyncMx
debug *debugLog
// transactional protection for concurrent read/writes during compaction
@@ -170,6 +217,17 @@ type SplitStore struct {
// registered protectors
protectors []func(func(cid.Cid) error) error
// dag sizes measured during latest compaction
// logged and used for GC strategy
// protected by compaction lock
szWalk int64
szProtectedTxns int64
szKeys int64 // approximate, not counting keys protected when entering critical section
// protected by txnLk
szMarkedLiveRefs int64
}
var _ bstore.Blockstore = (*SplitStore)(nil)
@@ -207,6 +265,7 @@ func Open(path string, ds dstore.Datastore, hot, cold bstore.Blockstore, cfg *Co
ss.txnViewsCond.L = &ss.txnViewsMx
ss.txnSyncCond.L = &ss.txnSyncMx
ss.chainSyncCond.L = &ss.chainSyncMx
ss.ctx, ss.cancel = context.WithCancel(context.Background())
ss.reifyCond.L = &ss.reifyMx
@@ -227,6 +286,13 @@ func Open(path string, ds dstore.Datastore, hot, cold bstore.Blockstore, cfg *Co
return nil, xerrors.Errorf("error resuming compaction: %w", err)
}
}
if ss.pruneCheckpointExists() {
log.Info("found prune checkpoint; resuming prune")
if err := ss.completePrune(); err != nil {
markSetEnv.Close() //nolint:errcheck
return nil, xerrors.Errorf("error resuming prune: %w", err)
}
}
return ss, nil
}
@@ -260,8 +326,14 @@ func (s *SplitStore) Has(ctx context.Context, cid cid.Cid) (bool, error) {
if has {
return s.has(cid)
}
return s.cold.Has(ctx, cid)
switch s.compactType {
case hot:
return s.cold.Has(ctx, cid)
case cold:
return s.hot.Has(ctx, cid)
default:
return false, xerrors.Errorf("invalid compaction type %d, only hot and cold allowed for critical section", s.compactType)
}
}
has, err := s.hot.Has(ctx, cid)
@@ -276,8 +348,11 @@ func (s *SplitStore) Has(ctx context.Context, cid cid.Cid) (bool, error) {
}
has, err = s.cold.Has(ctx, cid)
if has && bstore.IsHotView(ctx) {
s.reifyColdObject(cid)
if has {
s.trackTxnRef(cid)
if bstore.IsHotView(ctx) {
s.reifyColdObject(cid)
}
}
return has, err
@@ -307,24 +382,31 @@ func (s *SplitStore) Get(ctx context.Context, cid cid.Cid) (blocks.Block, error)
if has {
return s.get(cid)
}
return s.cold.Get(ctx, cid)
switch s.compactType {
case hot:
return s.cold.Get(ctx, cid)
case cold:
return s.hot.Get(ctx, cid)
default:
return nil, xerrors.Errorf("invalid compaction type %d, only hot and cold allowed for critical section", s.compactType)
}
}
blk, err := s.hot.Get(ctx, cid)
switch err {
case nil:
switch {
case err == nil:
s.trackTxnRef(cid)
return blk, nil
case bstore.ErrNotFound:
case ipld.IsNotFound(err):
if s.isWarm() {
s.debug.LogReadMiss(cid)
}
blk, err = s.cold.Get(ctx, cid)
if err == nil {
s.trackTxnRef(cid)
if bstore.IsHotView(ctx) {
s.reifyColdObject(cid)
}
@@ -361,24 +443,31 @@ func (s *SplitStore) GetSize(ctx context.Context, cid cid.Cid) (int, error) {
if has {
return s.getSize(cid)
}
return s.cold.GetSize(ctx, cid)
switch s.compactType {
case hot:
return s.cold.GetSize(ctx, cid)
case cold:
return s.hot.GetSize(ctx, cid)
default:
return 0, xerrors.Errorf("invalid compaction type %d, only hot and cold allowed for critical section", s.compactType)
}
}
size, err := s.hot.GetSize(ctx, cid)
switch err {
case nil:
switch {
case err == nil:
s.trackTxnRef(cid)
return size, nil
case bstore.ErrNotFound:
case ipld.IsNotFound(err):
if s.isWarm() {
s.debug.LogReadMiss(cid)
}
size, err = s.cold.GetSize(ctx, cid)
if err == nil {
s.trackTxnRef(cid)
if bstore.IsHotView(ctx) {
s.reifyColdObject(cid)
}
@@ -392,6 +481,23 @@ func (s *SplitStore) GetSize(ctx context.Context, cid cid.Cid) (int, error) {
}
}
func (s *SplitStore) Flush(ctx context.Context) error {
s.txnLk.RLock()
defer s.txnLk.RUnlock()
if err := s.cold.Flush(ctx); err != nil {
return err
}
if err := s.hot.Flush(ctx); err != nil {
return err
}
if err := s.ds.Sync(ctx, dstore.Key{}); err != nil {
return err
}
return nil
}
func (s *SplitStore) Put(ctx context.Context, blk blocks.Block) error {
if isIdentiyCid(blk.Cid()) {
return nil
@@ -408,12 +514,12 @@ func (s *SplitStore) Put(ctx context.Context, blk blocks.Block) error {
s.debug.LogWrite(blk)
// critical section
if s.txnMarkSet != nil {
if s.txnMarkSet != nil && s.compactType == hot { // puts only touch hot store
s.markLiveRefs([]cid.Cid{blk.Cid()})
return nil
}
s.trackTxnRef(blk.Cid())
return nil
}
@@ -459,12 +565,12 @@ func (s *SplitStore) PutMany(ctx context.Context, blks []blocks.Block) error {
s.debug.LogWriteMany(blks)
// critical section
if s.txnMarkSet != nil {
if s.txnMarkSet != nil && s.compactType == hot { // puts only touch hot store
s.markLiveRefs(batch)
return nil
}
s.trackTxnRefMany(batch)
return nil
}
@@ -536,8 +642,14 @@ func (s *SplitStore) View(ctx context.Context, cid cid.Cid, cb func([]byte) erro
if has {
return s.view(cid, cb)
}
return s.cold.View(ctx, cid, cb)
switch s.compactType {
case hot:
return s.cold.View(ctx, cid, cb)
case cold:
return s.hot.View(ctx, cid, cb)
default:
return xerrors.Errorf("invalid compaction type %d, only hot and cold allowed for critical section", s.compactType)
}
}
// views are (optimistically) protected two-fold:
@@ -552,8 +664,7 @@ func (s *SplitStore) View(ctx context.Context, cid cid.Cid, cb func([]byte) erro
defer s.viewDone()
err := s.hot.View(ctx, cid, cb)
switch err {
case bstore.ErrNotFound:
if ipld.IsNotFound(err) {
if s.isWarm() {
s.debug.LogReadMiss(cid)
}
@@ -567,16 +678,12 @@ func (s *SplitStore) View(ctx context.Context, cid cid.Cid, cb func([]byte) erro
stats.Record(s.ctx, metrics.SplitstoreMiss.M(1))
}
return err
default:
return err
}
return err
}
func (s *SplitStore) isWarm() bool {
s.mx.Lock()
defer s.mx.Unlock()
return s.warmupEpoch > 0
return s.warmupEpoch.Load() > 0
}
// State tracking
@@ -626,11 +733,28 @@ func (s *SplitStore) Start(chain ChainAccessor, us stmgr.UpgradeSchedule) error
return xerrors.Errorf("error loading base epoch: %w", err)
}
// load prune epoch from metadata ds
bs, err = s.ds.Get(s.ctx, pruneEpochKey)
switch err {
case nil:
s.pruneEpoch = bytesToEpoch(bs)
case dstore.ErrNotFound:
if curTs == nil {
//this can happen in some tests
break
}
if err := s.setPruneEpoch(curTs.Height()); err != nil {
return xerrors.Errorf("error saving prune epoch: %w", err)
}
default:
return xerrors.Errorf("error loading prune epoch: %w", err)
}
// load warmup epoch from metadata ds
bs, err = s.ds.Get(s.ctx, warmupEpochKey)
switch err {
case nil:
s.warmupEpoch = bytesToEpoch(bs)
s.warmupEpoch.Store(bytesToInt64(bs))
case dstore.ErrNotFound:
warmup = true
@@ -664,7 +788,7 @@ func (s *SplitStore) Start(chain ChainAccessor, us stmgr.UpgradeSchedule) error
return xerrors.Errorf("error loading compaction index: %w", err)
}
log.Infow("starting splitstore", "baseEpoch", s.baseEpoch, "warmupEpoch", s.warmupEpoch)
log.Infow("starting splitstore", "baseEpoch", s.baseEpoch, "warmupEpoch", s.warmupEpoch.Load())
if warmup {
err = s.warmup(curTs)
@@ -701,6 +825,11 @@ func (s *SplitStore) Close() error {
s.txnSyncCond.Broadcast()
s.txnSyncMx.Unlock()
s.chainSyncMx.Lock()
s.chainSyncFinished = true
s.chainSyncCond.Broadcast()
s.chainSyncMx.Unlock()
log.Warn("close with ongoing compaction in progress; waiting for it to finish...")
for atomic.LoadInt32(&s.compacting) == 1 {
time.Sleep(time.Second)
@@ -725,3 +854,8 @@ func (s *SplitStore) setBaseEpoch(epoch abi.ChainEpoch) error {
s.baseEpoch = epoch
return s.ds.Put(s.ctx, baseEpochKey, epochToBytes(epoch))
}
func (s *SplitStore) setPruneEpoch(epoch abi.ChainEpoch) error {
s.pruneEpoch = epoch
return s.ds.Put(s.ctx, pruneEpochKey, epochToBytes(epoch))
}
+8 -6
View File
@@ -8,10 +8,9 @@ import (
"sync/atomic"
"time"
"github.com/ipfs/go-cid"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
bstore "github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/chain/types"
)
@@ -26,6 +25,7 @@ func (s *SplitStore) Check() error {
if !atomic.CompareAndSwapInt32(&s.compacting, 0, 1) {
return xerrors.Errorf("can't acquire compaction lock; compacting operation in progress")
}
s.compactType = check
if s.compactionIndex == 0 {
atomic.StoreInt32(&s.compacting, 0)
@@ -95,7 +95,7 @@ func (s *SplitStore) doCheck(curTs *types.TipSet) error {
}
defer visitor.Close() //nolint
err = s.walkChain(curTs, boundaryEpoch, boundaryEpoch, visitor,
size := s.walkChain(curTs, boundaryEpoch, boundaryEpoch, visitor,
func(c cid.Cid) error {
if isUnitaryObject(c) {
return errStopWalk
@@ -125,7 +125,7 @@ func (s *SplitStore) doCheck(curTs *types.TipSet) error {
}
return nil
})
}, func(cid.Cid) error { return nil })
if err != nil {
err = xerrors.Errorf("error walking chain: %w", err)
@@ -133,7 +133,7 @@ func (s *SplitStore) doCheck(curTs *types.TipSet) error {
return err
}
log.Infow("check done", "cold", *coldCnt, "missing", *missingCnt)
log.Infow("check done", "cold", *coldCnt, "missing", *missingCnt, "walk size", size)
write("--")
write("cold: %d missing: %d", *coldCnt, *missingCnt)
write("DONE")
@@ -145,8 +145,10 @@ func (s *SplitStore) doCheck(curTs *types.TipSet) error {
func (s *SplitStore) Info() map[string]interface{} {
info := make(map[string]interface{})
info["base epoch"] = s.baseEpoch
info["warmup epoch"] = s.warmupEpoch
info["warmup epoch"] = s.warmupEpoch.Load()
info["compactions"] = s.compactionIndex
info["prunes"] = s.pruneIndex
info["compacting"] = s.compacting == 1
sizer, ok := s.hot.(bstore.BlockstoreSize)
if ok {
+355 -113
View File
@@ -10,20 +10,19 @@ import (
"sync/atomic"
"time"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
cbg "github.com/whyrusleeping/cbor-gen"
"go.opencensus.io/stats"
"golang.org/x/sync/errgroup"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
cbg "github.com/whyrusleeping/cbor-gen"
"github.com/filecoin-project/go-state-types/abi"
bstore "github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/metrics"
"go.opencensus.io/stats"
)
var (
@@ -53,6 +52,12 @@ var (
// SyncWaitTime is the time delay from a tipset's min timestamp before we decide
// we have synced.
SyncWaitTime = 30 * time.Second
// This is a testing flag that should always be true when running a node. itests rely on the rough hack
// of starting genesis so far in the past that they exercise catchup mining to mine
// blocks quickly and so disabling syncgap checking is necessary to test compaction
// without a deep structural improvement of itests.
CheckSyncGap = true
)
var (
@@ -61,7 +66,9 @@ var (
)
const (
batchSize = 16384
batchSize = 16384
cidKeySize = 128
purgeWorkSliceDuration = time.Second
)
func (s *SplitStore) HeadChange(_, apply []*types.TipSet) error {
@@ -82,10 +89,38 @@ func (s *SplitStore) HeadChange(_, apply []*types.TipSet) error {
// this is guaranteed by the chainstore, and it is pervasive in all lotus
// -- if that ever changes then all hell will break loose in general and
// we will have a rance to protectTipSets here.
// Reagrdless, we put a mutex in HeadChange just to be safe
// Regardless, we put a mutex in HeadChange just to be safe
if !atomic.CompareAndSwapInt32(&s.compacting, 0, 1) {
// we are currently compacting -- protect the new tipset(s)
// we are currently compacting
// 1. Signal sync condition to yield compaction when out of sync and resume when in sync
timestamp := time.Unix(int64(curTs.MinTimestamp()), 0)
if CheckSyncGap && time.Since(timestamp) > SyncGapTime {
/* Chain out of sync */
if atomic.CompareAndSwapInt32(&s.outOfSync, 0, 1) {
// transition from in sync to out of sync
s.chainSyncMx.Lock()
s.chainSyncFinished = false
s.chainSyncMx.Unlock()
}
// already out of sync, no signaling necessary
}
// TODO: ok to use hysteresis with no transitions between 30s and 1m?
if time.Since(timestamp) < SyncWaitTime {
/* Chain in sync */
if atomic.CompareAndSwapInt32(&s.outOfSync, 0, 0) {
// already in sync, no signaling necessary
} else {
// transition from out of sync to in sync
s.chainSyncMx.Lock()
s.chainSyncFinished = true
s.chainSyncCond.Broadcast()
s.chainSyncMx.Unlock()
}
}
// 2. protect the new tipset(s)
s.protectTipSets(apply)
return nil
}
@@ -97,7 +132,8 @@ func (s *SplitStore) HeadChange(_, apply []*types.TipSet) error {
}
timestamp := time.Unix(int64(curTs.MinTimestamp()), 0)
if time.Since(timestamp) > SyncGapTime {
if CheckSyncGap && time.Since(timestamp) > SyncGapTime {
// don't attempt compaction before we have caught up syncing
atomic.StoreInt32(&s.compacting, 0)
return nil
@@ -112,6 +148,7 @@ func (s *SplitStore) HeadChange(_, apply []*types.TipSet) error {
if epoch-s.baseEpoch > CompactionThreshold {
// it's time to compact -- prepare the transaction and go!
s.beginTxnProtect()
s.compactType = hot
go func() {
defer atomic.StoreInt32(&s.compacting, 0)
defer s.endTxnProtect()
@@ -123,6 +160,7 @@ func (s *SplitStore) HeadChange(_, apply []*types.TipSet) error {
log.Infow("compaction done", "took", time.Since(start))
}()
// only prune if auto prune is enabled and after at least one compaction
} else {
// no compaction necessary
atomic.StoreInt32(&s.compacting, 0)
@@ -166,6 +204,8 @@ func (s *SplitStore) protectTipSets(apply []*types.TipSet) {
timestamp := time.Unix(int64(curTs.MinTimestamp()), 0)
doSync := time.Since(timestamp) < SyncWaitTime
go func() {
// we are holding the txnLk while marking
// so critical section cannot delete
if doSync {
defer func() {
s.txnSyncMx.Lock()
@@ -189,9 +229,11 @@ func (s *SplitStore) markLiveRefs(cids []cid.Cid) {
log.Debugf("marking %d live refs", len(cids))
startMark := time.Now()
szMarked := new(int64)
count := new(int32)
visitor := newConcurrentVisitor()
walkObject := func(c cid.Cid) error {
walkObject := func(c cid.Cid) (int64, error) {
return s.walkObjectIncomplete(c, visitor,
func(c cid.Cid) error {
if isUnitaryObject(c) {
@@ -218,10 +260,12 @@ func (s *SplitStore) markLiveRefs(cids []cid.Cid) {
// optimize the common case of single put
if len(cids) == 1 {
if err := walkObject(cids[0]); err != nil {
sz, err := walkObject(cids[0])
if err != nil {
log.Errorf("error marking tipset refs: %s", err)
}
log.Debugw("marking live refs done", "took", time.Since(startMark), "marked", *count)
atomic.AddInt64(szMarked, sz)
return
}
@@ -233,9 +277,11 @@ func (s *SplitStore) markLiveRefs(cids []cid.Cid) {
worker := func() error {
for c := range workch {
if err := walkObject(c); err != nil {
sz, err := walkObject(c)
if err != nil {
return err
}
atomic.AddInt64(szMarked, sz)
}
return nil
@@ -258,7 +304,8 @@ func (s *SplitStore) markLiveRefs(cids []cid.Cid) {
log.Errorf("error marking tipset refs: %s", err)
}
log.Debugw("marking live refs done", "took", time.Since(startMark), "marked", *count)
log.Debugw("marking live refs done", "took", time.Since(startMark), "marked", *count, "size marked", *szMarked)
s.szMarkedLiveRefs += atomic.LoadInt64(szMarked)
}
// transactionally protect a view
@@ -351,6 +398,7 @@ func (s *SplitStore) protectTxnRefs(markSet MarkSet) error {
log.Infow("protecting transactional references", "refs", len(txnRefs))
count := 0
sz := new(int64)
workch := make(chan cid.Cid, len(txnRefs))
startProtect := time.Now()
@@ -383,10 +431,11 @@ func (s *SplitStore) protectTxnRefs(markSet MarkSet) error {
worker := func() error {
for c := range workch {
err := s.doTxnProtect(c, markSet)
szTxn, err := s.doTxnProtect(c, markSet)
if err != nil {
return xerrors.Errorf("error protecting transactional references to %s: %w", c, err)
}
atomic.AddInt64(sz, szTxn)
}
return nil
}
@@ -399,16 +448,16 @@ func (s *SplitStore) protectTxnRefs(markSet MarkSet) error {
if err := g.Wait(); err != nil {
return err
}
log.Infow("protecting transactional refs done", "took", time.Since(startProtect), "protected", count)
s.szProtectedTxns += atomic.LoadInt64(sz)
log.Infow("protecting transactional refs done", "took", time.Since(startProtect), "protected", count, "protected size", sz)
}
}
// transactionally protect a reference by walking the object and marking.
// concurrent markings are short circuited by checking the markset.
func (s *SplitStore) doTxnProtect(root cid.Cid, markSet MarkSet) error {
func (s *SplitStore) doTxnProtect(root cid.Cid, markSet MarkSet) (int64, error) {
if err := s.checkClosing(); err != nil {
return err
return 0, err
}
// Note: cold objects are deleted heaviest first, so the consituents of an object
@@ -432,7 +481,7 @@ func (s *SplitStore) doTxnProtect(root cid.Cid, markSet MarkSet) error {
},
func(c cid.Cid) error {
if s.txnMissing != nil {
log.Warnf("missing object reference %s in %s", c, root)
log.Debugf("missing object reference %s in %s", c, root)
s.txnRefsMx.Lock()
s.txnMissing[c] = struct{}{}
s.txnRefsMx.Unlock()
@@ -475,6 +524,7 @@ func (s *SplitStore) applyProtectors() error {
// - At this point we are ready to begin purging:
// - We sort cold objects heaviest first, so as to never delete the consituents of a DAG before the DAG itself (which would leave dangling references)
// - We delete in small batches taking a lock; each batch is checked again for marks, from the concurrent transactional mark, so as to never delete anything live
//
// - We then end the transaction and compact/gc the hotstore.
func (s *SplitStore) compact(curTs *types.TipSet) {
log.Info("waiting for active views to complete")
@@ -498,6 +548,7 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
// might be potentially inconsistent; abort compaction and notify the user to intervene.
return xerrors.Errorf("checkpoint exists; aborting compaction")
}
s.clearSizeMeasurements()
currentEpoch := curTs.Height()
boundaryEpoch := currentEpoch - CompactionBoundary
@@ -517,7 +568,13 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
defer markSet.Close() //nolint:errcheck
defer s.debug.Flush()
if err := s.checkClosing(); err != nil {
coldSet, err := s.markSetEnv.New("cold", s.markSetSize)
if err != nil {
return xerrors.Errorf("error creating cold mark set: %w", err)
}
defer coldSet.Close() //nolint:errcheck
if err := s.checkYield(); err != nil {
return err
}
@@ -535,25 +592,52 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
startMark := time.Now()
count := new(int64)
err = s.walkChain(curTs, boundaryEpoch, inclMsgsEpoch, &noopVisitor{},
func(c cid.Cid) error {
if isUnitaryObject(c) {
return errStopWalk
}
visit, err := markSet.Visit(c)
if err != nil {
return xerrors.Errorf("error visiting object: %w", err)
}
if !visit {
return errStopWalk
}
atomic.AddInt64(count, 1)
coldCount := new(int64)
fCold := func(c cid.Cid) error {
// Writes to cold set optimized away in universal and discard mode
//
// Nothing gets written to cold store in discard mode so no cold objects to write
// Everything not marked hot gets written to cold store in universal mode so no need to track cold objects separately
if s.cfg.DiscardColdBlocks || s.cfg.UniversalColdBlocks {
return nil
})
}
if isUnitaryObject(c) {
return errStopWalk
}
visit, err := coldSet.Visit(c)
if err != nil {
return xerrors.Errorf("error visiting object: %w", err)
}
if !visit {
return errStopWalk
}
atomic.AddInt64(coldCount, 1)
return nil
}
fHot := func(c cid.Cid) error {
if isUnitaryObject(c) {
return errStopWalk
}
visit, err := markSet.Visit(c)
if err != nil {
return xerrors.Errorf("error visiting object: %w", err)
}
if !visit {
return errStopWalk
}
atomic.AddInt64(count, 1)
return nil
}
err = s.walkChain(curTs, boundaryEpoch, inclMsgsEpoch, &noopVisitor{}, fHot, fCold)
if err != nil {
return xerrors.Errorf("error marking: %w", err)
}
@@ -562,7 +646,7 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
log.Infow("marking done", "took", time.Since(startMark), "marked", *count)
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
@@ -572,7 +656,7 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
return xerrors.Errorf("error protecting transactional refs: %w", err)
}
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
@@ -586,9 +670,14 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
}
defer coldw.Close() //nolint:errcheck
// some stats for logging
var hotCnt, coldCnt int
purgew, err := NewColdSetWriter(s.discardSetPath())
if err != nil {
return xerrors.Errorf("error creating deadset: %w", err)
}
defer purgew.Close() //nolint:errcheck
// some stats for logging
var hotCnt, coldCnt, purgeCnt int64
err = s.hot.ForEachKey(func(c cid.Cid) error {
// was it marked?
mark, err := markSet.Has(c)
@@ -601,30 +690,50 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
return nil
}
// it's cold, mark it as candidate for move
// it needs to be removed from hot store, mark it as candidate for purge
if err := purgew.Write(c); err != nil {
return xerrors.Errorf("error writing cid to purge set: %w", err)
}
purgeCnt++
coldMark, err := coldSet.Has(c)
if err != nil {
return xerrors.Errorf("error checking cold mark set for %s: %w", c, err)
}
// Discard mode: coldMark == false, s.cfg.UniversalColdBlocks == false, always return here, no writes to cold store
// Universal mode: coldMark == false, s.cfg.UniversalColdBlocks == true, never stop here, all writes to cold store
// Otherwise: s.cfg.UniversalColdBlocks == false, if !coldMark stop here and don't write to cold store, if coldMark continue and write to cold store
if !coldMark && !s.cfg.UniversalColdBlocks { // universal mode means mark everything as cold
return nil
}
// it's cold, mark as candidate for move
if err := coldw.Write(c); err != nil {
return xerrors.Errorf("error writing cid to coldstore: %w", err)
return xerrors.Errorf("error writing cid to cold set")
}
coldCnt++
return nil
})
if err != nil {
return xerrors.Errorf("error collecting cold objects: %w", err)
}
if err := purgew.Close(); err != nil {
return xerrors.Errorf("erroring closing purgeset: %w", err)
}
if err := coldw.Close(); err != nil {
return xerrors.Errorf("error closing coldset: %w", err)
}
log.Infow("cold collection done", "took", time.Since(startCollect))
log.Infow("compaction stats", "hot", hotCnt, "cold", coldCnt)
stats.Record(s.ctx, metrics.SplitstoreCompactionHot.M(int64(hotCnt)))
stats.Record(s.ctx, metrics.SplitstoreCompactionCold.M(int64(coldCnt)))
log.Infow("compaction stats", "hot", hotCnt, "cold", coldCnt, "purge", purgeCnt)
s.szKeys = hotCnt * cidKeySize
stats.Record(s.ctx, metrics.SplitstoreCompactionHot.M(hotCnt))
stats.Record(s.ctx, metrics.SplitstoreCompactionCold.M(coldCnt))
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
@@ -633,7 +742,7 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
// possibly delete objects we didn't have when we were collecting cold objects)
s.waitForMissingRefs(markSet)
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
@@ -653,7 +762,7 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
}
log.Infow("moving done", "took", time.Since(startMove))
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
@@ -662,6 +771,12 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
}
}
purger, err := NewColdSetReader(s.discardSetPath())
if err != nil {
return xerrors.Errorf("error opening coldset: %w", err)
}
defer purger.Close() //nolint:errcheck
// 4. Purge cold objects with checkpointing for recovery.
// This is the critical section of compaction, whereby any cold object not in the markSet is
// considered already deleted.
@@ -678,7 +793,7 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
}
// wait for the head to catch up so that the current tipset is marked
s.waitForSync()
s.waitForTxnSync()
if err := s.checkClosing(); err != nil {
return err
@@ -693,13 +808,13 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
// 5. purge cold objects from the hotstore, taking protected references into account
log.Info("purging cold objects from the hotstore")
startPurge := time.Now()
err = s.purge(coldr, checkpoint, markSet)
err = s.purge(purger, checkpoint, markSet)
if err != nil {
return xerrors.Errorf("error purging cold objects: %w", err)
}
log.Infow("purging cold objects from hotstore done", "took", time.Since(startPurge))
s.endCriticalSection()
log.Infow("critical section done", "total protected size", s.szProtectedTxns, "total marked live size", s.szMarkedLiveRefs)
if err := checkpoint.Close(); err != nil {
log.Warnf("error closing checkpoint: %s", err)
@@ -713,10 +828,13 @@ func (s *SplitStore) doCompact(curTs *types.TipSet) error {
if err := os.Remove(s.coldSetPath()); err != nil {
log.Warnf("error removing coldset: %s", err)
}
if err := os.Remove(s.discardSetPath()); err != nil {
log.Warnf("error removing discardset: %s", err)
}
// we are done; do some housekeeping
s.endTxnProtect()
s.gcHotstore()
s.gcHotAfterCompaction()
err = s.setBaseEpoch(boundaryEpoch)
if err != nil {
@@ -776,8 +894,12 @@ func (s *SplitStore) beginCriticalSection(markSet MarkSet) error {
return nil
}
func (s *SplitStore) waitForSync() {
func (s *SplitStore) waitForTxnSync() {
log.Info("waiting for sync")
if !CheckSyncGap {
log.Warnf("If you see this outside of test it is a serious splitstore issue")
return
}
startWait := time.Now()
defer func() {
log.Infow("waiting for sync done", "took", time.Since(startWait))
@@ -791,6 +913,25 @@ func (s *SplitStore) waitForSync() {
}
}
// Block compaction operations if chain sync has fallen behind
func (s *SplitStore) waitForSync() {
if atomic.LoadInt32(&s.outOfSync) == 0 {
return
}
s.chainSyncMx.Lock()
defer s.chainSyncMx.Unlock()
for !s.chainSyncFinished {
s.chainSyncCond.Wait()
}
}
// Combined sync and closing check
func (s *SplitStore) checkYield() error {
s.waitForSync()
return s.checkClosing()
}
func (s *SplitStore) endTxnProtect() {
s.txnLk.Lock()
defer s.txnLk.Unlock()
@@ -817,7 +958,7 @@ func (s *SplitStore) endCriticalSection() {
}
func (s *SplitStore) walkChain(ts *types.TipSet, inclState, inclMsgs abi.ChainEpoch,
visitor ObjectVisitor, f func(cid.Cid) error) error {
visitor ObjectVisitor, fHot, fCold func(cid.Cid) error) error {
var walked ObjectVisitor
var mx sync.Mutex
// we copy the tipset first into a new slice, which allows us to reuse it in every epoch.
@@ -825,6 +966,11 @@ func (s *SplitStore) walkChain(ts *types.TipSet, inclState, inclMsgs abi.ChainEp
copy(toWalk, ts.Cids())
walkCnt := new(int64)
scanCnt := new(int64)
szWalk := new(int64)
tsRef := func(blkCids []cid.Cid) (cid.Cid, error) {
return types.NewTipSetKey(blkCids...).Cid()
}
stopWalk := func(_ cid.Cid) error { return errStopWalk }
@@ -839,7 +985,7 @@ func (s *SplitStore) walkChain(ts *types.TipSet, inclState, inclMsgs abi.ChainEp
atomic.AddInt64(walkCnt, 1)
if err := f(c); err != nil {
if err := fHot(c); err != nil {
return err
}
@@ -847,39 +993,73 @@ func (s *SplitStore) walkChain(ts *types.TipSet, inclState, inclMsgs abi.ChainEp
err = s.view(c, func(data []byte) error {
return hdr.UnmarshalCBOR(bytes.NewBuffer(data))
})
if err != nil {
return xerrors.Errorf("error unmarshaling block header (cid: %s): %w", c, err)
}
// tipset CID references are retained
pRef, err := tsRef(hdr.Parents)
if err != nil {
return xerrors.Errorf("error computing cid reference to parent tipset")
}
sz, err := s.walkObjectIncomplete(pRef, visitor, fHot, stopWalk)
if err != nil {
return xerrors.Errorf("error walking parent tipset cid reference")
}
atomic.AddInt64(szWalk, sz)
// message are retained if within the inclMsgs boundary
if hdr.Height >= inclMsgs && hdr.Height > 0 {
if inclMsgs < inclState {
// we need to use walkObjectIncomplete here, as messages/receipts may be missing early on if we
// synced from snapshot and have a long HotStoreMessageRetentionPolicy.
if err := s.walkObjectIncomplete(hdr.Messages, visitor, f, stopWalk); err != nil {
sz, err := s.walkObjectIncomplete(hdr.Messages, visitor, fHot, stopWalk)
if err != nil {
return xerrors.Errorf("error walking messages (cid: %s): %w", hdr.Messages, err)
}
atomic.AddInt64(szWalk, sz)
if err := s.walkObjectIncomplete(hdr.ParentMessageReceipts, visitor, f, stopWalk); err != nil {
sz, err = s.walkObjectIncomplete(hdr.ParentMessageReceipts, visitor, fHot, stopWalk)
if err != nil {
return xerrors.Errorf("error walking messages receipts (cid: %s): %w", hdr.ParentMessageReceipts, err)
}
atomic.AddInt64(szWalk, sz)
} else {
if err := s.walkObject(hdr.Messages, visitor, f); err != nil {
sz, err = s.walkObject(hdr.Messages, visitor, fHot)
if err != nil {
return xerrors.Errorf("error walking messages (cid: %s): %w", hdr.Messages, err)
}
atomic.AddInt64(szWalk, sz)
if err := s.walkObject(hdr.ParentMessageReceipts, visitor, f); err != nil {
sz, err := s.walkObjectIncomplete(hdr.ParentMessageReceipts, visitor, fHot, stopWalk)
if err != nil {
return xerrors.Errorf("error walking message receipts (cid: %s): %w", hdr.ParentMessageReceipts, err)
}
atomic.AddInt64(szWalk, sz)
}
}
// messages and receipts outside of inclMsgs are included in the cold store
if hdr.Height < inclMsgs && hdr.Height > 0 {
sz, err := s.walkObjectIncomplete(hdr.Messages, visitor, fCold, stopWalk)
if err != nil {
return xerrors.Errorf("error walking messages (cid: %s): %w", hdr.Messages, err)
}
atomic.AddInt64(szWalk, sz)
sz, err = s.walkObjectIncomplete(hdr.ParentMessageReceipts, visitor, fCold, stopWalk)
if err != nil {
return xerrors.Errorf("error walking messages receipts (cid: %s): %w", hdr.ParentMessageReceipts, err)
}
atomic.AddInt64(szWalk, sz)
}
// state is only retained if within the inclState boundary, with the exception of genesis
if hdr.Height >= inclState || hdr.Height == 0 {
if err := s.walkObject(hdr.ParentStateRoot, visitor, f); err != nil {
sz, err := s.walkObject(hdr.ParentStateRoot, visitor, fHot)
if err != nil {
return xerrors.Errorf("error walking state root (cid: %s): %w", hdr.ParentStateRoot, err)
}
atomic.AddInt64(szWalk, sz)
atomic.AddInt64(scanCnt, 1)
}
@@ -892,9 +1072,20 @@ func (s *SplitStore) walkChain(ts *types.TipSet, inclState, inclMsgs abi.ChainEp
return nil
}
// retain ref to chain head
hRef, err := tsRef(ts.Cids())
if err != nil {
return xerrors.Errorf("error computing cid reference to parent tipset")
}
sz, err := s.walkObjectIncomplete(hRef, visitor, fHot, stopWalk)
if err != nil {
return xerrors.Errorf("error walking parent tipset cid reference")
}
atomic.AddInt64(szWalk, sz)
for len(toWalk) > 0 {
// walking can take a while, so check this with every opportunity
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
@@ -924,133 +1115,143 @@ func (s *SplitStore) walkChain(ts *types.TipSet, inclState, inclMsgs abi.ChainEp
if err := walkBlock(c); err != nil {
return xerrors.Errorf("error walking block (cid: %s): %w", c, err)
}
if err := s.checkYield(); err != nil {
return xerrors.Errorf("check yield: %w", err)
}
}
return nil
})
}
if err := g.Wait(); err != nil {
return err
return xerrors.Errorf("walkBlock workers errored: %w", err)
}
}
log.Infow("chain walk done", "walked", *walkCnt, "scanned", *scanCnt)
log.Infow("chain walk done", "walked", *walkCnt, "scanned", *scanCnt, "walk size", szWalk)
s.szWalk = atomic.LoadInt64(szWalk)
return nil
}
func (s *SplitStore) walkObject(c cid.Cid, visitor ObjectVisitor, f func(cid.Cid) error) error {
func (s *SplitStore) walkObject(c cid.Cid, visitor ObjectVisitor, f func(cid.Cid) error) (int64, error) {
var sz int64
visit, err := visitor.Visit(c)
if err != nil {
return xerrors.Errorf("error visiting object: %w", err)
return 0, xerrors.Errorf("error visiting object: %w", err)
}
if !visit {
return nil
return sz, nil
}
if err := f(c); err != nil {
if err == errStopWalk {
return nil
return sz, nil
}
return err
return 0, err
}
if c.Prefix().Codec != cid.DagCBOR {
return nil
return sz, nil
}
// check this before recursing
if err := s.checkClosing(); err != nil {
return err
return 0, xerrors.Errorf("check closing: %w", err)
}
var links []cid.Cid
err = s.view(c, func(data []byte) error {
sz += int64(len(data))
return cbg.ScanForLinks(bytes.NewReader(data), func(c cid.Cid) {
links = append(links, c)
})
})
if err != nil {
return xerrors.Errorf("error scanning linked block (cid: %s): %w", c, err)
return 0, xerrors.Errorf("error scanning linked block (cid: %s): %w", c, err)
}
for _, c := range links {
err := s.walkObject(c, visitor, f)
szLink, err := s.walkObject(c, visitor, f)
if err != nil {
return xerrors.Errorf("error walking link (cid: %s): %w", c, err)
return 0, xerrors.Errorf("error walking link (cid: %s): %w", c, err)
}
sz += szLink
}
return nil
return sz, nil
}
// like walkObject, but the object may be potentially incomplete (references missing)
func (s *SplitStore) walkObjectIncomplete(c cid.Cid, visitor ObjectVisitor, f, missing func(cid.Cid) error) error {
func (s *SplitStore) walkObjectIncomplete(c cid.Cid, visitor ObjectVisitor, f, missing func(cid.Cid) error) (int64, error) {
var sz int64
visit, err := visitor.Visit(c)
if err != nil {
return xerrors.Errorf("error visiting object: %w", err)
return 0, xerrors.Errorf("error visiting object: %w", err)
}
if !visit {
return nil
return sz, nil
}
// occurs check -- only for DAGs
if c.Prefix().Codec == cid.DagCBOR {
has, err := s.has(c)
if err != nil {
return xerrors.Errorf("error occur checking %s: %w", c, err)
return 0, xerrors.Errorf("error occur checking %s: %w", c, err)
}
if !has {
err = missing(c)
if err == errStopWalk {
return nil
return sz, nil
}
return err
return 0, err
}
}
if err := f(c); err != nil {
if err == errStopWalk {
return nil
return sz, nil
}
return err
return 0, err
}
if c.Prefix().Codec != cid.DagCBOR {
return nil
return sz, nil
}
// check this before recursing
if err := s.checkClosing(); err != nil {
return err
return sz, xerrors.Errorf("check closing: %w", err)
}
var links []cid.Cid
err = s.view(c, func(data []byte) error {
sz += int64(len(data))
return cbg.ScanForLinks(bytes.NewReader(data), func(c cid.Cid) {
links = append(links, c)
})
})
if err != nil {
return xerrors.Errorf("error scanning linked block (cid: %s): %w", c, err)
return 0, xerrors.Errorf("error scanning linked block (cid: %s): %w", c, err)
}
for _, c := range links {
err := s.walkObjectIncomplete(c, visitor, f, missing)
szLink, err := s.walkObjectIncomplete(c, visitor, f, missing)
if err != nil {
return xerrors.Errorf("error walking link (cid: %s): %w", c, err)
return 0, xerrors.Errorf("error walking link (cid: %s): %w", c, err)
}
sz += szLink
}
return nil
return sz, nil
}
// internal version used during compaction and related operations
@@ -1065,13 +1266,10 @@ func (s *SplitStore) view(c cid.Cid, cb func([]byte) error) error {
}
err := s.hot.View(s.ctx, c, cb)
switch err {
case bstore.ErrNotFound:
if ipld.IsNotFound(err) {
return s.cold.View(s.ctx, c, cb)
default:
return err
}
return err
}
func (s *SplitStore) has(c cid.Cid) (bool, error) {
@@ -1090,10 +1288,10 @@ func (s *SplitStore) has(c cid.Cid) (bool, error) {
func (s *SplitStore) get(c cid.Cid) (blocks.Block, error) {
blk, err := s.hot.Get(s.ctx, c)
switch err {
case nil:
switch {
case err == nil:
return blk, nil
case bstore.ErrNotFound:
case ipld.IsNotFound(err):
return s.cold.Get(s.ctx, c)
default:
return nil, err
@@ -1102,10 +1300,10 @@ func (s *SplitStore) get(c cid.Cid) (blocks.Block, error) {
func (s *SplitStore) getSize(c cid.Cid) (int, error) {
sz, err := s.hot.GetSize(s.ctx, c)
switch err {
case nil:
switch {
case err == nil:
return sz, nil
case bstore.ErrNotFound:
case ipld.IsNotFound(err):
return s.cold.GetSize(s.ctx, c)
default:
return 0, err
@@ -1116,13 +1314,12 @@ func (s *SplitStore) moveColdBlocks(coldr *ColdSetReader) error {
batch := make([]blocks.Block, 0, batchSize)
err := coldr.ForEach(func(c cid.Cid) error {
if err := s.checkClosing(); err != nil {
if err := s.checkYield(); err != nil {
return err
}
blk, err := s.hot.Get(s.ctx, c)
if err != nil {
if err == bstore.ErrNotFound {
if ipld.IsNotFound(err) {
log.Warnf("hotstore missing block %s", c)
return nil
}
@@ -1137,6 +1334,7 @@ func (s *SplitStore) moveColdBlocks(coldr *ColdSetReader) error {
return xerrors.Errorf("error putting batch to coldstore: %w", err)
}
batch = batch[:0]
}
return nil
@@ -1175,9 +1373,21 @@ func (s *SplitStore) purge(coldr *ColdSetReader, checkpoint *Checkpoint, markSet
return err
}
now := time.Now()
err := coldr.ForEach(func(c cid.Cid) error {
batch = append(batch, c)
if len(batch) == batchSize {
// add some time slicing to the purge as this a very disk I/O heavy operation that
// requires write access to txnLk that may starve other operations that require
// access to the blockstore.
elapsed := time.Since(now)
if elapsed > purgeWorkSliceDuration {
// work 1 slice, sleep 4 slices, or 20% utilization
time.Sleep(4 * elapsed)
now = time.Now()
}
return deleteBatch()
}
@@ -1225,8 +1435,17 @@ func (s *SplitStore) purgeBatch(batch, deadCids []cid.Cid, checkpoint *Checkpoin
return 0, liveCnt, nil
}
if err := s.hot.DeleteMany(s.ctx, deadCids); err != nil {
return 0, liveCnt, xerrors.Errorf("error purging cold objects: %w", err)
switch s.compactType {
case hot:
if err := s.hot.DeleteMany(s.ctx, deadCids); err != nil {
return 0, liveCnt, xerrors.Errorf("error purging cold objects: %w", err)
}
case cold:
if err := s.cold.DeleteMany(s.ctx, deadCids); err != nil {
return 0, liveCnt, xerrors.Errorf("error purging dead objects: %w", err)
}
default:
return 0, liveCnt, xerrors.Errorf("invalid compaction type %d, only hot and cold allowed for critical section", s.compactType)
}
s.debug.LogDelete(deadCids)
@@ -1243,15 +1462,28 @@ func (s *SplitStore) coldSetPath() string {
return filepath.Join(s.path, "coldset")
}
func (s *SplitStore) discardSetPath() string {
return filepath.Join(s.path, "deadset")
}
func (s *SplitStore) checkpointPath() string {
return filepath.Join(s.path, "checkpoint")
}
func (s *SplitStore) pruneCheckpointPath() string {
return filepath.Join(s.path, "prune-checkpoint")
}
func (s *SplitStore) checkpointExists() bool {
_, err := os.Stat(s.checkpointPath())
return err == nil
}
func (s *SplitStore) pruneCheckpointExists() bool {
_, err := os.Stat(s.pruneCheckpointPath())
return err == nil
}
func (s *SplitStore) completeCompaction() error {
checkpoint, last, err := OpenCheckpoint(s.checkpointPath())
if err != nil {
@@ -1272,6 +1504,7 @@ func (s *SplitStore) completeCompaction() error {
defer markSet.Close() //nolint:errcheck
// PURGE
s.compactType = hot
log.Info("purging cold objects from the hotstore")
startPurge := time.Now()
err = s.completePurge(coldr, checkpoint, last, markSet)
@@ -1294,9 +1527,11 @@ func (s *SplitStore) completeCompaction() error {
if err := os.Remove(s.coldSetPath()); err != nil {
log.Warnf("error removing coldset: %s", err)
}
s.compactType = none
// Note: at this point we can start the splitstore; a compaction should run on
// the first head change, which will trigger gc on the hotstore.
// Note: at this point we can start the splitstore; base epoch is not
// incremented here so a compaction should run on the first head
// change, which will trigger gc on the hotstore.
// We don't mind the second (back-to-back) compaction as the head will
// have advanced during marking and coldset accumulation.
return nil
@@ -1354,6 +1589,13 @@ func (s *SplitStore) completePurge(coldr *ColdSetReader, checkpoint *Checkpoint,
return nil
}
func (s *SplitStore) clearSizeMeasurements() {
s.szKeys = 0
s.szMarkedLiveRefs = 0
s.szProtectedTxns = 0
s.szWalk = 0
}
// I really don't like having this code, but we seem to have some occasional DAG references with
// missing constituents. During testing in mainnet *some* of these references *sometimes* appeared
// after a little bit.
@@ -1394,7 +1636,7 @@ func (s *SplitStore) waitForMissingRefs(markSet MarkSet) {
missing = make(map[cid.Cid]struct{})
for c := range towalk {
err := s.walkObjectIncomplete(c, visitor,
_, err := s.walkObjectIncomplete(c, visitor,
func(c cid.Cid) error {
if isUnitaryObject(c) {
return errStopWalk
+14 -14
View File
@@ -5,7 +5,8 @@ import (
"errors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
bstore "github.com/filecoin-project/lotus/blockstore"
)
@@ -42,6 +43,7 @@ func (es *exposedSplitStore) Has(ctx context.Context, c cid.Cid) (bool, error) {
}
func (es *exposedSplitStore) Get(ctx context.Context, c cid.Cid) (blocks.Block, error) {
if isIdentiyCid(c) {
data, err := decodeIdentityCid(c)
if err != nil {
@@ -52,12 +54,10 @@ func (es *exposedSplitStore) Get(ctx context.Context, c cid.Cid) (blocks.Block,
}
blk, err := es.s.hot.Get(ctx, c)
switch err {
case bstore.ErrNotFound:
if ipld.IsNotFound(err) {
return es.s.cold.Get(ctx, c)
default:
return blk, err
}
return blk, err
}
func (es *exposedSplitStore) GetSize(ctx context.Context, c cid.Cid) (int, error) {
@@ -71,12 +71,14 @@ func (es *exposedSplitStore) GetSize(ctx context.Context, c cid.Cid) (int, error
}
size, err := es.s.hot.GetSize(ctx, c)
switch err {
case bstore.ErrNotFound:
if ipld.IsNotFound(err) {
return es.s.cold.GetSize(ctx, c)
default:
return size, err
}
return size, err
}
func (es *exposedSplitStore) Flush(ctx context.Context) error {
return es.s.Flush(ctx)
}
func (es *exposedSplitStore) Put(ctx context.Context, blk blocks.Block) error {
@@ -104,11 +106,9 @@ func (es *exposedSplitStore) View(ctx context.Context, c cid.Cid, f func([]byte)
}
err := es.s.hot.View(ctx, c, f)
switch err {
case bstore.ErrNotFound:
if ipld.IsNotFound(err) {
return es.s.cold.View(ctx, c, f)
default:
return err
}
return err
}
+71 -4
View File
@@ -7,29 +7,96 @@ import (
bstore "github.com/filecoin-project/lotus/blockstore"
)
func (s *SplitStore) gcHotstore() {
const (
// Fraction of garbage in badger vlog for online GC traversal to collect garbage
AggressiveOnlineGCThreshold = 0.0001
)
func (s *SplitStore) gcHotAfterCompaction() {
// Measure hotstore size, determine if we should do full GC, determine if we can do full GC.
// We should do full GC if
// FullGCFrequency is specified and compaction index matches frequency
// OR HotstoreMaxSpaceTarget is specified and total moving space is within 150 GB of target
// We can do full if
// HotstoreMaxSpaceTarget is not specified
// OR total moving space would not exceed 50 GB below target
//
// a) If we should not do full GC => online GC
// b) If we should do full GC and can => moving GC
// c) If we should do full GC and can't => aggressive online GC
getSize := func() int64 {
sizer, ok := s.hot.(bstore.BlockstoreSize)
if ok {
size, err := sizer.Size()
if err != nil {
log.Warnf("error getting hotstore size: %s, estimating empty hot store for targeting", err)
return 0
}
return size
}
log.Errorf("Could not measure hotstore size, assuming it is 0 bytes, which it is not")
return 0
}
hotSize := getSize()
copySizeApprox := s.szKeys + s.szMarkedLiveRefs + s.szProtectedTxns + s.szWalk
shouldTarget := s.cfg.HotstoreMaxSpaceTarget > 0 && hotSize+copySizeApprox > int64(s.cfg.HotstoreMaxSpaceTarget)-int64(s.cfg.HotstoreMaxSpaceThreshold)
shouldFreq := s.cfg.HotStoreFullGCFrequency > 0 && s.compactionIndex%int64(s.cfg.HotStoreFullGCFrequency) == 0
shouldDoFull := shouldTarget || shouldFreq
canDoFull := s.cfg.HotstoreMaxSpaceTarget == 0 || hotSize+copySizeApprox < int64(s.cfg.HotstoreMaxSpaceTarget)-int64(s.cfg.HotstoreMaxSpaceSafetyBuffer)
log.Debugw("approximating new hot store size", "key size", s.szKeys, "marked live refs", s.szMarkedLiveRefs, "protected txns", s.szProtectedTxns, "walked DAG", s.szWalk)
log.Infof("measured hot store size: %d, approximate new size: %d, should do full %t, can do full %t", hotSize, copySizeApprox, shouldDoFull, canDoFull)
var opts []bstore.BlockstoreGCOption
if s.cfg.HotStoreFullGCFrequency > 0 && s.compactionIndex%int64(s.cfg.HotStoreFullGCFrequency) == 0 {
if shouldDoFull && canDoFull {
opts = append(opts, bstore.WithFullGC(true))
} else if shouldDoFull && !canDoFull {
log.Warnf("Attention! Estimated moving GC size %d is not within safety buffer %d of target max %d, performing aggressive online GC to attempt to bring hotstore size down safely", copySizeApprox, s.cfg.HotstoreMaxSpaceSafetyBuffer, s.cfg.HotstoreMaxSpaceTarget)
log.Warn("If problem continues you can 1) temporarily allocate more disk space to hotstore and 2) reflect in HotstoreMaxSpaceTarget OR trigger manual move with `lotus chain prune hot-moving`")
log.Warn("If problem continues and you do not have any more disk space you can run continue to manually trigger online GC at aggressive thresholds (< 0.01) with `lotus chain prune hot`")
opts = append(opts, bstore.WithThreshold(AggressiveOnlineGCThreshold))
}
if err := s.gcBlockstore(s.hot, opts); err != nil {
log.Warnf("error garbage collecting hostore: %s", err)
}
log.Infof("measured hot store size after GC: %d", getSize())
}
func (s *SplitStore) gcBlockstore(b bstore.Blockstore, opts []bstore.BlockstoreGCOption) error {
if err := s.checkYield(); err != nil {
return err
}
if gc, ok := b.(bstore.BlockstoreGC); ok {
log.Info("garbage collecting blockstore")
startGC := time.Now()
if err := gc.CollectGarbage(opts...); err != nil {
opts = append(opts, bstore.WithCheckFreq(90*time.Second))
opts = append(opts, bstore.WithCheck(s.checkYield))
if err := gc.CollectGarbage(s.ctx, opts...); err != nil {
return err
}
log.Infow("garbage collecting hotstore done", "took", time.Since(startGC))
log.Infow("garbage collecting blockstore done", "took", time.Since(startGC))
return nil
}
return fmt.Errorf("blockstore doesn't support garbage collection: %T", b)
}
func (s *SplitStore) gcBlockstoreOnce(b bstore.Blockstore, opts []bstore.BlockstoreGCOption) error {
if gc, ok := b.(bstore.BlockstoreGCOnce); ok {
log.Debug("gc blockstore once")
startGC := time.Now()
if err := gc.GCOnce(s.ctx, opts...); err != nil {
return err
}
log.Debugw("gc blockstore once done", "took", time.Since(startGC))
return nil
}
return fmt.Errorf("blockstore doesn't support gc once: %T", b)
}
+591
View File
@@ -0,0 +1,591 @@
package splitstore
import (
"bytes"
"os"
"runtime"
"sync"
"sync/atomic"
"time"
cid "github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
cbg "github.com/whyrusleeping/cbor-gen"
"go.opencensus.io/stats"
"golang.org/x/xerrors"
"github.com/filecoin-project/lotus/api"
bstore "github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/metrics"
)
var (
// PruneOnline is a prune option that instructs PruneChain to use online gc for reclaiming space;
// there is no value associated with this option.
PruneOnlineGC = "splitstore.PruneOnlineGC"
// PruneMoving is a prune option that instructs PruneChain to use moving gc for reclaiming space;
// the value associated with this option is the path of the new coldstore.
PruneMovingGC = "splitstore.PruneMovingGC"
// PruneRetainState is a prune option that instructs PruneChain as to how many finalities worth
// of state to retain in the coldstore.
// The value is an integer:
// - if it is -1 then all state objects reachable from the chain will be retained in the coldstore.
// this is useful for garbage collecting side-chains and other garbage in archival nodes.
// This is the (safe) default.
// - if it is 0 then no state objects that are unreachable within the compaction boundary will
// be retained in the coldstore.
// - if it is a positive integer, then it's the number of finalities past the compaction boundary
// for which chain-reachable state objects are retained.
PruneRetainState = "splitstore.PruneRetainState"
// PruneThreshold is the number of epochs that need to have elapsed
// from the previously pruned epoch to trigger a new prune
PruneThreshold = 7 * build.Finality
)
// GCHotstore runs online GC on the chain state in the hotstore according the to options specified
func (s *SplitStore) GCHotStore(opts api.HotGCOpts) error {
if opts.Moving {
gcOpts := []bstore.BlockstoreGCOption{bstore.WithFullGC(true)}
return s.gcBlockstore(s.hot, gcOpts)
}
gcOpts := []bstore.BlockstoreGCOption{bstore.WithThreshold(opts.Threshold)}
var err error
if opts.Periodic {
err = s.gcBlockstore(s.hot, gcOpts)
} else {
err = s.gcBlockstoreOnce(s.hot, gcOpts)
}
return err
}
// PruneChain instructs the SplitStore to prune chain state in the coldstore, according to the
// options specified.
func (s *SplitStore) PruneChain(opts api.PruneOpts) error {
retainState := opts.RetainState
var gcOpts []bstore.BlockstoreGCOption
if opts.MovingGC {
gcOpts = append(gcOpts, bstore.WithFullGC(true))
}
doGC := func() error { return s.gcBlockstore(s.cold, gcOpts) }
var retainStateP func(int64) bool
switch {
case retainState > 0:
retainStateP = func(depth int64) bool {
return depth <= int64(CompactionBoundary)+retainState*int64(build.Finality)
}
case retainState < 0:
retainStateP = func(_ int64) bool { return true }
default:
retainStateP = func(depth int64) bool {
return depth <= int64(CompactionBoundary)
}
}
if _, ok := s.cold.(bstore.BlockstoreIterator); !ok {
return xerrors.Errorf("coldstore does not support efficient iteration")
}
return s.pruneChain(retainStateP, doGC)
}
func (s *SplitStore) pruneChain(retainStateP func(int64) bool, doGC func() error) error {
// inhibit compaction while we are setting up
s.headChangeMx.Lock()
defer s.headChangeMx.Unlock()
// take the compaction lock; fail if there is a compaction in progress
if !atomic.CompareAndSwapInt32(&s.compacting, 0, 1) {
return xerrors.Errorf("compaction, prune or warmup in progress")
}
// check if we are actually closing first
if atomic.LoadInt32(&s.closing) == 1 {
atomic.StoreInt32(&s.compacting, 0)
return errClosing
}
// ensure that we have compacted at least once
if s.compactionIndex == 0 {
atomic.StoreInt32(&s.compacting, 0)
return xerrors.Errorf("splitstore has not compacted yet")
}
// get the current tipset
curTs := s.chain.GetHeaviestTipSet()
// begin the transaction and go
s.beginTxnProtect()
s.compactType = cold
go func() {
defer atomic.StoreInt32(&s.compacting, 0)
defer s.endTxnProtect()
log.Info("pruning splitstore")
start := time.Now()
s.prune(curTs, retainStateP, doGC)
log.Infow("prune done", "took", time.Since(start))
}()
return nil
}
func (s *SplitStore) prune(curTs *types.TipSet, retainStateP func(int64) bool, doGC func() error) {
log.Debug("waiting for active views to complete")
start := time.Now()
s.viewWait()
log.Debugw("waiting for active views done", "took", time.Since(start))
err := s.doPrune(curTs, retainStateP, doGC)
if err != nil {
log.Errorf("PRUNE ERROR: %s", err)
}
}
func (s *SplitStore) doPrune(curTs *types.TipSet, retainStateP func(int64) bool, doGC func() error) error {
currentEpoch := curTs.Height()
boundaryEpoch := currentEpoch - CompactionBoundary
log.Infow("running prune", "currentEpoch", currentEpoch, "pruneEpoch", s.pruneEpoch)
markSet, err := s.markSetEnv.New("live", s.markSetSize)
if err != nil {
return xerrors.Errorf("error creating mark set: %w", err)
}
defer markSet.Close() //nolint:errcheck
defer s.debug.Flush()
if err := s.checkClosing(); err != nil {
return err
}
// 0. track all protected references at beginning of compaction; anything added later should
// be transactionally protected by the write
log.Info("protecting references with registered protectors")
err = s.applyProtectors()
if err != nil {
return err
}
// 1. mark reachable objects by walking the chain from the current epoch; we keep all messages
// and chain headers; state and reciepts are retained only if it is within retention policy scope
log.Info("marking reachable objects")
startMark := time.Now()
count := new(int64)
err = s.walkChainDeep(curTs, retainStateP,
func(c cid.Cid) error {
if isUnitaryObject(c) {
return errStopWalk
}
mark, err := markSet.Has(c)
if err != nil {
return xerrors.Errorf("error checking markset: %w", err)
}
if mark {
return errStopWalk
}
atomic.AddInt64(count, 1)
return markSet.Mark(c)
})
if err != nil {
return xerrors.Errorf("error marking: %w", err)
}
log.Infow("marking done", "took", time.Since(startMark), "marked", count)
if err := s.checkClosing(); err != nil {
return err
}
// 1.1 protect transactional refs
err = s.protectTxnRefs(markSet)
if err != nil {
return xerrors.Errorf("error protecting transactional refs: %w", err)
}
if err := s.checkClosing(); err != nil {
return err
}
// 2. iterate through the coldstore to collect dead objects
log.Info("collecting dead objects")
startCollect := time.Now()
deadw, err := NewColdSetWriter(s.discardSetPath())
if err != nil {
return xerrors.Errorf("error creating coldset: %w", err)
}
defer deadw.Close() //nolint:errcheck
// some stats for logging
var liveCnt, deadCnt int
err = s.cold.(bstore.BlockstoreIterator).ForEachKey(func(c cid.Cid) error {
// was it marked?
mark, err := markSet.Has(c)
if err != nil {
return xerrors.Errorf("error checking mark set for %s: %w", c, err)
}
if mark {
liveCnt++
return nil
}
// Note: a possible optimization here is to also purge objects that are in the hotstore
// but this needs special care not to purge genesis state, so we don't bother (yet)
// it's dead in the coldstore, mark it as candidate for purge
if err := deadw.Write(c); err != nil {
return xerrors.Errorf("error writing cid to coldstore: %w", err)
}
deadCnt++
return nil
})
if err != nil {
return xerrors.Errorf("error dead objects: %w", err)
}
if err := deadw.Close(); err != nil {
return xerrors.Errorf("error closing deadset: %w", err)
}
stats.Record(s.ctx, metrics.SplitstoreCompactionDead.M(int64(deadCnt)))
log.Infow("dead collection done", "took", time.Since(startCollect))
log.Infow("prune stats", "live", liveCnt, "dead", deadCnt)
if err := s.checkClosing(); err != nil {
return err
}
// now that we have collected dead objects, check for missing references from transactional i/o
// this is carried over from hot compaction for completeness
s.waitForMissingRefs(markSet)
if err := s.checkClosing(); err != nil {
return err
}
deadr, err := NewColdSetReader(s.discardSetPath())
if err != nil {
return xerrors.Errorf("error opening deadset: %w", err)
}
defer deadr.Close() //nolint:errcheck
// 3. Purge dead objects with checkpointing for recovery.
// This is the critical section of prune, whereby any dead object not in the markSet is
// considered already deleted.
// We delete dead objects in batches, holding the transaction lock, where we check the markSet
// again for new references created by the caller.
// After each batch we write a checkpoint to disk; if the process is interrupted before completion
// the process will continue from the checkpoint in the next recovery.
if err := s.beginCriticalSection(markSet); err != nil {
return xerrors.Errorf("error beginning critical section: %w", err)
}
if err := s.checkClosing(); err != nil {
return err
}
checkpoint, err := NewCheckpoint(s.pruneCheckpointPath())
if err != nil {
return xerrors.Errorf("error creating checkpoint: %w", err)
}
defer checkpoint.Close() //nolint:errcheck
log.Info("purging dead objects from the coldstore")
startPurge := time.Now()
err = s.purge(deadr, checkpoint, markSet)
if err != nil {
return xerrors.Errorf("error purging dead objects: %w", err)
}
log.Infow("purging dead objects from coldstore done", "took", time.Since(startPurge))
s.endCriticalSection()
if err := checkpoint.Close(); err != nil {
log.Warnf("error closing checkpoint: %s", err)
}
if err := os.Remove(s.pruneCheckpointPath()); err != nil {
log.Warnf("error removing checkpoint: %s", err)
}
if err := deadr.Close(); err != nil {
log.Warnf("error closing discard set: %s", err)
}
if err := os.Remove(s.discardSetPath()); err != nil {
log.Warnf("error removing discard set: %s", err)
}
// we are done; do some housekeeping
s.endTxnProtect()
err = doGC()
if err != nil {
log.Warnf("error garbage collecting cold store: %s", err)
}
if err := s.setPruneEpoch(boundaryEpoch); err != nil {
return xerrors.Errorf("error saving prune base epoch: %w", err)
}
s.pruneIndex++
err = s.ds.Put(s.ctx, pruneIndexKey, int64ToBytes(s.pruneIndex))
if err != nil {
return xerrors.Errorf("error saving prune index: %w", err)
}
return nil
}
func (s *SplitStore) completePrune() error {
checkpoint, last, err := OpenCheckpoint(s.pruneCheckpointPath())
if err != nil {
return xerrors.Errorf("error opening checkpoint: %w", err)
}
defer checkpoint.Close() //nolint:errcheck
deadr, err := NewColdSetReader(s.discardSetPath())
if err != nil {
return xerrors.Errorf("error opening deadset: %w", err)
}
defer deadr.Close() //nolint:errcheck
markSet, err := s.markSetEnv.Recover("live")
if err != nil {
return xerrors.Errorf("error recovering markset: %w", err)
}
defer markSet.Close() //nolint:errcheck
// PURGE!
s.compactType = cold
log.Info("purging dead objects from the coldstore")
startPurge := time.Now()
err = s.completePurge(deadr, checkpoint, last, markSet)
if err != nil {
return xerrors.Errorf("error purgin dead objects: %w", err)
}
log.Infow("purging dead objects from the coldstore done", "took", time.Since(startPurge))
markSet.EndCriticalSection()
s.compactType = none
if err := checkpoint.Close(); err != nil {
log.Warnf("error closing checkpoint: %s", err)
}
if err := os.Remove(s.pruneCheckpointPath()); err != nil {
log.Warnf("error removing checkpoint: %s", err)
}
if err := deadr.Close(); err != nil {
log.Warnf("error closing deadset: %s", err)
}
if err := os.Remove(s.discardSetPath()); err != nil {
log.Warnf("error removing deadset: %s", err)
}
return nil
}
// like walkChain but peforms a deep walk, using parallel walking with walkObjectLax,
// whereby all extant messages are retained and state roots are retained if they satisfy
// the given predicate.
// missing references are ignored, as we expect to have plenty for snapshot syncs.
func (s *SplitStore) walkChainDeep(ts *types.TipSet, retainStateP func(int64) bool,
f func(cid.Cid) error) error {
visited := cid.NewSet()
toWalk := ts.Cids()
walkCnt := 0
workers := runtime.NumCPU() / 2
if workers < 2 {
workers = 2
}
var wg sync.WaitGroup
workch := make(chan cid.Cid, 16*workers)
errch := make(chan error, workers)
var once sync.Once
defer once.Do(func() { close(workch) })
push := func(c cid.Cid) error {
if !visited.Visit(c) {
return nil
}
select {
case workch <- c:
return nil
case err := <-errch:
return err
}
}
worker := func() {
defer wg.Done()
for c := range workch {
err := s.walkObjectLax(c, f)
if err != nil {
errch <- xerrors.Errorf("error walking object (cid: %s): %w", c, err)
return
}
}
}
for i := 0; i < workers; i++ {
wg.Add(1)
go worker()
}
baseEpoch := ts.Height()
minEpoch := baseEpoch // for progress report
log.Infof("walking at epoch %d", minEpoch)
walkBlock := func(c cid.Cid) error {
if !visited.Visit(c) {
return nil
}
walkCnt++
if err := f(c); err != nil {
return err
}
var hdr types.BlockHeader
err := s.view(c, func(data []byte) error {
return hdr.UnmarshalCBOR(bytes.NewBuffer(data))
})
if err != nil {
return xerrors.Errorf("error unmarshaling block header (cid: %s): %w", c, err)
}
if hdr.Height < minEpoch {
minEpoch = hdr.Height
if minEpoch%10_000 == 0 {
log.Infof("walking at epoch %d (walked: %d)", minEpoch, walkCnt)
}
}
depth := int64(baseEpoch - hdr.Height)
retainState := retainStateP(depth)
if hdr.Height > 0 {
if err := push(hdr.Messages); err != nil {
return err
}
if retainState {
if err := push(hdr.ParentMessageReceipts); err != nil {
return err
}
}
}
if retainState || hdr.Height == 0 {
if err := push(hdr.ParentStateRoot); err != nil {
return err
}
}
if hdr.Height > 0 {
toWalk = append(toWalk, hdr.Parents...)
}
return nil
}
for len(toWalk) > 0 {
// walking can take a while, so check this with every opportunity
if err := s.checkClosing(); err != nil {
return err
}
select {
case err := <-errch:
return err
default:
}
walking := toWalk
toWalk = nil
for _, c := range walking {
if err := walkBlock(c); err != nil {
return xerrors.Errorf("error walking block (cid: %s): %w", c, err)
}
}
}
once.Do(func() { close(workch) })
wg.Wait()
select {
case err := <-errch:
return err
default:
}
log.Infow("chain walk done", "walked", walkCnt)
return nil
}
// like walkObject but treats missing references laxly; faster version of walkObjectIncomplete
// without an occurs check.
func (s *SplitStore) walkObjectLax(c cid.Cid, f func(cid.Cid) error) error {
if err := f(c); err != nil {
if err == errStopWalk {
return nil
}
return err
}
if c.Prefix().Codec != cid.DagCBOR {
return nil
}
// check this before recursing
if err := s.checkClosing(); err != nil {
return err
}
var links []cid.Cid
err := s.view(c, func(data []byte) error {
return cbg.ScanForLinks(bytes.NewReader(data), func(c cid.Cid) {
links = append(links, c)
})
})
if err != nil {
if ipld.IsNotFound(err) { // not a problem for deep walks
return nil
}
return xerrors.Errorf("error scanning linked block (cid: %s): %w", c, err)
}
for _, c := range links {
err := s.walkObjectLax(c, f)
if err != nil {
return xerrors.Errorf("error walking link (cid: %s): %w", c, err)
}
}
return nil
}
+8 -41
View File
@@ -5,10 +5,9 @@ import (
"runtime"
"sync/atomic"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
"golang.org/x/xerrors"
)
var (
@@ -84,7 +83,7 @@ func (s *SplitStore) reifyWorker(workch chan cid.Cid) {
}
func (s *SplitStore) doReify(c cid.Cid) {
var toreify, totrack, toforget []cid.Cid
var toreify, toforget []cid.Cid
defer func() {
s.reifyMx.Lock()
@@ -93,9 +92,6 @@ func (s *SplitStore) doReify(c cid.Cid) {
for _, c := range toreify {
delete(s.reifyInProgress, c)
}
for _, c := range totrack {
delete(s.reifyInProgress, c)
}
for _, c := range toforget {
delete(s.reifyInProgress, c)
}
@@ -105,7 +101,7 @@ func (s *SplitStore) doReify(c cid.Cid) {
defer s.txnLk.RUnlock()
count := 0
err := s.walkObjectIncomplete(c, newTmpVisitor(),
_, err := s.walkObjectIncomplete(c, newTmpVisitor(),
func(c cid.Cid) error {
if isUnitaryObject(c) {
return errStopWalk
@@ -132,19 +128,10 @@ func (s *SplitStore) doReify(c cid.Cid) {
return xerrors.Errorf("error checking hotstore: %w", err)
}
// All reified blocks are tracked at reification start
if has {
if s.txnMarkSet != nil {
hasMark, err := s.txnMarkSet.Has(c)
if err != nil {
log.Warnf("error checking markset: %s", err)
} else if hasMark {
toforget = append(toforget, c)
return errStopWalk
}
} else {
totrack = append(totrack, c)
return errStopWalk
}
toforget = append(toforget, c)
return errStopWalk
}
toreify = append(toreify, c)
@@ -156,7 +143,7 @@ func (s *SplitStore) doReify(c cid.Cid) {
})
if err != nil {
if xerrors.Is(err, errReifyLimit) {
if errors.Is(err, errReifyLimit) {
log.Debug("reification aborted; reify limit reached")
return
}
@@ -191,24 +178,4 @@ func (s *SplitStore) doReify(c cid.Cid) {
}
}
if s.txnMarkSet != nil {
if len(toreify) > 0 {
if err := s.txnMarkSet.MarkMany(toreify); err != nil {
log.Warnf("error marking reified objects: %s", err)
}
}
if len(totrack) > 0 {
if err := s.txnMarkSet.MarkMany(totrack); err != nil {
log.Warnf("error marking tracked objects: %s", err)
}
}
} else {
// if txnActive is false these are noops
if len(toreify) > 0 {
s.trackTxnRefMany(toreify)
}
if len(totrack) > 0 {
s.trackTxnRefMany(totrack)
}
}
}
+21 -16
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package splitstore
import (
@@ -11,18 +11,20 @@ import (
"testing"
"time"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/ipfs/go-datastore"
dssync "github.com/ipfs/go-datastore/sync"
ipld "github.com/ipfs/go-ipld-format"
logging "github.com/ipfs/go-log/v2"
mh "github.com/multiformats/go-multihash"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/chain/stmgr"
"github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/chain/types/mock"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
datastore "github.com/ipfs/go-datastore"
dssync "github.com/ipfs/go-datastore/sync"
logging "github.com/ipfs/go-log/v2"
mh "github.com/multiformats/go-multihash"
)
func init() {
@@ -36,6 +38,7 @@ func init() {
func testSplitStore(t *testing.T, cfg *Config) {
ctx := context.Background()
chain := &mockChain{t: t}
fmt.Printf("Config: %v\n", cfg)
// the myriads of stores
ds := dssync.MutexWrap(datastore.NewMapDatastore())
@@ -223,7 +226,7 @@ func TestSplitStoreCompaction(t *testing.T) {
//stm: @SPLITSTORE_SPLITSTORE_OPEN_001, @SPLITSTORE_SPLITSTORE_CLOSE_001
//stm: @SPLITSTORE_SPLITSTORE_PUT_001, @SPLITSTORE_SPLITSTORE_ADD_PROTECTOR_001
//stm: @SPLITSTORE_SPLITSTORE_CLOSE_001
testSplitStore(t, &Config{MarkSetType: "map"})
testSplitStore(t, &Config{MarkSetType: "map", UniversalColdBlocks: true})
}
func TestSplitStoreCompactionWithBadger(t *testing.T) {
@@ -235,7 +238,7 @@ func TestSplitStoreCompactionWithBadger(t *testing.T) {
t.Cleanup(func() {
badgerMarkSetBatchSize = bs
})
testSplitStore(t, &Config{MarkSetType: "badger"})
testSplitStore(t, &Config{MarkSetType: "badger", UniversalColdBlocks: true})
}
func TestSplitStoreSuppressCompactionNearUpgrade(t *testing.T) {
@@ -281,7 +284,7 @@ func TestSplitStoreSuppressCompactionNearUpgrade(t *testing.T) {
path := t.TempDir()
// open the splitstore
ss, err := Open(path, ds, hot, cold, &Config{MarkSetType: "map"})
ss, err := Open(path, ds, hot, cold, &Config{MarkSetType: "map", UniversalColdBlocks: true})
if err != nil {
t.Fatal(err)
}
@@ -420,13 +423,13 @@ func testSplitStoreReification(t *testing.T, f func(context.Context, blockstore.
path := t.TempDir()
ss, err := Open(path, ds, hot, cold, &Config{MarkSetType: "map"})
ss, err := Open(path, ds, hot, cold, &Config{MarkSetType: "map", UniversalColdBlocks: true})
if err != nil {
t.Fatal(err)
}
defer ss.Close() //nolint
ss.warmupEpoch = 1
ss.warmupEpoch.Store(1)
go ss.reifyOrchestrator()
waitForReification := func() {
@@ -520,13 +523,13 @@ func testSplitStoreReificationLimit(t *testing.T, f func(context.Context, blocks
path := t.TempDir()
ss, err := Open(path, ds, hot, cold, &Config{MarkSetType: "map"})
ss, err := Open(path, ds, hot, cold, &Config{MarkSetType: "map", UniversalColdBlocks: true})
if err != nil {
t.Fatal(err)
}
defer ss.Close() //nolint
ss.warmupEpoch = 1
ss.warmupEpoch.Store(1)
go ss.reifyOrchestrator()
waitForReification := func() {
@@ -696,7 +699,7 @@ func (b *mockStore) Get(_ context.Context, cid cid.Cid) (blocks.Block, error) {
blk, ok := b.set[b.keyOf(cid)]
if !ok {
return nil, blockstore.ErrNotFound
return nil, ipld.ErrNotFound{Cid: cid}
}
return blk, nil
}
@@ -754,6 +757,8 @@ func (b *mockStore) DeleteMany(_ context.Context, cids []cid.Cid) error {
return nil
}
func (b *mockStore) Flush(context.Context) error { return nil }
func (b *mockStore) AllKeysChan(ctx context.Context) (<-chan cid.Cid, error) {
return nil, errors.New("not implemented")
}
+2 -3
View File
@@ -3,10 +3,9 @@ package splitstore
import (
"encoding/binary"
"golang.org/x/xerrors"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
mh "github.com/multiformats/go-multihash"
"golang.org/x/xerrors"
"github.com/filecoin-project/go-state-types/abi"
)
+10 -11
View File
@@ -5,13 +5,13 @@ import (
"sync/atomic"
"time"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
"golang.org/x/xerrors"
blocks "github.com/ipfs/go-block-format"
cid "github.com/ipfs/go-cid"
"github.com/filecoin-project/go-state-types/abi"
bstore "github.com/filecoin-project/lotus/blockstore"
"github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/types"
)
@@ -21,14 +21,14 @@ var (
WarmupBoundary = build.Finality
)
// warmup acuiqres the compaction lock and spawns a goroutine to warm up the hotstore;
// warmup acquires the compaction lock and spawns a goroutine to warm up the hotstore;
// this is necessary when we sync from a snapshot or when we enable the splitstore
// on top of an existing blockstore (which becomes the coldstore).
func (s *SplitStore) warmup(curTs *types.TipSet) error {
if !atomic.CompareAndSwapInt32(&s.compacting, 0, 1) {
return xerrors.Errorf("error locking compaction")
}
s.compactType = warmup
go func() {
defer atomic.StoreInt32(&s.compacting, 0)
@@ -88,7 +88,7 @@ func (s *SplitStore) doWarmup(curTs *types.TipSet) error {
blk, err := s.cold.Get(s.ctx, c)
if err != nil {
if err == bstore.ErrNotFound {
if ipld.IsNotFound(err) {
atomic.AddInt64(missing, 1)
return errStopWalk
}
@@ -110,7 +110,7 @@ func (s *SplitStore) doWarmup(curTs *types.TipSet) error {
mx.Unlock()
return nil
})
}, func(cid.Cid) error { return nil })
if err != nil {
return err
@@ -136,9 +136,8 @@ func (s *SplitStore) doWarmup(curTs *types.TipSet) error {
if err != nil {
return xerrors.Errorf("error saving warm up epoch: %w", err)
}
s.mx.Lock()
s.warmupEpoch = epoch
s.mx.Unlock()
s.warmupEpoch.Store(int64(epoch))
// also save the compactionIndex, as this is used as an indicator of warmup for upgraded nodes
err = s.ds.Put(s.ctx, compactionIndexKey, int64ToBytes(s.compactionIndex))
+1 -1
View File
@@ -3,7 +3,7 @@ package splitstore
import (
"sync"
cid "github.com/ipfs/go-cid"
"github.com/ipfs/go-cid"
)
// ObjectVisitor is an interface for deduplicating objects during walks
+2
View File
@@ -20,6 +20,8 @@ type SyncBlockstore struct {
bs MemBlockstore // specifically use a memStore to save indirection overhead.
}
func (*SyncBlockstore) Flush(context.Context) error { return nil }
func (m *SyncBlockstore) DeleteBlock(ctx context.Context, k cid.Cid) error {
m.mu.Lock()
defer m.mu.Unlock()
+19 -7
View File
@@ -8,6 +8,7 @@ import (
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
"github.com/raulk/clock"
"go.uber.org/multierr"
)
@@ -92,6 +93,16 @@ func (t *TimedCacheBlockstore) rotate() {
t.mu.Unlock()
}
func (t *TimedCacheBlockstore) Flush(ctx context.Context) error {
t.mu.Lock()
defer t.mu.Unlock()
if err := t.active.Flush(ctx); err != nil {
return err
}
return t.inactive.Flush(ctx)
}
func (t *TimedCacheBlockstore) Put(ctx context.Context, b blocks.Block) error {
// Don't check the inactive set here. We want to keep this block for at
// least one interval.
@@ -112,7 +123,7 @@ func (t *TimedCacheBlockstore) View(ctx context.Context, k cid.Cid, callback fun
// calling an arbitrary callback while holding a lock.
t.mu.RLock()
block, err := t.active.Get(ctx, k)
if err == ErrNotFound {
if ipld.IsNotFound(err) {
block, err = t.inactive.Get(ctx, k)
}
t.mu.RUnlock()
@@ -127,7 +138,7 @@ func (t *TimedCacheBlockstore) Get(ctx context.Context, k cid.Cid) (blocks.Block
t.mu.RLock()
defer t.mu.RUnlock()
b, err := t.active.Get(ctx, k)
if err == ErrNotFound {
if ipld.IsNotFound(err) {
b, err = t.inactive.Get(ctx, k)
}
return b, err
@@ -137,7 +148,7 @@ func (t *TimedCacheBlockstore) GetSize(ctx context.Context, k cid.Cid) (int, err
t.mu.RLock()
defer t.mu.RUnlock()
size, err := t.active.GetSize(ctx, k)
if err == ErrNotFound {
if ipld.IsNotFound(err) {
size, err = t.inactive.GetSize(ctx, k)
}
return size, err
@@ -175,11 +186,12 @@ func (t *TimedCacheBlockstore) AllKeysChan(_ context.Context) (<-chan cid.Cid, e
defer t.mu.RUnlock()
ch := make(chan cid.Cid, len(t.active)+len(t.inactive))
for c := range t.active {
ch <- c
for _, b := range t.active {
ch <- b.Cid()
}
for c := range t.inactive {
if _, ok := t.active[c]; ok {
for _, b := range t.inactive {
c := b.Cid()
if _, ok := t.active[string(c.Hash())]; ok {
continue
}
ch <- c
+3 -4
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package blockstore
import (
@@ -6,11 +6,10 @@ import (
"testing"
"time"
"github.com/raulk/clock"
"github.com/stretchr/testify/require"
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
"github.com/raulk/clock"
"github.com/stretchr/testify/require"
)
func TestTimedCacheBlockstoreSimple(t *testing.T) {
+16 -7
View File
@@ -5,16 +5,16 @@ import (
blocks "github.com/ipfs/go-block-format"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
)
type unionBlockstore []Blockstore
// Union returns an unioned blockstore.
//
// * Reads return from the first blockstore that has the value, querying in the
// supplied order.
// * Writes (puts and deltes) are broadcast to all stores.
//
// - Reads return from the first blockstore that has the value, querying in the
// supplied order.
// - Writes (puts and deletes) are broadcast to all stores.
func Union(stores ...Blockstore) Blockstore {
return unionBlockstore(stores)
}
@@ -30,7 +30,7 @@ func (m unionBlockstore) Has(ctx context.Context, cid cid.Cid) (has bool, err er
func (m unionBlockstore) Get(ctx context.Context, cid cid.Cid) (blk blocks.Block, err error) {
for _, bs := range m {
if blk, err = bs.Get(ctx, cid); err == nil || err != ErrNotFound {
if blk, err = bs.Get(ctx, cid); err == nil || !ipld.IsNotFound(err) {
break
}
}
@@ -39,7 +39,7 @@ func (m unionBlockstore) Get(ctx context.Context, cid cid.Cid) (blk blocks.Block
func (m unionBlockstore) View(ctx context.Context, cid cid.Cid, callback func([]byte) error) (err error) {
for _, bs := range m {
if err = bs.View(ctx, cid, callback); err == nil || err != ErrNotFound {
if err = bs.View(ctx, cid, callback); err == nil || !ipld.IsNotFound(err) {
break
}
}
@@ -48,13 +48,22 @@ func (m unionBlockstore) View(ctx context.Context, cid cid.Cid, callback func([]
func (m unionBlockstore) GetSize(ctx context.Context, cid cid.Cid) (size int, err error) {
for _, bs := range m {
if size, err = bs.GetSize(ctx, cid); err == nil || err != ErrNotFound {
if size, err = bs.GetSize(ctx, cid); err == nil || !ipld.IsNotFound(err) {
break
}
}
return size, err
}
func (m unionBlockstore) Flush(ctx context.Context) (err error) {
for _, bs := range m {
if err = bs.Flush(ctx); err != nil {
break
}
}
return err
}
func (m unionBlockstore) Put(ctx context.Context, block blocks.Block) (err error) {
for _, bs := range m {
if err = bs.Put(ctx, block); err != nil {
+2 -1
View File
@@ -1,4 +1,4 @@
//stm: #unit
// stm: #unit
package blockstore
import (
@@ -13,6 +13,7 @@ var (
b0 = blocks.NewBlock([]byte("abc"))
b1 = blocks.NewBlock([]byte("foo"))
b2 = blocks.NewBlock([]byte("bar"))
b3 = blocks.NewBlock([]byte("baz"))
)
func TestUnionBlockstore_Get(t *testing.T) {
+26
View File
@@ -0,0 +1,26 @@
# Bundles
This directory includes the actors bundles for each release. Each actor bundle is a zstd compressed
tarfile containing one bundle per network type. These tarfiles are subsequently embedded in the
lotus binary.
## Updating
To update, run the `./pack.sh` script. For example, the following will pack the [builtin actors release](https://github.com/filecoin-project/builtin-actors/releases) `dev/20220602` into the `v8` tarfile.
```bash
./pack.sh v8 dev/20220602
```
This will:
1. Download the actors bundles and pack them into the appropriate tarfile (`$VERSION.tar.zst`).
2. Run `make bundle-gen` in the top-level directory to regenerate the bundle metadata file for _all_ network versions (all `*.tar.zst` files in this directory).
## Overriding
To build a bundle, but specify a different release/tag for a specific network, append `$network=$alternative_release` on the command line. For example:
```bash
./pack.sh v8 dev/20220602 mainnet=v8.0.0 calibrationnet=v8.0.0-rc.1
```
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash
NETWORKS=(devnet mainnet caterpillarnet butterflynet testing testing-fake-proofs calibrationnet)
set -e
if [[ $# -lt 2 ]]; then
echo "Usage: $0 VERSION RELEASE [NETWORK=RELEASE_OVERRIDE]..." >&2
echo "expected at least two arguments, an actors version (e.g., v8), an actors release, and any number of release overrides." >&2
exit 1
fi
VERSION="$1" # actors version
RELEASE="$2" # actors release name
RELEASE_OVERRIDES=("${@:3}")
echo "Downloading bundles for actors version ${VERSION} release ${RELEASE}"
echo "With release overrides ${RELEASE_OVERRIDES[*]}"
TARGET_FILE="$(pwd)/${VERSION}.tar.zst"
WORKDIR=$(mktemp -d -t "actor-bundles-${VERSION}.XXXXXXXXXX")
trap 'rm -rf -- "$WORKDIR"' EXIT
encode_release() {
jq -rn --arg release "$1" '$release | @uri'
}
pushd "${WORKDIR}"
for network in "${NETWORKS[@]}"; do
release="$RELEASE"
# Ideally, we'd use an associative array (map). But that's not supported on macos.
for override in "${RELEASE_OVERRIDES[@]}"; do
if [[ "${network}" = "${override%%=*}" ]]; then
release="${override#*=}"
break
fi
done
encoded_release="$(encode_release "$release")"
echo "Downloading $release for network $network."
wget "https://github.com/filecoin-project/builtin-actors/releases/download/${encoded_release}/builtin-actors-${network}"{.car,.sha256}
done
echo "Checking the checksums..."
sha256sum -c -- *.sha256
echo "Packing..."
rm -f -- "$TARGET_FILE"
tar -cf "$TARGET_FILE" --use-compress-program "zstd -19" -- *.car
popd
echo "Generating metadata..."
make -C ../../ VERSION="$VERSION" RELEASE="$RELEASE" RELEASE_OVERRIDES="${RELEASE_OVERRIDES[*]}" bundle-gen
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More