From 560826d5c61405006603c4f3d734a586a856d865 Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Tue, 23 Apr 2024 02:36:52 +0200 Subject: [PATCH 01/48] release: v1.26.3 (#11908) (#11915) * deps: update dependencies to address migration memory bloat to address memory concerns during a heavy migration Ref: https://github.com/filecoin-project/go-state-types/pull/260 Ref: https://github.com/whyrusleeping/cbor-gen/pull/96 Ref: https://github.com/filecoin-project/go-amt-ipld/pull/90 * release: prep v1.26.3 patch Prep v1.26.3 patch release: - Update changelog, version and make gen + make docsgen-cli * deps: update cbor-gen to tagged version deps: update cbor-gen to tagged version * deps: update go-state-types to tagged version deps: update go-state-types to tagged version v0.13.2 * chore: deps: update go-state-types to v0.13.3 Fixes a panic when we have fewer than 1k proposals. --------- Co-authored-by: Rod Vagg Co-authored-by: Steven Allen --- CHANGELOG.md | 6 ++++++ build/openrpc/full.json.gz | Bin 35935 -> 35935 bytes build/openrpc/gateway.json.gz | Bin 12258 -> 12258 bytes build/openrpc/miner.json.gz | Bin 16475 -> 16475 bytes build/openrpc/worker.json.gz | Bin 6049 -> 6048 bytes build/version.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-provider.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- go.mod | 6 +++--- go.sum | 12 ++++++------ 12 files changed, 20 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5f6215d5a2..ec0cfa4095c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ ## Improvements +# v1.26.3 / 2024-04-22 + +**This is a patch release that addresses high memory load concerns for the Lotus daemon in the coming network migration for network version 22, scheduled on epoch `3855360 - 2024-04-24 - 14:00:00Z`.** + +If your Lotus daemon is running on a machine with less memory and swap than 160GB, you should upgrade to this patch release to ensure you do not encounter any Out-Of-Memory issues during the pre-migration. + # v1.26.2 / 2024-04-08 **This is a mandatory patch release for the Filecoin network version 22 mainnet upgrade, for all node operators.** diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index baaf830238c024f8118746efa5064f6a537e08a8..08dda7784c666f634566edc12e0a9ce7f8908c37 100644 GIT binary patch delta 23 fcmcaVgX#VZrU@O4i#K+j>*i=sR+W1w%gz7*frbe+ delta 23 fcmcaVgX#VZrU@O4hc|Yf>*gr`|1##GEIR`Lj?fD# diff --git a/build/openrpc/gateway.json.gz b/build/openrpc/gateway.json.gz index 9c2dfbcf2a23bf48df7a05d645fc7c8b0187be02..9f5dc38ee6814d310fb0e17310fa4f2428409c80 100644 GIT binary patch delta 22 ecmaD9|0sS!GgEfL#@0}Mj&IX;bj8kLVgLYrkO}Sp delta 22 ecmaD9|0sS!Gt=t)jjf^j9FCT&?#IqyVgLYpLL diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index ba135c01577aa0bd16db70857c2b4c172bf43fc0..5fbd42c3db8b33d8058ebe13972b3c96cd51f997 100644 GIT binary patch delta 23 ecmccJz<9fXaY75D^2XM4_8fj;)wb{5nHd0el?c%Q delta 23 fcmccJz<9fXaY75D^TyV5_8cuo3g5hUXJ!BZe>Ms_ diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 58231030637b043f21a2a1a365b6c916da936cc7..0f3cb11c7a3140dc8227754c0ab7a27965626b96 100644 GIT binary patch literal 6048 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 aQBSD`W4K)2F8@CO0RR7_KxV9MSOEZJF2+Ov literal 6049 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 E50#V7RsaA1 diff --git a/build/version.go b/build/version.go index 506b25b3f2a..5298d8e1ebf 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.26.2" +const BuildVersion = "1.26.3" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 4a5ec05789c..a9976271c7d 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.26.2 + 1.26.3 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-provider.md b/documentation/en/cli-lotus-provider.md index aed4a5d2abe..0fae817d2dd 100644 --- a/documentation/en/cli-lotus-provider.md +++ b/documentation/en/cli-lotus-provider.md @@ -7,7 +7,7 @@ USAGE: lotus-provider [global options] command [command options] [arguments...] VERSION: - 1.26.2 + 1.26.3 COMMANDS: run Start a lotus provider process diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index d2912590b4d..34dd09a333f 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.26.2 + 1.26.3 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 1811fc0c4d0..124b7a96e86 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.26.2 + 1.26.3 COMMANDS: daemon Start a lotus daemon process diff --git a/go.mod b/go.mod index 4623f942b80..c9aaed097e1 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/filecoin-project/dagstore v0.5.2 github.com/filecoin-project/filecoin-ffi v0.30.4-0.20220519234331-bfd1f5f9fe38 github.com/filecoin-project/go-address v1.1.0 - github.com/filecoin-project/go-amt-ipld/v4 v4.2.0 + github.com/filecoin-project/go-amt-ipld/v4 v4.3.0 github.com/filecoin-project/go-bitfield v0.2.4 github.com/filecoin-project/go-cbor-util v0.0.1 github.com/filecoin-project/go-commp-utils v0.1.3 @@ -47,7 +47,7 @@ require ( github.com/filecoin-project/go-jsonrpc v0.3.1 github.com/filecoin-project/go-padreader v0.0.1 github.com/filecoin-project/go-paramfetch v0.0.4 - github.com/filecoin-project/go-state-types v0.13.1 + github.com/filecoin-project/go-state-types v0.13.3 github.com/filecoin-project/go-statemachine v1.0.3 github.com/filecoin-project/go-statestore v0.2.0 github.com/filecoin-project/go-storedcounter v0.1.0 @@ -146,7 +146,7 @@ require ( github.com/triplewz/poseidon v0.0.0-20220525065023-a7cdb0e183e7 github.com/urfave/cli/v2 v2.25.5 github.com/whyrusleeping/bencher v0.0.0-20190829221104-bb6607aa8bba - github.com/whyrusleeping/cbor-gen v0.1.0 + github.com/whyrusleeping/cbor-gen v0.1.1 github.com/whyrusleeping/ledger-filecoin-go v0.9.1-0.20201010031517-c3dcc1bddce4 github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 github.com/xeipuuv/gojsonschema v1.2.0 diff --git a/go.sum b/go.sum index 4fe32e664f7..800e879416f 100644 --- a/go.sum +++ b/go.sum @@ -297,8 +297,8 @@ github.com/filecoin-project/go-amt-ipld/v3 v3.0.0/go.mod h1:Qa95YNAbtoVCTSVtX38a github.com/filecoin-project/go-amt-ipld/v3 v3.1.0 h1:ZNJ9tEG5bE72vBWYiuh5bkxJVM3ViHNOmQ7qew9n6RE= github.com/filecoin-project/go-amt-ipld/v3 v3.1.0/go.mod h1:UjM2QhDFrrjD5s1CdnkJkat4ga+LqZBZgTMniypABRo= github.com/filecoin-project/go-amt-ipld/v4 v4.0.0/go.mod h1:gF053YQ4BIpzTNDoEwHZas7U3oAwncDVGvOHyY8oDpE= -github.com/filecoin-project/go-amt-ipld/v4 v4.2.0 h1:DQTXQwMXxaetd+lhZGODjt5qC1WYT7tMAlYrWqI/fwI= -github.com/filecoin-project/go-amt-ipld/v4 v4.2.0/go.mod h1:0eDVF7pROvxrsxvLJx+SJZXqRaXXcEPUcgb/rG0zGU4= +github.com/filecoin-project/go-amt-ipld/v4 v4.3.0 h1:bY42N1gR0DqrLMCKUPzX1VhYVgXaETQm0Um4ohvyEP8= +github.com/filecoin-project/go-amt-ipld/v4 v4.3.0/go.mod h1:39Ep/yBbF6xN94WevLG9qSbglBJepHa5zeEbAE1pYsc= github.com/filecoin-project/go-bitfield v0.2.0/go.mod h1:CNl9WG8hgR5mttCnUErjcQjGvuiZjRqK9rHVBsQF4oM= github.com/filecoin-project/go-bitfield v0.2.3/go.mod h1:CNl9WG8hgR5mttCnUErjcQjGvuiZjRqK9rHVBsQF4oM= github.com/filecoin-project/go-bitfield v0.2.4 h1:uZ7MeE+XfM5lqrHJZ93OnhQKc/rveW8p9au0C68JPgk= @@ -347,8 +347,8 @@ github.com/filecoin-project/go-state-types v0.1.0/go.mod h1:ezYnPf0bNkTsDibL/psS github.com/filecoin-project/go-state-types v0.1.6/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q= github.com/filecoin-project/go-state-types v0.1.10/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q= github.com/filecoin-project/go-state-types v0.11.2-0.20230712101859-8f37624fa540/go.mod h1:SyNPwTsU7I22gL2r0OAPcImvLoTVfgRwdK/Y5rR1zz8= -github.com/filecoin-project/go-state-types v0.13.1 h1:4CivvlcHAIoAtFFVVlZtokynaMQu5XLXGoTKhQkfG1I= -github.com/filecoin-project/go-state-types v0.13.1/go.mod h1:cHpOPup9H1g2T29dKHAjC2sc7/Ef5ypjuW9A3I+e9yY= +github.com/filecoin-project/go-state-types v0.13.3 h1:9JPkC0E6HDtfHbaOIrFiCDzT/Z0jRTb9En4Y4Ci/b3w= +github.com/filecoin-project/go-state-types v0.13.3/go.mod h1:cHpOPup9H1g2T29dKHAjC2sc7/Ef5ypjuW9A3I+e9yY= github.com/filecoin-project/go-statemachine v0.0.0-20200925024713-05bd7c71fbfe/go.mod h1:FGwQgZAt2Gh5mjlwJUlVB62JeYdo+if0xWxSEfBD9ig= github.com/filecoin-project/go-statemachine v1.0.3 h1:N07o6alys+V1tNoSTi4WuuoeNC4erS/6jE74+NsgQuk= github.com/filecoin-project/go-statemachine v1.0.3/go.mod h1:jZdXXiHa61n4NmgWFG4w8tnqgvZVHYbJ3yW7+y8bF54= @@ -1696,8 +1696,8 @@ github.com/whyrusleeping/cbor-gen v0.0.0-20200826160007-0b9f6c5fb163/go.mod h1:f github.com/whyrusleeping/cbor-gen v0.0.0-20210118024343-169e9d70c0c2/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ= github.com/whyrusleeping/cbor-gen v0.0.0-20210303213153-67a261a1d291/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ= github.com/whyrusleeping/cbor-gen v0.0.0-20220323183124-98fa8256a799/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ= -github.com/whyrusleeping/cbor-gen v0.1.0 h1:Jneeq3V5enErVcuL0NKEbD1Gi+iOvEeFhXOV1S1Fc6g= -github.com/whyrusleeping/cbor-gen v0.1.0/go.mod h1:pM99HXyEbSQHcosHc0iW7YFmwnscr+t9Te4ibko05so= +github.com/whyrusleeping/cbor-gen v0.1.1 h1:eKfcJIoxivjMtwfCfmJAqSF56MHcWqyIScXwaC1VBgw= +github.com/whyrusleeping/cbor-gen v0.1.1/go.mod h1:pM99HXyEbSQHcosHc0iW7YFmwnscr+t9Te4ibko05so= github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f h1:jQa4QT2UP9WYv2nzyawpKMOCl+Z/jW7djv2/J50lj9E= github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f/go.mod h1:p9UJB6dDgdPgMJZs7UjUOdulKyRr9fqkS+6JKAInPy8= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k= From f415a771736c4b7fc5a7b7ea4f226dd80f09a240 Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Wed, 1 May 2024 10:05:02 +0200 Subject: [PATCH 02/48] build: release: v1.27.0-rc1 (#11947) * chore: Set version as v1.27.0-rc1 Set version as v1.27.0-rc1, run make gen & make docsgen-cli * Update changelog Update changelog * Update changelog Update changelog based on feedback --- CHANGELOG.md | 193 +++++++++++++++++++++++++++ build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 2 +- documentation/en/cli-curio.md | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- documentation/en/cli-sptool.md | 2 +- 11 files changed, 203 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c14c53444b..37d2ec72ce4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,199 @@ ## Improvements +# v1.27.0-rc1 / 2024-04-30 + +This is the first release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release, check out the Curio Beta release section for how you can get started with Curio. + +## ☢️ Upgrade Warnings ☢️ + +- This feature release drops the Raft cluster code experiment from the codebase. This Raft cluster never graduated beyond an experiment, had poor UX (e.g. no way to manage a running cluster, so it didn't provide High Availability, and pulled in a lot of heavy dependencies. We keep the multi-node RPC feature, it is not perfect, but it is useful. +- Event Database: Two sequential migrations will adjust indexes without altering data or columns, ensuring minimal invasiveness when upgrading to this release. However, these migrations may be time-consuming for nodes with extensive event databases. + +## Indexers, RPC- and ETH RPC-providers improvements + +This release includes a lot of improvements and fixes for indexers, RPC- and ETH RPC-providers. Specifically these PRs: + +- [Significant performance improvements of eth_getLog](https://github.com/filecoin-project/lotus/pull/11477) +- [Return the correct block gas limit in the EthAP](https://github.com/filecoin-project/lotus/pull/11747) +- [Accept input data in call arguments under field 'input'](https://github.com/filecoin-project/lotus/pull/11505) +- [Length check the array sent to eth_feeHistory RPC](https://github.com/filecoin-project/lotus/pull/11696) +- [ETH subscribe tipsets API should only return tipsets that have been executed](https://github.com/filecoin-project/lotus/pull/11858) +- [Adjust indexes in event index db to match query patterns](https://github.com/filecoin-project/lotus/pull/111934) + +## ⭐️ Curio Beta Release ⭐️ + +**Curio**, the next generation of Lotus-Miner, also referred to as MinerV2! This release officially transitions Curio into beta and introduces a suite of powerful features designed to enhance your storage operations. + +### Highlights + +- **Curio as MinerV2**: Embrace the revolutionary upgrade from Lotus-Miner to Curio. This transition is not just a rebranding—it's an upgrade to a more robust, scalable, and user-friendly version. +- **High Availability**: Curio is designed for high availability. You can run multiple instances of Curio nodes to handle similar type of tasks. The distributed scheduler and greedy worker design will ensure that tasks are completed on time despite most partial outages. You can safely update one of your Curio machines without disrupting the operation of the others. +- **Node Heartbeat**: Each Curio node in a cluster must post a heartbeat message every 10 minutes in HarmonyDB updating its status. If a heartbeat is missed, the node is considered lost and all tasks can now be scheduled on remaining nodes. +- **Task Retry**: Each task in Curio has a limit on how many times it should be tried before being declared lost. This ensures that Curio does not keep retrying bad tasks indefinitely. This safeguards against lost computation time and storage. +- **Polling**: Curio avoids overloading nodes with a polling system. Nodes check for tasks they can handle, prioritizing idle nodes for even workload distribution. +- **Simple Configuration Management**: The configuration is stored in the database in the forms of layers. These layers can be stacked on top of each other create a final configuration. Users can reuse these layers to control the behaviour of multiple machines without needing to maintain the configuration of each node. Start the binary with the appropriate flags to connect with YugabyteDB and specify which configuration layers to use to get desired behaviour. + +### Getting Started with Curio + +```bash +cd lotus +git pull +make clean deps all +sudo make install +``` + +On your local-dev-net or calibrationnet lotus-miner machine, initiate: + +`curio guided-setup` + +### Need More Info? + +For detailed documentation and additional information on Curio: + +Curio Overview <- insert link +Visit the Curio Official Website insert link + +❗Curio is in Beta state, and we recommend our users to run Curio in a testing environment or on the Calibration network for the time being. + +## New features + +- feat: exchange: change GetBlocks to always fetch the requested number of tipsets ([filecoin-project/lotus#11565](https://github.com/filecoin-project/lotus/pull/11565)) +- feat: syncer: optimize syncFork for one-epoch forks ([filecoin-project/lotus#11533](https://github.com/filecoin-project/lotus/pull/11533)) +- feat: api: improve the correctness of Eth's trace_block (#11609) ([filecoin-project/lotus#11609](https://github.com/filecoin-project/lotus/pull/11609)) +- perf: api: add indexes to event topics and emitter addr (#11477) ([filecoin-project/lotus#11477](https://github.com/filecoin-project/lotus/pull/11477)) +- feat: drand: refactor round verification ([filecoin-project/lotus#11598](https://github.com/filecoin-project/lotus/pull/11598)) +- feat: add Forest bootstrap nodes (#11636) ([filecoin-project/lotus#11636](https://github.com/filecoin-project/lotus/pull/11636)) +- feat: curio: add miner init (#11775) ([filecoin-project/lotus#11775](https://github.com/filecoin-project/lotus/pull/11775)) +- feat: curio: sectors UI (#11869) ([filecoin-project/lotus#11869](https://github.com/filecoin-project/lotus/pull/11869)) +- feat: curio: storage index gc task (#11884) ([filecoin-project/lotus#11884](https://github.com/filecoin-project/lotus/pull/11884)) +- feat: curio: web based config edit (#11822) ([filecoin-project/lotus#11822](https://github.com/filecoin-project/lotus/pull/11822)) +- feat: spcli: sectors extend improvements (#11798) ([filecoin-project/lotus#11798](https://github.com/filecoin-project/lotus/pull/11798)) +- feat: curio: Add schemas for DDO deal support (#11805) ([filecoin-project/lotus#11805](https://github.com/filecoin-project/lotus/pull/11805)) +- feat: curioweb: add favicon (#11804) ([filecoin-project/lotus#11804](https://github.com/filecoin-project/lotus/pull/11804)) +- feat: lotus-provider: Fetch params on startup when needed ([filecoin-project/lotus#11650](https://github.com/filecoin-project/lotus/pull/11650)) +- feat: mpool: Cache actors in lite mode (#11668) ([filecoin-project/lotus#11668](https://github.com/filecoin-project/lotus/pull/11668)) +- feat: curio: simpler reservation release logic (#11900) ([filecoin-project/lotus#11900](https://github.com/filecoin-project/lotus/pull/11900)) +- feat: curio: add StorageInit api (#11918) ([filecoin-project/lotus#11918](https://github.com/filecoin-project/lotus/pull/11918)) +- feat: lotus-provider: SDR Sealing pipeline ([filecoin-project/lotus#11534](https://github.com/filecoin-project/lotus/pull/11534)) +- feat: curioweb: Sector info page (#11846) ([filecoin-project/lotus#11846](https://github.com/filecoin-project/lotus/pull/11846)) +- feat: curio web: node info page (#11745) ([filecoin-project/lotus#11745](https://github.com/filecoin-project/lotus/pull/11745)) +- feat: fvm: optimize FVM lanes a bit (#11875) ([filecoin-project/lotus#11875](https://github.com/filecoin-project/lotus/pull/11875)) + +## Improvements + +- fix: api: return the correct block gas limit in the EthAPI (#11747) ([filecoin-project/lotus#11747](https://github.com/filecoin-project/lotus/pull/11747)) +- fix: exchange: explicitly cast the block message limit const (#11511) ([filecoin-project/lotus#11511](https://github.com/filecoin-project/lotus/pull/11511)) +- fix: Eth API: accept input data in call arguments under field 'input' (#11505) ([filecoin-project/lotus#11505](https://github.com/filecoin-project/lotus/pull/11505)) +- fix: api: Length check the array sent to eth_feeHistory RPC (#11696) ([filecoin-project/lotus#11696](https://github.com/filecoin-project/lotus/pull/11696)) +- fix: api: fix EthSubscribe tipsets off by one (#11858) ([filecoin-project/lotus#11858](https://github.com/filecoin-project/lotus/pull/11858)) +- fix: lotus-provider: Fix log output format in wdPostTaskCmd ([filecoin-project/lotus#11504](https://github.com/filecoin-project/lotus/pull/11504)) +- fix: lmcli: make 'sectors list' DDO-aware (#11839) ([filecoin-project/lotus#11839](https://github.com/filecoin-project/lotus/pull/11839)) +- fix: lpwinning: Fix MiningBase.afterPropDelay ([filecoin-project/lotus#11654](https://github.com/filecoin-project/lotus/pull/11654)) +- fix: exchange: allow up to 10k messages per block ([filecoin-project/lotus#11506](https://github.com/filecoin-project/lotus/pull/11506)) +- fix: harmony: Fix task reclaim on restart ([filecoin-project/lotus#11498](https://github.com/filecoin-project/lotus/pull/11498)) +- fix: lotus-provider: Wait for the correct taskID ([filecoin-project/lotus#11493](https://github.com/filecoin-project/lotus/pull/11493)) +- fix: lotus-provider: show addresses in log ([filecoin-project/lotus#11490](https://github.com/filecoin-project/lotus/pull/11490)) +- fix: sql Scan cannot write to an object ([filecoin-project/lotus#11485](https://github.com/filecoin-project/lotus/pull/11485)) +- fix: lotus-provider: Fix winning PoSt ([filecoin-project/lotus#11482](https://github.com/filecoin-project/lotus/pull/11482)) +- fix: lotus-provider: lotus-provider msg sending ([filecoin-project/lotus#11480](https://github.com/filecoin-project/lotus/pull/11480)) +- fix: chain: use latest go-state-types types for miner UI ([filecoin-project/lotus#11566](https://github.com/filecoin-project/lotus/pull/11566)) +- fix: Dockerfile non-interactive snapshot import (#11579) ([filecoin-project/lotus#11579](https://github.com/filecoin-project/lotus/pull/11579)) +- fix: daemon: avoid prompting to remove chain when noninteractive (#11582) ([filecoin-project/lotus#11582](https://github.com/filecoin-project/lotus/pull/11582)) +- fix: (events): check for sync-in-progress (#11932) ([filecoin-project/lotus#11932](https://github.com/filecoin-project/lotus/pull/11932)) +- fix: curio: common commands (#11879) ([filecoin-project/lotus#11879](https://github.com/filecoin-project/lotus/pull/11879)) +- fix: curio: fix incorrect null check for varchar column (#11881) ([filecoin-project/lotus#11881](https://github.com/filecoin-project/lotus/pull/11881)) +- fix: local storage reservations fixes (#11866) ([filecoin-project/lotus#11866](https://github.com/filecoin-project/lotus/pull/11866)) +- fix: curio: Check deal start epoch passed in PrecommitSubmit (#11873) ([filecoin-project/lotus#11873](https://github.com/filecoin-project/lotus/pull/11873)) +- fix: curio: base config by default (#11676) ([filecoin-project/lotus#11676](https://github.com/filecoin-project/lotus/pull/11676)) +- fix: curio: Start BoostAdapters before blocking rpc serve (#11871) ([filecoin-project/lotus#11871](https://github.com/filecoin-project/lotus/pull/11871)) +- fix: cli: json flag (#11868) ([filecoin-project/lotus#11868](https://github.com/filecoin-project/lotus/pull/11868)) +- feat: curio/lmrpc: Ingest backpressure (#11865) ([filecoin-project/lotus#11865](https://github.com/filecoin-project/lotus/pull/11865)) +- feat: curio: Cleanup data copies after seal ops (#11847) ([filecoin-project/lotus#11847](https://github.com/filecoin-project/lotus/pull/11847)) +- fix: spcli: add reference to the terminate command (#11851) ([filecoin-project/lotus#11851](https://github.com/filecoin-project/lotus/pull/11851)) +- fix: sealing: improve gasEstimate logging (#11840) ([filecoin-project/lotus#11840](https://github.com/filecoin-project/lotus/pull/11840)) +- fix: harmony: Try other tasks when storage claim fails +- fix: test: TestForkPreMigration hanging when env-var is set (#11838) ([filecoin-project/lotus#11838](https://github.com/filecoin-project/lotus/pull/11838)) +- fix: piece: Don't return StartEport in PieceDealInfo.EndEpoch (#11832) ([filecoin-project/lotus#11832](https://github.com/filecoin-project/lotus/pull/11832)) +- fix: paths/local: Fix on-disk storage accounting in new reservations (#11825) ([filecoin-project/lotus#11825](https://github.com/filecoin-project/lotus/pull/11825)) +- fix: sealing pipeline: Fix panic on padding pieces in WaitDeals (#11708) ([filecoin-project/lotus#11708](https://github.com/filecoin-project/lotus/pull/11708)) +- feat: ipfs: remove IPFS client backend (#11661) ([filecoin-project/lotus#11661](https://github.com/filecoin-project/lotus/pull/11661)) +- fix: docs: Modify generate-lotus-cli.py to ignoring aliases. ([filecoin-project/lotus#11535](https://github.com/filecoin-project/lotus/pull/11535)) +- fix: eth: decode as actor creation iff "to" is the EAM (#11520) ([filecoin-project/lotus#11520](https://github.com/filecoin-project/lotus/pull/11520)) +- fix(events): properly decorate events db errors (#11856) ([filecoin-project/lotus#11856](https://github.com/filecoin-project/lotus/pull/11856)) +- fix: CLI: adjust TermMax for extend-claim used by a different client (#11764) ([filecoin-project/lotus#11764](https://github.com/filecoin-project/lotus/pull/11764)) + +## Dependencies + +- chore: update deps (#11819) ([filecoin-project/lotus#11819](https://github.com/filecoin-project/lotus/pull/11819)) +- chore: mod: use upstream poseidon ([filecoin-project/lotus#11557](https://github.com/filecoin-project/lotus/pull/11557)) +- deps: multiaddress ([filecoin-project/lotus#11558](https://github.com/filecoin-project/lotus/pull/11558)) +- chore:libp2p: update libp2p deps in master ([filecoin-project/lotus#11522](https://github.com/filecoin-project/lotus/pull/11522)) +- dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563)) + + +## Others + +- ci: ci: create gh workflow that runs go checks (#11761) ([filecoin-project/lotus#11761](https://github.com/filecoin-project/lotus/pull/11761)) +- ci: ci: create gh workflow that runs go build (#11760) ([filecoin-project/lotus#11760](https://github.com/filecoin-project/lotus/pull/11760)) +- ci: cancel in progress runs on pull requests only (#11842) ([filecoin-project/lotus#11842](https://github.com/filecoin-project/lotus/pull/11842)) +- ci: ci: list processes before calling apt-get to enable debugging (#11815) ([filecoin-project/lotus#11815](https://github.com/filecoin-project/lotus/pull/11815)) +- ci: ci: allow master main sync to write to the repository (#11784) ([filecoin-project/lotus#11784](https://github.com/filecoin-project/lotus/pull/11784)) +- ci: ci: create gh workflow that runs go tests (#11762) ([filecoin-project/lotus#11762](https://github.com/filecoin-project/lotus/pull/11762)) +- misc: Drop the raft-cluster experiment ([filecoin-project/lotus#11468](https://github.com/filecoin-project/lotus/pull/11468)) +- chore: fix some typos in comments (#11892) ([filecoin-project/lotus#11892](https://github.com/filecoin-project/lotus/pull/11892)) +- chore: fix typos (#11848) ([filecoin-project/lotus#11848](https://github.com/filecoin-project/lotus/pull/11848)) +- chore: fix typo (#11697) ([filecoin-project/lotus#11697](https://github.com/filecoin-project/lotus/pull/11697)) +- chore: fix 2 typo's (#11542) ([filecoin-project/lotus#11542](https://github.com/filecoin-project/lotus/pull/11542)) +- chore: calibnet: Update bootstrap peer list ([filecoin-project/lotus#11672](https://github.com/filecoin-project/lotus/pull/11672)) +- chore: build: Bump version in master ([filecoin-project/lotus#11475](https://github.com/filecoin-project/lotus/pull/11475)) +- chore: releases: merge releases branch to master ([filecoin-project/lotus#11578](https://github.com/filecoin-project/lotus/pull/11578)) +- chore: Add systemd memory note on install and in config (#11641) ([filecoin-project/lotus#11641](https://github.com/filecoin-project/lotus/pull/11641)) +- chore: switch back to upstream ledger library (#11651) ([filecoin-project/lotus#11651](https://github.com/filecoin-project/lotus/pull/11651)) +- chore: build: update minimum go version to 1.21.7 (#11652) ([filecoin-project/lotus#11652](https://github.com/filecoin-project/lotus/pull/11652)) +- chore: docs: nv-skeleton documentation (#11065) ([filecoin-project/lotus#11065](https://github.com/filecoin-project/lotus/pull/11065)) +- chore: Add v13 support to invariants-checker (#11931) ([filecoin-project/lotus#11931](https://github.com/filecoin-project/lotus/pull/11931)) + +## Contributors + +| Contributor | Commits | Lines ± | Files Changed | +|-------------|---------|---------|---------------| +| Rod Vagg | 20 | +55315/-204 | 58 | +| Łukasz Magiera | 201 | +16244/-6541 | 647 | +| Andrew Jackson (Ajax) | 53 | +15293/-6764 | 394 | +| Phi-rjan | 6 | +12669/-4521 | 221 | +| LexLuthr | 20 | +5972/-2815 | 120 | +| Steven Allen | 22 | +1626/-1264 | 77 | +| Piotr Galar | 9 | +790/-412 | 33 | +| Aayush Rajasekaran | 4 | +642/-509 | 12 | +| Lee | 1 | +601/-533 | 9 | +| qwdsds | 3 | +617/-510 | 11 | +| Phi | 11 | +551/-83 | 32 | +| Jiaying Wang | 5 | +433/-20 | 13 | +| Masih H. Derkani | 4 | +350/-101 | 18 | +| Aayush | 4 | +143/-76 | 17 | +| Aarsh Shah | 3 | +63/-11 | 5 | +| jennijuju | 3 | +22/-22 | 12 | +| hunjixin | 1 | +21/-14 | 4 | +| beck | 2 | +17/-17 | 2 | +| tom123222 | 2 | +28/-4 | 2 | +| Ian Norden | 1 | +21/-1 | 1 | +| ZenGround0 | 1 | +3/-15 | 1 | +| shuangcui | 1 | +7/-7 | 6 | +| Vid Bregar | 1 | +7/-4 | 2 | +| writegr | 1 | +5/-5 | 5 | +| Nagaprasad V R | 1 | +9/-0 | 1 | +| forcedebug | 1 | +4/-4 | 4 | +| parthshah1 | 2 | +6/-1 | 2 | +| fuyangpengqi | 1 | +3/-3 | 3 | +| Samuel Arogbonlo | 1 | +6/-0 | 2 | +| GlacierWalrus | 1 | +0/-6 | 1 | +| Aloxaf | 1 | +6/-0 | 2 | +| Rob Quist | 2 | +2/-3 | 3 | +| wersfeds | 1 | +2/-2 | 1 | +| Jon | 1 | +2/-0 | 1 | +| 0x5459 | 1 | +1/-0 | 1 | + # v1.26.3 / 2024-04-22 **This is a patch release that addresses high memory load concerns for the Lotus daemon in the coming network migration for network version 22, scheduled on epoch `3855360 - 2024-04-24 - 14:00:00Z`.** diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 7dabd77521d..30e6ad2da5b 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-dev" + "version": "1.27.0-rc1" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 04a2df7d7ee..9f30e612091 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-dev" + "version": "1.27.0-rc1" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index b94f96abff2..3645d1bd2c3 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-dev" + "version": "1.27.0-rc1" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index b02ba61390a..02b59790a2f 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-dev" + "version": "1.27.0-rc1" }, "methods": [ { diff --git a/build/version.go b/build/version.go index 4b18f642baa..0a9459ace3d 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.27.0-dev" +const BuildVersion = "1.27.0-rc1" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-curio.md b/documentation/en/cli-curio.md index 6dced244188..603a8063368 100644 --- a/documentation/en/cli-curio.md +++ b/documentation/en/cli-curio.md @@ -7,7 +7,7 @@ USAGE: curio [global options] command [command options] [arguments...] VERSION: - 1.27.0-dev + 1.27.0-rc1 COMMANDS: cli Execute cli commands diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index ed068624e9a..7cfcc95568c 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.0-dev + 1.27.0-rc1 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 043c16202cd..5b98f9d0a64 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.0-dev + 1.27.0-rc1 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 28338393f98..422344a3717 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.0-dev + 1.27.0-rc1 COMMANDS: daemon Start a lotus daemon process diff --git a/documentation/en/cli-sptool.md b/documentation/en/cli-sptool.md index e116f759fc7..4394ffedfed 100644 --- a/documentation/en/cli-sptool.md +++ b/documentation/en/cli-sptool.md @@ -7,7 +7,7 @@ USAGE: sptool [global options] command [command options] [arguments...] VERSION: - 1.27.0-dev + 1.27.0-rc1 COMMANDS: actor Manage Filecoin Miner Actor Metadata From ceda4174b99e6bbc38caf2d84de591d04cbccff2 Mon Sep 17 00:00:00 2001 From: Phi Date: Fri, 3 May 2024 13:35:17 +0200 Subject: [PATCH 03/48] Bump pubsub-dep Bump pubsub-dep --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 062aca2980c..b609839689a 100644 --- a/go.mod +++ b/go.mod @@ -113,7 +113,7 @@ require ( github.com/libp2p/go-buffer-pool v0.1.0 github.com/libp2p/go-libp2p v0.33.2 github.com/libp2p/go-libp2p-kad-dht v0.25.2 - github.com/libp2p/go-libp2p-pubsub v0.10.0 + github.com/libp2p/go-libp2p-pubsub v0.10.1 github.com/libp2p/go-libp2p-record v0.2.0 github.com/libp2p/go-libp2p-routing-helpers v0.7.3 github.com/libp2p/go-maddr-filter v0.1.0 diff --git a/go.sum b/go.sum index 19156912f2f..2061e66754d 100644 --- a/go.sum +++ b/go.sum @@ -1079,8 +1079,8 @@ github.com/libp2p/go-libp2p-peerstore v0.2.2/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRj github.com/libp2p/go-libp2p-peerstore v0.2.6/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-peerstore v0.2.7/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= -github.com/libp2p/go-libp2p-pubsub v0.10.0 h1:wS0S5FlISavMaAbxyQn3dxMOe2eegMfswM471RuHJwA= -github.com/libp2p/go-libp2p-pubsub v0.10.0/go.mod h1:1OxbaT/pFRO5h+Dpze8hdHQ63R0ke55XTs6b6NwLLkw= +github.com/libp2p/go-libp2p-pubsub v0.10.1 h1:/RqOZpEtAolsr8/9CC8KqROJSOZeu7lK7fPftn4MwNg= +github.com/libp2p/go-libp2p-pubsub v0.10.1/go.mod h1:1OxbaT/pFRO5h+Dpze8hdHQ63R0ke55XTs6b6NwLLkw= github.com/libp2p/go-libp2p-quic-transport v0.10.0/go.mod h1:RfJbZ8IqXIhxBRm5hqUEJqjiiY8xmEuq3HUDS993MkA= github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0= From 4f061191a7666c4468bef7e35b3e63816e9dcfd0 Mon Sep 17 00:00:00 2001 From: Phi Date: Tue, 7 May 2024 11:28:20 +0200 Subject: [PATCH 04/48] Prep v1.27.0-rc2 Prep v1.27.0-rc2 --- CHANGELOG.md | 4 ++-- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 2 +- documentation/en/cli-curio.md | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- documentation/en/cli-sptool.md | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37d2ec72ce4..524cb0bad9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ ## Improvements -# v1.27.0-rc1 / 2024-04-30 +# v1.27.0-rc2 / 2024-05-07 -This is the first release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release, check out the Curio Beta release section for how you can get started with Curio. +This is the second release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release, check out the Curio Beta release section for how you can get started with Curio. ## ☢️ Upgrade Warnings ☢️ diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 30e6ad2da5b..d7adbfd591d 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc1" + "version": "1.27.0-rc2" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 9f30e612091..bacceea0d0c 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc1" + "version": "1.27.0-rc2" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 3645d1bd2c3..4a5c62ff29d 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc1" + "version": "1.27.0-rc2" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 02b59790a2f..cef86a8cb88 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc1" + "version": "1.27.0-rc2" }, "methods": [ { diff --git a/build/version.go b/build/version.go index 0a9459ace3d..1da78c798dc 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.27.0-rc1" +const BuildVersion = "1.27.0-rc2" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-curio.md b/documentation/en/cli-curio.md index 603a8063368..a263be38934 100644 --- a/documentation/en/cli-curio.md +++ b/documentation/en/cli-curio.md @@ -7,7 +7,7 @@ USAGE: curio [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc1 + 1.27.0-rc2 COMMANDS: cli Execute cli commands diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 7cfcc95568c..a1a55743a09 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc1 + 1.27.0-rc2 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 5b98f9d0a64..26e5323ee05 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc1 + 1.27.0-rc2 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 422344a3717..b513f3a34e7 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc1 + 1.27.0-rc2 COMMANDS: daemon Start a lotus daemon process diff --git a/documentation/en/cli-sptool.md b/documentation/en/cli-sptool.md index 4394ffedfed..302ac014336 100644 --- a/documentation/en/cli-sptool.md +++ b/documentation/en/cli-sptool.md @@ -7,7 +7,7 @@ USAGE: sptool [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc1 + 1.27.0-rc2 COMMANDS: actor Manage Filecoin Miner Actor Metadata From fc469bad89842c473cc3e5517c72b9338168a72c Mon Sep 17 00:00:00 2001 From: Phi Date: Tue, 7 May 2024 13:18:33 +0200 Subject: [PATCH 05/48] Typo fixes, and more changelog updates Typo fixes, and more changelog updates --- CHANGELOG.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 524cb0bad9e..8cd023b2897 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,11 @@ # v1.27.0-rc2 / 2024-05-07 -This is the second release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release, check out the Curio Beta release section for how you can get started with Curio. +This is the second release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio. ## ☢️ Upgrade Warnings ☢️ -- This feature release drops the Raft cluster code experiment from the codebase. This Raft cluster never graduated beyond an experiment, had poor UX (e.g. no way to manage a running cluster, so it didn't provide High Availability, and pulled in a lot of heavy dependencies. We keep the multi-node RPC feature, it is not perfect, but it is useful. +- This feature release drops the Raft cluster code experiment from the codebase. This Raft cluster never graduated beyond an experiment, had poor UX (e.g. no way to manage a running cluster, so it didn't provide High Availability), and pulled in a lot of heavy dependencies. We keep the multi-node RPC feature, it is not perfect, but it is useful. - Event Database: Two sequential migrations will adjust indexes without altering data or columns, ensuring minimal invasiveness when upgrading to this release. However, these migrations may be time-consuming for nodes with extensive event databases. ## Indexers, RPC- and ETH RPC-providers improvements @@ -37,7 +37,7 @@ This release includes a lot of improvements and fixes for indexers, RPC- and ETH - **Node Heartbeat**: Each Curio node in a cluster must post a heartbeat message every 10 minutes in HarmonyDB updating its status. If a heartbeat is missed, the node is considered lost and all tasks can now be scheduled on remaining nodes. - **Task Retry**: Each task in Curio has a limit on how many times it should be tried before being declared lost. This ensures that Curio does not keep retrying bad tasks indefinitely. This safeguards against lost computation time and storage. - **Polling**: Curio avoids overloading nodes with a polling system. Nodes check for tasks they can handle, prioritizing idle nodes for even workload distribution. -- **Simple Configuration Management**: The configuration is stored in the database in the forms of layers. These layers can be stacked on top of each other create a final configuration. Users can reuse these layers to control the behaviour of multiple machines without needing to maintain the configuration of each node. Start the binary with the appropriate flags to connect with YugabyteDB and specify which configuration layers to use to get desired behaviour. +- **Simple Configuration Management**: The configuration is stored in the database in the forms of layers. These layers can be stacked on top of each other to create a final configuration. Users can reuse these layers to control the behavior of multiple machines without needing to maintain the configuration of each node. Start the binary with the appropriate flags to connect with YugabyteDB and specify which configuration layers to use to get desired behaviour. ### Getting Started with Curio @@ -135,6 +135,9 @@ Visit the Curio Official Website insert link - deps: multiaddress ([filecoin-project/lotus#11558](https://github.com/filecoin-project/lotus/pull/11558)) - chore:libp2p: update libp2p deps in master ([filecoin-project/lotus#11522](https://github.com/filecoin-project/lotus/pull/11522)) - dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563)) +- github.com/filecoin-project/go-amt-ipld/ (v4.2.0 -> v4.3.0) +- github.com/filecoin-project/go-state-types (v0.13.1 -> v0.13.3) +- github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1) ## Others From feeab1bc801d2a6400e9f136793d8c2d935f84e3 Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Mon, 13 May 2024 07:24:26 +0200 Subject: [PATCH 06/48] chore: remove unmaintained bootstrappers (#11983) * chore: remove unmaintained bootstrappers chore: remove unmaintained bootstrappers * Update mainnet.pi fixing typoed domain fixing typo for 1475.io 'bootstarp' -> 'bootstrap' * Update mainnet.pi apparently the actual hostname is typoed. so bootstarp it is. --------- Co-authored-by: smagdali --- build/bootstrap/mainnet.pi | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/bootstrap/mainnet.pi b/build/bootstrap/mainnet.pi index 5b13ae755e7..2afe6f29750 100644 --- a/build/bootstrap/mainnet.pi +++ b/build/bootstrap/mainnet.pi @@ -1,6 +1,3 @@ -/dns4/lotus-bootstrap.ipfsforce.com/tcp/41778/p2p/12D3KooWGhufNmZHF3sv48aQeS13ng5XVJZ9E6qy2Ms4VzqeUsHk -/dns4/bootstrap-0.starpool.in/tcp/12757/p2p/12D3KooWGHpBMeZbestVEWkfdnC9u7p6uFHXL1n7m1ZBqsEmiUzz -/dns4/bootstrap-1.starpool.in/tcp/12757/p2p/12D3KooWQZrGH1PxSNZPum99M1zNvjNFM33d1AAu5DcvdHptuU7u /dns4/node.glif.io/tcp/1235/p2p/12D3KooWBF8cpp65hp2u9LK5mh19x67ftAam84z9LsfaquTDSBpt /dns4/bootstarp-0.1475.io/tcp/61256/p2p/12D3KooWRzCVDwHUkgdK7eRgnoXbjDAELhxPErjHzbRLguSV1aRt /dns4/bootstrap-venus.mainnet.filincubator.com/tcp/8888/p2p/QmQu8C6deXwKvJP2D8B6QGyhngc3ZiDnFzEHBDx8yeBXST From 62961c3eee4b404c01476aebe53657f4ab11e2c6 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 16 May 2024 17:24:45 +1000 Subject: [PATCH 07/48] chore: update go-data-transfer and go-graphsync --- go.mod | 14 +++++++------- go.sum | 28 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index b609839689a..04bed05be16 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( github.com/filecoin-project/go-commp-utils v0.1.3 github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082a837 github.com/filecoin-project/go-crypto v0.0.1 - github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7 + github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc8 github.com/filecoin-project/go-fil-commcid v0.1.0 github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 github.com/filecoin-project/go-fil-markets v1.28.3 @@ -91,7 +91,7 @@ require ( github.com/ipfs/go-ds-leveldb v0.5.0 github.com/ipfs/go-ds-measure v0.2.0 github.com/ipfs/go-fs-lock v0.0.7 - github.com/ipfs/go-graphsync v0.16.0 + github.com/ipfs/go-graphsync v0.17.0 github.com/ipfs/go-ipfs-blocksutil v0.0.1 github.com/ipfs/go-ipld-cbor v0.1.0 github.com/ipfs/go-ipld-format v0.6.0 @@ -160,12 +160,12 @@ require ( go.uber.org/fx v1.20.1 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.20.0 + golang.org/x/crypto v0.21.0 golang.org/x/exp v0.0.0-20240213143201-ec583247a57a - golang.org/x/net v0.21.0 + golang.org/x/net v0.23.0 golang.org/x/sync v0.6.0 - golang.org/x/sys v0.17.0 - golang.org/x/term v0.17.0 + golang.org/x/sys v0.18.0 + golang.org/x/term v0.18.0 golang.org/x/text v0.14.0 golang.org/x/time v0.5.0 golang.org/x/tools v0.18.0 @@ -331,7 +331,7 @@ require ( gonum.org/v1/gonum v0.14.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect google.golang.org/grpc v1.60.1 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect diff --git a/go.sum b/go.sum index 2061e66754d..593672e2def 100644 --- a/go.sum +++ b/go.sum @@ -322,8 +322,8 @@ github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082 github.com/filecoin-project/go-crypto v0.0.0-20191218222705-effae4ea9f03/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= github.com/filecoin-project/go-crypto v0.0.1 h1:AcvpSGGCgjaY8y1az6AMfKQWreF/pWO2JJGLl6gCq6o= github.com/filecoin-project/go-crypto v0.0.1/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= -github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7 h1:v+zJS5B6pA3ptWZS4t8tbt1Hz9qENnN4nVr1w99aSWc= -github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7/go.mod h1:V3Y4KbttaCwyg1gwkP7iai8CbQx4mZUGjd3h9GZWLKE= +github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc8 h1:EWC89lM/tJAjyzaxZ624clq3oyHLoLjISfoyG+WIu9s= +github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc8/go.mod h1:mK3/NbSljx3Kr335+IXEe8gcdEPA2eZXJaNhodK9bAI= github.com/filecoin-project/go-ds-versioning v0.1.2 h1:to4pTadv3IeV1wvgbCbN6Vqd+fu+7tveXgv/rCEZy6w= github.com/filecoin-project/go-ds-versioning v0.1.2/go.mod h1:C9/l9PnB1+mwPa26BBVpCjG/XQCB0yj/q5CK2J8X1I4= github.com/filecoin-project/go-fil-commcid v0.0.0-20201016201715-d41df56b4f6a/go.mod h1:Eaox7Hvus1JgPrL5+M3+h7aSPHc0cVqpSxA+TxIEpZQ= @@ -737,8 +737,8 @@ github.com/ipfs/go-ds-measure v0.2.0/go.mod h1:SEUD/rE2PwRa4IQEC5FuNAmjJCyYObZr9 github.com/ipfs/go-fs-lock v0.0.6/go.mod h1:OTR+Rj9sHiRubJh3dRhD15Juhd/+w6VPOY28L7zESmM= github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U= github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc= -github.com/ipfs/go-graphsync v0.16.0 h1:0BX7whXlV13Y9FZ/jRg+xaGHaGYbtGxGppKD6tncw6k= -github.com/ipfs/go-graphsync v0.16.0/go.mod h1:WfbMW3hhmX5GQEQ+KJxsFzVJVBKgC5szfrYK7Zc7xIM= +github.com/ipfs/go-graphsync v0.17.0 h1:1gh10v94G/vSGzfApVtbZSvSKkK906Y+2sRqewjDTm4= +github.com/ipfs/go-graphsync v0.17.0/go.mod h1:HXHiTRIw3wrN3InMwdV+IzpBAtreEf/KqFlEibhfVgo= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= github.com/ipfs/go-ipfs-blockstore v0.2.1/go.mod h1:jGesd8EtCM3/zPgx+qr0/feTXGUeRai6adgwC+Q+JvE= @@ -1843,8 +1843,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg= -golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1951,8 +1951,8 @@ golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -2079,8 +2079,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2089,8 +2089,8 @@ golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2287,8 +2287,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 75f7e4571ee495e68cb08a4f1615c09eacd11ef0 Mon Sep 17 00:00:00 2001 From: Aarsh Shah Date: Wed, 8 May 2024 17:35:00 +0400 Subject: [PATCH 08/48] add ETH addrs API to Gateway (#11979) --- api/api_gateway.go | 2 + api/proxy_gen.go | 26 ++ build/openrpc/full.json | 486 ++++++++++++++++++------------------- build/openrpc/gateway.json | 302 +++++++++++++++-------- build/openrpc/miner.json | 260 ++++++++++---------- build/openrpc/worker.json | 74 +++--- gateway/proxy_eth.go | 9 + 7 files changed, 653 insertions(+), 506 deletions(-) diff --git a/api/api_gateway.go b/api/api_gateway.go index e70c00e3a26..62bff64cfad 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -91,6 +91,8 @@ type Gateway interface { Version(context.Context) (APIVersion, error) Discover(context.Context) (apitypes.OpenRPCDocument, error) + EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error) + FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, 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) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index f9e7866151b..cde8230c4a7 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -720,6 +720,8 @@ type GatewayMethods struct { EthAccounts func(p0 context.Context) ([]ethtypes.EthAddress, error) `` + EthAddressToFilecoinAddress func(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) `` + EthBlockNumber func(p0 context.Context) (ethtypes.EthUint64, error) `` EthCall func(p0 context.Context, p1 ethtypes.EthCall, p2 ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) `` @@ -790,6 +792,8 @@ type GatewayMethods struct { EthUnsubscribe func(p0 context.Context, p1 ethtypes.EthSubscriptionID) (bool, error) `` + FilecoinAddressToEthAddress func(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) `` + GasEstimateGasPremium func(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) `` GasEstimateMessageGas func(p0 context.Context, p1 *types.Message, p2 *MessageSendSpec, p3 types.TipSetKey) (*types.Message, error) `` @@ -4607,6 +4611,17 @@ func (s *GatewayStub) EthAccounts(p0 context.Context) ([]ethtypes.EthAddress, er return *new([]ethtypes.EthAddress), ErrNotSupported } +func (s *GatewayStruct) EthAddressToFilecoinAddress(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) { + if s.Internal.EthAddressToFilecoinAddress == nil { + return *new(address.Address), ErrNotSupported + } + return s.Internal.EthAddressToFilecoinAddress(p0, p1) +} + +func (s *GatewayStub) EthAddressToFilecoinAddress(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) { + return *new(address.Address), ErrNotSupported +} + func (s *GatewayStruct) EthBlockNumber(p0 context.Context) (ethtypes.EthUint64, error) { if s.Internal.EthBlockNumber == nil { return *new(ethtypes.EthUint64), ErrNotSupported @@ -4992,6 +5007,17 @@ func (s *GatewayStub) EthUnsubscribe(p0 context.Context, p1 ethtypes.EthSubscrip return false, ErrNotSupported } +func (s *GatewayStruct) FilecoinAddressToEthAddress(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) { + if s.Internal.FilecoinAddressToEthAddress == nil { + return *new(ethtypes.EthAddress), ErrNotSupported + } + return s.Internal.FilecoinAddressToEthAddress(p0, p1) +} + +func (s *GatewayStub) FilecoinAddressToEthAddress(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) { + return *new(ethtypes.EthAddress), ErrNotSupported +} + func (s *GatewayStruct) GasEstimateGasPremium(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) { if s.Internal.GasEstimateGasPremium == nil { return *new(types.BigInt), ErrNotSupported diff --git a/build/openrpc/full.json b/build/openrpc/full.json index d7adbfd591d..87157d37a61 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -37,7 +37,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1651" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1655" } }, { @@ -60,7 +60,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1662" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1666" } }, { @@ -103,7 +103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1673" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1677" } }, { @@ -214,7 +214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1695" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1699" } }, { @@ -454,7 +454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1706" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1710" } }, { @@ -685,7 +685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1717" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1721" } }, { @@ -784,7 +784,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1728" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1732" } }, { @@ -816,7 +816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1739" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1743" } }, { @@ -922,7 +922,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1750" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1754" } }, { @@ -1019,7 +1019,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1761" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1765" } }, { @@ -1078,7 +1078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1772" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1776" } }, { @@ -1171,7 +1171,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1783" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1787" } }, { @@ -1255,7 +1255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1794" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1798" } }, { @@ -1355,7 +1355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1805" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1809" } }, { @@ -1411,7 +1411,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1816" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1820" } }, { @@ -1484,7 +1484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1827" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1831" } }, { @@ -1557,7 +1557,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1838" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1842" } }, { @@ -1604,7 +1604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1849" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1853" } }, { @@ -1636,7 +1636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1860" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1864" } }, { @@ -1691,7 +1691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1871" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1875" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1893" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1897" } }, { @@ -1780,7 +1780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1904" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1908" } }, { @@ -1827,7 +1827,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1915" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1919" } }, { @@ -1874,7 +1874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1926" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1930" } }, { @@ -1954,7 +1954,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1937" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1941" } }, { @@ -2006,7 +2006,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1948" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1952" } }, { @@ -2065,7 +2065,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1959" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1963" } }, { @@ -2136,7 +2136,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1970" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1974" } }, { @@ -2177,7 +2177,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1981" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1985" } }, { @@ -2245,7 +2245,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2003" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2007" } }, { @@ -2306,7 +2306,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2014" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2018" } }, { @@ -2413,7 +2413,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2025" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2029" } }, { @@ -2569,7 +2569,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2036" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2040" } }, { @@ -2635,7 +2635,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2047" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2051" } }, { @@ -2976,7 +2976,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2058" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2062" } }, { @@ -3021,7 +3021,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2069" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2073" } }, { @@ -3068,7 +3068,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2102" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2106" } }, { @@ -3139,7 +3139,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2113" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2117" } }, { @@ -3282,7 +3282,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2124" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2128" } }, { @@ -3612,7 +3612,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2135" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2139" } }, { @@ -3680,7 +3680,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2146" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2150" } }, { @@ -3914,7 +3914,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2157" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2161" } }, { @@ -4077,7 +4077,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2168" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2172" } }, { @@ -4160,7 +4160,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2179" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2183" } }, { @@ -4201,7 +4201,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2190" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2194" } }, { @@ -4272,7 +4272,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2201" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2205" } }, { @@ -4416,7 +4416,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2212" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2216" } }, { @@ -4456,7 +4456,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2223" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2227" } }, { @@ -4497,7 +4497,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2234" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2238" } }, { @@ -4622,7 +4622,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2245" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2249" } }, { @@ -4747,7 +4747,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2256" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2260" } }, { @@ -4786,7 +4786,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2267" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2271" } }, { @@ -4833,7 +4833,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2278" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2282" } }, { @@ -4888,7 +4888,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2289" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2293" } }, { @@ -4917,7 +4917,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2300" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2304" } }, { @@ -5054,7 +5054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2311" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2315" } }, { @@ -5083,7 +5083,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2322" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2326" } }, { @@ -5137,7 +5137,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2333" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2337" } }, { @@ -5228,7 +5228,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2344" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2348" } }, { @@ -5256,7 +5256,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2355" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2359" } }, { @@ -5346,7 +5346,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2366" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2370" } }, { @@ -5602,7 +5602,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2377" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2381" } }, { @@ -5847,7 +5847,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2388" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2392" } }, { @@ -5903,7 +5903,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2399" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2403" } }, { @@ -5950,7 +5950,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2410" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2414" } }, { @@ -6048,7 +6048,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2421" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2425" } }, { @@ -6114,7 +6114,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2432" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2436" } }, { @@ -6180,7 +6180,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2443" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2447" } }, { @@ -6289,7 +6289,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2454" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2458" } }, { @@ -6347,7 +6347,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2465" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2469" } }, { @@ -6469,7 +6469,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2476" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2480" } }, { @@ -6673,7 +6673,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2487" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2491" } }, { @@ -6868,7 +6868,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2498" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2502" } }, { @@ -7055,7 +7055,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2509" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2513" } }, { @@ -7259,7 +7259,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2520" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2524" } }, { @@ -7350,7 +7350,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2531" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2535" } }, { @@ -7408,7 +7408,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2542" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2546" } }, { @@ -7666,7 +7666,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2553" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2557" } }, { @@ -7941,7 +7941,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2564" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2568" } }, { @@ -7969,7 +7969,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2575" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2579" } }, { @@ -8007,7 +8007,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2586" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2590" } }, { @@ -8115,7 +8115,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2597" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2601" } }, { @@ -8153,7 +8153,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2608" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2612" } }, { @@ -8182,7 +8182,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2619" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2623" } }, { @@ -8245,7 +8245,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2630" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2634" } }, { @@ -8308,7 +8308,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2641" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2645" } }, { @@ -8353,7 +8353,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2652" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2656" } }, { @@ -8475,7 +8475,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2663" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2667" } }, { @@ -8630,7 +8630,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2674" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2678" } }, { @@ -8684,7 +8684,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2685" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2689" } }, { @@ -8738,7 +8738,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2696" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2700" } }, { @@ -8793,7 +8793,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2707" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2711" } }, { @@ -8936,7 +8936,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2718" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2722" } }, { @@ -9063,7 +9063,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2729" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2733" } }, { @@ -9165,7 +9165,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2740" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2744" } }, { @@ -9388,7 +9388,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2751" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2755" } }, { @@ -9571,7 +9571,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2762" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2766" } }, { @@ -9651,7 +9651,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2773" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2777" } }, { @@ -9696,7 +9696,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2784" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2788" } }, { @@ -9752,7 +9752,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2795" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2799" } }, { @@ -9832,7 +9832,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2806" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2810" } }, { @@ -9912,7 +9912,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2817" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2821" } }, { @@ -10397,7 +10397,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2828" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2832" } }, { @@ -10591,7 +10591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2839" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2843" } }, { @@ -10746,7 +10746,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2850" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2854" } }, { @@ -10995,7 +10995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2861" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2865" } }, { @@ -11150,7 +11150,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2872" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2876" } }, { @@ -11327,7 +11327,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2883" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2887" } }, { @@ -11425,7 +11425,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2894" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2898" } }, { @@ -11590,7 +11590,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2905" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2909" } }, { @@ -11629,7 +11629,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2916" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2920" } }, { @@ -11694,7 +11694,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2927" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2931" } }, { @@ -11740,7 +11740,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2938" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2942" } }, { @@ -11890,7 +11890,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2949" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2953" } }, { @@ -12027,7 +12027,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2960" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2964" } }, { @@ -12258,7 +12258,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2971" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2975" } }, { @@ -12395,7 +12395,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2982" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2986" } }, { @@ -12560,7 +12560,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2993" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2997" } }, { @@ -12637,7 +12637,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3004" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3008" } }, { @@ -12832,7 +12832,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3026" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3030" } }, { @@ -13011,7 +13011,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3037" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3041" } }, { @@ -13173,7 +13173,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3048" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3052" } }, { @@ -13321,7 +13321,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3059" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3063" } }, { @@ -13549,7 +13549,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3070" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3074" } }, { @@ -13697,7 +13697,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3081" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3085" } }, { @@ -13909,7 +13909,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3092" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3096" } }, { @@ -14115,7 +14115,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3103" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3107" } }, { @@ -14183,7 +14183,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3114" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3118" } }, { @@ -14300,7 +14300,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3125" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3129" } }, { @@ -14391,7 +14391,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3136" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3140" } }, { @@ -14477,7 +14477,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3147" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3151" } }, { @@ -14672,7 +14672,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3158" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3162" } }, { @@ -14834,7 +14834,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3169" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3173" } }, { @@ -15030,7 +15030,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3180" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3184" } }, { @@ -15210,7 +15210,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3191" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3195" } }, { @@ -15373,7 +15373,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3202" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3206" } }, { @@ -15400,7 +15400,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3213" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3217" } }, { @@ -15427,7 +15427,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3224" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3228" } }, { @@ -15526,7 +15526,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3235" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3239" } }, { @@ -15572,7 +15572,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3246" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3250" } }, { @@ -15672,7 +15672,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3257" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3261" } }, { @@ -15788,7 +15788,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3268" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3272" } }, { @@ -15836,7 +15836,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3279" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3283" } }, { @@ -15928,7 +15928,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3290" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3294" } }, { @@ -16043,7 +16043,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3301" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3305" } }, { @@ -16091,7 +16091,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3312" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3316" } }, { @@ -16128,7 +16128,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3323" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3327" } }, { @@ -16400,7 +16400,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3334" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3338" } }, { @@ -16448,7 +16448,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3345" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3349" } }, { @@ -16506,7 +16506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3356" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3360" } }, { @@ -16711,7 +16711,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3367" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3371" } }, { @@ -16914,7 +16914,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3378" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3382" } }, { @@ -17083,7 +17083,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3389" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3393" } }, { @@ -17287,7 +17287,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3400" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3404" } }, { @@ -17454,7 +17454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3411" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3415" } }, { @@ -17661,7 +17661,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3422" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3426" } }, { @@ -17729,7 +17729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3433" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3437" } }, { @@ -17781,7 +17781,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3444" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3448" } }, { @@ -17830,7 +17830,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3455" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3459" } }, { @@ -17921,7 +17921,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3466" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3470" } }, { @@ -18427,7 +18427,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3477" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3481" } }, { @@ -18533,7 +18533,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3488" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3492" } }, { @@ -18585,7 +18585,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3499" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3503" } }, { @@ -19137,7 +19137,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3510" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3514" } }, { @@ -19251,7 +19251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3521" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3525" } }, { @@ -19348,7 +19348,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3532" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3536" } }, { @@ -19448,7 +19448,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3543" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3547" } }, { @@ -19536,7 +19536,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3554" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3558" } }, { @@ -19636,7 +19636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3565" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3569" } }, { @@ -19723,7 +19723,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3576" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3580" } }, { @@ -19814,7 +19814,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3587" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3591" } }, { @@ -19939,7 +19939,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3598" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3602" } }, { @@ -20048,7 +20048,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3609" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3613" } }, { @@ -20118,7 +20118,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3620" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3624" } }, { @@ -20221,7 +20221,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3631" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3635" } }, { @@ -20282,7 +20282,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3642" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3646" } }, { @@ -20412,7 +20412,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3653" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3657" } }, { @@ -20519,7 +20519,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3664" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3668" } }, { @@ -20728,7 +20728,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3675" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3679" } }, { @@ -20805,7 +20805,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3686" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3690" } }, { @@ -20882,7 +20882,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3697" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3701" } }, { @@ -20991,7 +20991,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3708" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3712" } }, { @@ -21100,7 +21100,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3719" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3723" } }, { @@ -21161,7 +21161,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3730" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3734" } }, { @@ -21271,7 +21271,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3741" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3745" } }, { @@ -21332,7 +21332,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3752" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3756" } }, { @@ -21400,7 +21400,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3763" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3767" } }, { @@ -21468,7 +21468,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3774" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3778" } }, { @@ -21549,7 +21549,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3785" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3789" } }, { @@ -21698,7 +21698,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3796" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3800" } }, { @@ -21770,7 +21770,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3807" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3811" } }, { @@ -21929,7 +21929,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3818" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3822" } }, { @@ -22094,7 +22094,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3829" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3833" } }, { @@ -22164,7 +22164,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3840" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3844" } }, { @@ -22232,7 +22232,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3851" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3855" } }, { @@ -22325,7 +22325,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3862" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3866" } }, { @@ -22396,7 +22396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3873" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3877" } }, { @@ -22597,7 +22597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3884" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3888" } }, { @@ -22729,7 +22729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3895" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3899" } }, { @@ -22866,7 +22866,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3906" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3910" } }, { @@ -22977,7 +22977,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3917" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3921" } }, { @@ -23109,7 +23109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3928" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3932" } }, { @@ -23240,7 +23240,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3939" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3943" } }, { @@ -23311,7 +23311,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3950" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3954" } }, { @@ -23395,7 +23395,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3961" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3965" } }, { @@ -23481,7 +23481,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3972" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3976" } }, { @@ -23664,7 +23664,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3983" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3987" } }, { @@ -23691,7 +23691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3994" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3998" } }, { @@ -23744,7 +23744,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4005" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4009" } }, { @@ -23832,7 +23832,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4016" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4020" } }, { @@ -24283,7 +24283,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4027" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4031" } }, { @@ -24450,7 +24450,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4038" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4042" } }, { @@ -24548,7 +24548,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4049" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4053" } }, { @@ -24721,7 +24721,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4060" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4064" } }, { @@ -24819,7 +24819,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4071" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4075" } }, { @@ -24970,7 +24970,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4082" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4086" } }, { @@ -25055,7 +25055,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4093" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4097" } }, { @@ -25123,7 +25123,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4104" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4108" } }, { @@ -25175,7 +25175,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4115" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4119" } }, { @@ -25243,7 +25243,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4126" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4130" } }, { @@ -25404,7 +25404,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4137" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4141" } }, { @@ -25451,7 +25451,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4159" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4163" } }, { @@ -25498,7 +25498,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4170" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4174" } }, { @@ -25541,7 +25541,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4192" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4196" } }, { @@ -25637,7 +25637,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4203" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4207" } }, { @@ -25903,7 +25903,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4214" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4218" } }, { @@ -25926,7 +25926,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4225" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4229" } }, { @@ -25969,7 +25969,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4236" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4240" } }, { @@ -26020,7 +26020,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4247" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4251" } }, { @@ -26065,7 +26065,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4258" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4262" } }, { @@ -26093,7 +26093,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4269" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4273" } }, { @@ -26133,7 +26133,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4280" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4284" } }, { @@ -26192,7 +26192,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4291" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4295" } }, { @@ -26236,7 +26236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4302" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4306" } }, { @@ -26295,7 +26295,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4313" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4317" } }, { @@ -26332,7 +26332,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4324" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4328" } }, { @@ -26376,7 +26376,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4335" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4339" } }, { @@ -26416,7 +26416,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4346" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4350" } }, { @@ -26491,7 +26491,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4357" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4361" } }, { @@ -26699,7 +26699,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4368" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4372" } }, { @@ -26743,7 +26743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4379" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4383" } }, { @@ -26833,7 +26833,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4390" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4394" } }, { @@ -26860,7 +26860,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4401" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4405" } } ] diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index bacceea0d0c..b76b39aa813 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -242,7 +242,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4412" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4416" } }, { @@ -473,7 +473,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4423" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4427" } }, { @@ -572,7 +572,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4434" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4438" } }, { @@ -604,7 +604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4445" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4449" } }, { @@ -710,7 +710,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4456" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4460" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4467" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4471" } }, { @@ -887,7 +887,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4478" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4482" } }, { @@ -987,7 +987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4489" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4493" } }, { @@ -1043,7 +1043,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4500" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4504" } }, { @@ -1116,7 +1116,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4511" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4515" } }, { @@ -1189,7 +1189,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4522" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4526" } }, { @@ -1236,7 +1236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4533" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4537" } }, { @@ -1268,7 +1268,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4544" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4548" } }, { @@ -1305,7 +1305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4566" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4570" } }, { @@ -1352,7 +1352,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4577" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4581" } }, { @@ -1392,7 +1392,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4588" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4592" } }, { @@ -1439,7 +1439,62 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4599" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4603" + } + }, + { + "name": "Filecoin.EthAddressToFilecoinAddress", + "description": "```go\nfunc (s *GatewayStruct) EthAddressToFilecoinAddress(p0 context.Context, p1 ethtypes.EthAddress) (address.Address, error) {\n\tif s.Internal.EthAddressToFilecoinAddress == nil {\n\t\treturn *new(address.Address), ErrNotSupported\n\t}\n\treturn s.Internal.EthAddressToFilecoinAddress(p0, p1)\n}\n```", + "summary": "There are not yet any comments for this method.", + "paramStructure": "by-position", + "params": [ + { + "name": "p1", + "description": "ethtypes.EthAddress", + "summary": "", + "schema": { + "examples": [ + "0x5cbeecf99d3fdb3f25e309cc264f240bb0664031" + ], + "items": [ + { + "title": "number", + "description": "Number is a number", + "type": [ + "number" + ] + } + ], + "maxItems": 20, + "minItems": 20, + "type": [ + "array" + ] + }, + "required": true, + "deprecated": false + } + ], + "result": { + "name": "address.Address", + "description": "address.Address", + "summary": "", + "schema": { + "examples": [ + "f01234" + ], + "additionalProperties": false, + "type": [ + "object" + ] + }, + "required": true, + "deprecated": false + }, + "deprecated": false, + "externalDocs": { + "description": "Github remote link", + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4614" } }, { @@ -1468,7 +1523,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4610" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4625" } }, { @@ -1605,7 +1660,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4621" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4636" } }, { @@ -1634,7 +1689,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4632" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4647" } }, { @@ -1688,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4643" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4658" } }, { @@ -1779,7 +1834,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4654" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4669" } }, { @@ -1807,7 +1862,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4665" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4680" } }, { @@ -1897,7 +1952,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4676" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4691" } }, { @@ -2153,7 +2208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4687" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4702" } }, { @@ -2398,7 +2453,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4698" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4713" } }, { @@ -2454,7 +2509,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4709" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4724" } }, { @@ -2501,7 +2556,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4720" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4735" } }, { @@ -2599,7 +2654,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4731" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4746" } }, { @@ -2665,7 +2720,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4742" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4757" } }, { @@ -2731,7 +2786,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4753" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4768" } }, { @@ -2840,7 +2895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4764" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4779" } }, { @@ -2898,7 +2953,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4775" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4790" } }, { @@ -3020,7 +3075,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4786" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4801" } }, { @@ -3207,7 +3262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4797" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4812" } }, { @@ -3411,7 +3466,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4808" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4823" } }, { @@ -3502,7 +3557,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4819" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4834" } }, { @@ -3560,7 +3615,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4830" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4845" } }, { @@ -3818,7 +3873,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4841" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4856" } }, { @@ -4093,7 +4148,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4852" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4867" } }, { @@ -4121,7 +4176,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4863" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4878" } }, { @@ -4159,7 +4214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4874" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4889" } }, { @@ -4267,7 +4322,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4885" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4900" } }, { @@ -4305,7 +4360,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4896" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4911" } }, { @@ -4334,7 +4389,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4907" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4922" } }, { @@ -4397,7 +4452,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4918" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4933" } }, { @@ -4460,7 +4515,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4929" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4944" } }, { @@ -4505,7 +4560,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4940" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4955" } }, { @@ -4627,7 +4682,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4951" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4966" } }, { @@ -4782,7 +4837,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4962" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4977" } }, { @@ -4836,7 +4891,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4973" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4988" } }, { @@ -4890,7 +4945,62 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4984" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4999" + } + }, + { + "name": "Filecoin.FilecoinAddressToEthAddress", + "description": "```go\nfunc (s *GatewayStruct) FilecoinAddressToEthAddress(p0 context.Context, p1 address.Address) (ethtypes.EthAddress, error) {\n\tif s.Internal.FilecoinAddressToEthAddress == nil {\n\t\treturn *new(ethtypes.EthAddress), ErrNotSupported\n\t}\n\treturn s.Internal.FilecoinAddressToEthAddress(p0, p1)\n}\n```", + "summary": "There are not yet any comments for this method.", + "paramStructure": "by-position", + "params": [ + { + "name": "p1", + "description": "address.Address", + "summary": "", + "schema": { + "examples": [ + "f01234" + ], + "additionalProperties": false, + "type": [ + "object" + ] + }, + "required": true, + "deprecated": false + } + ], + "result": { + "name": "ethtypes.EthAddress", + "description": "ethtypes.EthAddress", + "summary": "", + "schema": { + "examples": [ + "0x5cbeecf99d3fdb3f25e309cc264f240bb0664031" + ], + "items": [ + { + "title": "number", + "description": "Number is a number", + "type": [ + "number" + ] + } + ], + "maxItems": 20, + "minItems": 20, + "type": [ + "array" + ] + }, + "required": true, + "deprecated": false + }, + "deprecated": false, + "externalDocs": { + "description": "Github remote link", + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5010" } }, { @@ -4992,7 +5102,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4995" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5021" } }, { @@ -5215,7 +5325,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5006" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5032" } }, { @@ -5398,7 +5508,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5017" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5043" } }, { @@ -5592,7 +5702,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5028" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5054" } }, { @@ -5638,7 +5748,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5039" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5065" } }, { @@ -5788,7 +5898,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5050" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5076" } }, { @@ -5925,7 +6035,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5061" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5087" } }, { @@ -5993,7 +6103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5072" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5098" } }, { @@ -6110,7 +6220,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5083" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5109" } }, { @@ -6201,7 +6311,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5094" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5120" } }, { @@ -6287,7 +6397,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5105" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5131" } }, { @@ -6314,7 +6424,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5116" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5142" } }, { @@ -6341,7 +6451,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5127" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5153" } }, { @@ -6409,7 +6519,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5138" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5164" } }, { @@ -6915,7 +7025,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5149" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5175" } }, { @@ -7012,7 +7122,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5160" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5186" } }, { @@ -7112,7 +7222,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5171" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5197" } }, { @@ -7212,7 +7322,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5182" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5208" } }, { @@ -7337,7 +7447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5193" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5219" } }, { @@ -7446,7 +7556,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5204" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5230" } }, { @@ -7549,7 +7659,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5215" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5241" } }, { @@ -7679,7 +7789,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5226" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5252" } }, { @@ -7786,7 +7896,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5237" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5263" } }, { @@ -7847,7 +7957,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5248" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5274" } }, { @@ -7915,7 +8025,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5259" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5285" } }, { @@ -7996,7 +8106,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5270" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5296" } }, { @@ -8155,7 +8265,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5281" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5307" } }, { @@ -8248,7 +8358,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5292" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5318" } }, { @@ -8449,7 +8559,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5303" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5329" } }, { @@ -8560,7 +8670,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5314" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5340" } }, { @@ -8691,7 +8801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5325" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5351" } }, { @@ -8777,7 +8887,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5336" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5362" } }, { @@ -8804,7 +8914,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5347" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5373" } }, { @@ -8857,7 +8967,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5358" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5384" } }, { @@ -8945,7 +9055,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5369" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5395" } }, { @@ -9396,7 +9506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5380" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5406" } }, { @@ -9563,7 +9673,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5391" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5417" } }, { @@ -9736,7 +9846,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5402" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5428" } }, { @@ -9804,7 +9914,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5413" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5439" } }, { @@ -9872,7 +9982,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5424" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5450" } }, { @@ -10033,7 +10143,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5435" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5461" } }, { @@ -10078,7 +10188,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5457" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5483" } }, { @@ -10123,7 +10233,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5468" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5494" } }, { @@ -10150,7 +10260,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5479" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5505" } } ] diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 4a5c62ff29d..7787b6757f2 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -30,7 +30,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5765" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5791" } }, { @@ -109,7 +109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5776" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5802" } }, { @@ -155,7 +155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5787" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5813" } }, { @@ -203,7 +203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5798" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5824" } }, { @@ -251,7 +251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5809" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5835" } }, { @@ -354,7 +354,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5820" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5846" } }, { @@ -428,7 +428,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5831" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5857" } }, { @@ -591,7 +591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5842" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5868" } }, { @@ -742,7 +742,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5853" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5879" } }, { @@ -781,7 +781,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5864" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5890" } }, { @@ -833,7 +833,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5875" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5901" } }, { @@ -872,7 +872,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5897" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5923" } }, { @@ -924,7 +924,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5908" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5934" } }, { @@ -996,7 +996,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5919" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5945" } }, { @@ -1035,7 +1035,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5930" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5956" } }, { @@ -1074,7 +1074,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5941" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5967" } }, { @@ -1101,7 +1101,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5952" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5978" } }, { @@ -1128,7 +1128,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5963" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5989" } }, { @@ -1155,7 +1155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5974" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6000" } }, { @@ -1182,7 +1182,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5985" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6011" } }, { @@ -1209,7 +1209,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5996" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6022" } }, { @@ -1236,7 +1236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6007" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6033" } }, { @@ -1294,7 +1294,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6018" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6044" } }, { @@ -1421,7 +1421,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6029" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6055" } }, { @@ -1461,7 +1461,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6040" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6066" } }, { @@ -1500,7 +1500,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6051" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6077" } }, { @@ -1539,7 +1539,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6062" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6088" } }, { @@ -1578,7 +1578,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6073" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6099" } }, { @@ -1617,7 +1617,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6084" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6110" } }, { @@ -1656,7 +1656,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6095" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6121" } }, { @@ -1695,7 +1695,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6106" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6132" } }, { @@ -1747,7 +1747,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6117" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6143" } }, { @@ -1770,7 +1770,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6128" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6154" } }, { @@ -1813,7 +1813,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6139" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6165" } }, { @@ -1884,7 +1884,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6150" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6176" } }, { @@ -2265,7 +2265,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6161" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6187" } }, { @@ -2364,7 +2364,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6183" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6209" } }, { @@ -2415,7 +2415,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6205" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6231" } }, { @@ -2473,7 +2473,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6216" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6242" } }, { @@ -2616,7 +2616,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6227" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6253" } }, { @@ -2743,7 +2743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6238" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6264" } }, { @@ -3007,7 +3007,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6249" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6275" } }, { @@ -3044,7 +3044,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6260" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6286" } }, { @@ -3182,7 +3182,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6271" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6297" } }, { @@ -3205,7 +3205,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6282" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6308" } }, { @@ -3276,7 +3276,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6293" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6319" } }, { @@ -3319,7 +3319,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6304" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6330" } }, { @@ -3426,7 +3426,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6315" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6341" } }, { @@ -3489,7 +3489,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6326" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6352" } }, { @@ -3521,7 +3521,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6337" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6363" } }, { @@ -3609,7 +3609,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6348" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6374" } }, { @@ -3700,7 +3700,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6359" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6385" } }, { @@ -3740,7 +3740,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6370" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6396" } }, { @@ -3780,7 +3780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6381" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6407" } }, { @@ -3821,7 +3821,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6392" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6418" } }, { @@ -3889,7 +3889,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6403" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6429" } }, { @@ -4020,7 +4020,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6414" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6440" } }, { @@ -4151,7 +4151,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6425" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6451" } }, { @@ -4251,7 +4251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6436" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6462" } }, { @@ -4351,7 +4351,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6447" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6473" } }, { @@ -4451,7 +4451,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6458" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6484" } }, { @@ -4551,7 +4551,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6469" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6495" } }, { @@ -4651,7 +4651,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6480" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6506" } }, { @@ -4751,7 +4751,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6491" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6517" } }, { @@ -4875,7 +4875,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6502" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6528" } }, { @@ -4999,7 +4999,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6513" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6539" } }, { @@ -5114,7 +5114,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6524" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6550" } }, { @@ -5214,7 +5214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6535" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6561" } }, { @@ -5347,7 +5347,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6546" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6572" } }, { @@ -5471,7 +5471,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6557" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6583" } }, { @@ -5595,7 +5595,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6568" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6594" } }, { @@ -5719,7 +5719,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6579" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6605" } }, { @@ -5852,7 +5852,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6590" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6616" } }, { @@ -5952,7 +5952,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6601" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6627" } }, { @@ -5993,7 +5993,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6612" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6638" } }, { @@ -6065,7 +6065,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6623" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6649" } }, { @@ -6115,7 +6115,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6634" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6660" } }, { @@ -6159,7 +6159,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6645" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6671" } }, { @@ -6200,7 +6200,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6656" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6682" } }, { @@ -6444,7 +6444,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6667" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6693" } }, { @@ -6518,7 +6518,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6678" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6704" } }, { @@ -6568,7 +6568,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6689" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6715" } }, { @@ -6597,7 +6597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6700" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6726" } }, { @@ -6626,7 +6626,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6711" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6737" } }, { @@ -6682,7 +6682,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6722" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6748" } }, { @@ -6705,7 +6705,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6733" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6759" } }, { @@ -6765,7 +6765,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6744" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6770" } }, { @@ -6804,7 +6804,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6755" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6781" } }, { @@ -6844,7 +6844,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6766" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6792" } }, { @@ -6917,7 +6917,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6777" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6803" } }, { @@ -6981,7 +6981,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6788" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6814" } }, { @@ -7044,7 +7044,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6799" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6825" } }, { @@ -7094,7 +7094,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6810" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6836" } }, { @@ -7653,7 +7653,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6821" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6847" } }, { @@ -7694,7 +7694,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6832" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6858" } }, { @@ -7735,7 +7735,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6843" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6869" } }, { @@ -7776,7 +7776,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6854" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6880" } }, { @@ -7817,7 +7817,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6865" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6891" } }, { @@ -7858,7 +7858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6876" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6902" } }, { @@ -7889,7 +7889,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6887" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6913" } }, { @@ -7939,7 +7939,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6898" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6924" } }, { @@ -7980,7 +7980,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6909" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6935" } }, { @@ -8019,7 +8019,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6920" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6946" } }, { @@ -8083,7 +8083,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6931" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6957" } }, { @@ -8141,7 +8141,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6942" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6968" } }, { @@ -8588,7 +8588,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6953" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6979" } }, { @@ -8624,7 +8624,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6964" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6990" } }, { @@ -8767,7 +8767,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6975" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7001" } }, { @@ -8823,7 +8823,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6986" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7012" } }, { @@ -8862,7 +8862,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6997" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7023" } }, { @@ -9039,7 +9039,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7008" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7034" } }, { @@ -9091,7 +9091,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7019" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7045" } }, { @@ -9283,7 +9283,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7030" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7056" } }, { @@ -9383,7 +9383,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7041" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7067" } }, { @@ -9437,7 +9437,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7052" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7078" } }, { @@ -9476,7 +9476,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7063" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7089" } }, { @@ -9561,7 +9561,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7074" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7100" } }, { @@ -9755,7 +9755,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7085" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7111" } }, { @@ -9853,7 +9853,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7096" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7122" } }, { @@ -9985,7 +9985,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7107" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7133" } }, { @@ -10039,7 +10039,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7118" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7144" } }, { @@ -10073,7 +10073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7129" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7155" } }, { @@ -10160,7 +10160,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7140" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7166" } }, { @@ -10214,7 +10214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7151" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7177" } }, { @@ -10314,7 +10314,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7162" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7188" } }, { @@ -10391,7 +10391,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7173" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7199" } }, { @@ -10482,7 +10482,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7184" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7210" } }, { @@ -10521,7 +10521,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7195" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7221" } }, { @@ -10637,7 +10637,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7206" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7232" } }, { @@ -12737,7 +12737,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7217" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7243" } } ] diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index cef86a8cb88..bb43a2d8aab 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -161,7 +161,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7305" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7331" } }, { @@ -252,7 +252,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7316" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7342" } }, { @@ -420,7 +420,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7327" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7353" } }, { @@ -447,7 +447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7338" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7364" } }, { @@ -597,7 +597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7349" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7375" } }, { @@ -700,7 +700,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7360" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7386" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7371" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7397" } }, { @@ -925,7 +925,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7382" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7408" } }, { @@ -1135,7 +1135,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7393" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7419" } }, { @@ -1306,7 +1306,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7404" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7430" } }, { @@ -3350,7 +3350,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7415" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7441" } }, { @@ -3470,7 +3470,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7426" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7452" } }, { @@ -3531,7 +3531,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7437" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7463" } }, { @@ -3569,7 +3569,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7448" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7474" } }, { @@ -3729,7 +3729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7459" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7485" } }, { @@ -3913,7 +3913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7470" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7496" } }, { @@ -4054,7 +4054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7481" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7507" } }, { @@ -4107,7 +4107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7492" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7518" } }, { @@ -4250,7 +4250,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7503" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7529" } }, { @@ -4474,7 +4474,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7514" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7540" } }, { @@ -4601,7 +4601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7525" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7551" } }, { @@ -4768,7 +4768,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7536" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7562" } }, { @@ -4895,7 +4895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7547" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7573" } }, { @@ -4933,7 +4933,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7558" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7584" } }, { @@ -4972,7 +4972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7569" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7595" } }, { @@ -4995,7 +4995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7580" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7606" } }, { @@ -5034,7 +5034,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7591" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7617" } }, { @@ -5057,7 +5057,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7602" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7628" } }, { @@ -5096,7 +5096,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7613" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7639" } }, { @@ -5130,7 +5130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7624" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7650" } }, { @@ -5184,7 +5184,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7635" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7661" } }, { @@ -5223,7 +5223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7646" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7672" } }, { @@ -5262,7 +5262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7657" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7683" } }, { @@ -5297,7 +5297,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7668" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7694" } }, { @@ -5477,7 +5477,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7679" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7705" } }, { @@ -5506,7 +5506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7690" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7716" } }, { @@ -5529,7 +5529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7701" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L7727" } } ] diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index 13a12acfa72..b3afaf36eba 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -11,6 +11,7 @@ import ( "github.com/ipfs/go-cid" "golang.org/x/xerrors" + "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/big" @@ -26,6 +27,14 @@ func (gw *Node) EthAccounts(ctx context.Context) ([]ethtypes.EthAddress, error) return []ethtypes.EthAddress{}, nil } +func (gw *Node) EthAddressToFilecoinAddress(ctx context.Context, ethAddress ethtypes.EthAddress) (address.Address, error) { + return gw.target.EthAddressToFilecoinAddress(ctx, ethAddress) +} + +func (gw *Node) FilecoinAddressToEthAddress(ctx context.Context, filecoinAddress address.Address) (ethtypes.EthAddress, error) { + return gw.target.FilecoinAddressToEthAddress(ctx, filecoinAddress) +} + func (gw *Node) EthBlockNumber(ctx context.Context) (ethtypes.EthUint64, error) { if err := gw.limit(ctx, chainRateLimitTokens); err != nil { return 0, err From 95f1533c9b96d4a23d3aa57d281b469ccb5606f7 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Mon, 6 May 2024 12:24:31 +1000 Subject: [PATCH 09/48] fix: copy Flags field from SectorOnChainInfo Fixes: https://github.com/filecoin-project/lotus/issues/11962 --- chain/actors/builtin/miner/state.go.template | 1 + chain/actors/builtin/miner/v12.go | 1 + chain/actors/builtin/miner/v13.go | 1 + 3 files changed, 3 insertions(+) diff --git a/chain/actors/builtin/miner/state.go.template b/chain/actors/builtin/miner/state.go.template index ac332682807..a940dd9ea53 100644 --- a/chain/actors/builtin/miner/state.go.template +++ b/chain/actors/builtin/miner/state.go.template @@ -587,6 +587,7 @@ func fromV{{.v}}SectorOnChainInfo(v{{.v}} miner{{.v}}.SectorOnChainInfo) SectorO {{if (ge .v 12)}} PowerBaseEpoch: v{{.v}}.PowerBaseEpoch, ReplacedDayReward: v{{.v}}.ReplacedDayReward, + Flags: SectorOnChainInfoFlags(v{{.v}}.Flags), {{end}} } return info diff --git a/chain/actors/builtin/miner/v12.go b/chain/actors/builtin/miner/v12.go index f06d2c4313e..a26d78d3204 100644 --- a/chain/actors/builtin/miner/v12.go +++ b/chain/actors/builtin/miner/v12.go @@ -548,6 +548,7 @@ func fromV12SectorOnChainInfo(v12 miner12.SectorOnChainInfo) SectorOnChainInfo { PowerBaseEpoch: v12.PowerBaseEpoch, ReplacedDayReward: v12.ReplacedDayReward, + Flags: SectorOnChainInfoFlags(v12.Flags), } return info } diff --git a/chain/actors/builtin/miner/v13.go b/chain/actors/builtin/miner/v13.go index d61c2a9a222..c033a9907c8 100644 --- a/chain/actors/builtin/miner/v13.go +++ b/chain/actors/builtin/miner/v13.go @@ -548,6 +548,7 @@ func fromV13SectorOnChainInfo(v13 miner13.SectorOnChainInfo) SectorOnChainInfo { PowerBaseEpoch: v13.PowerBaseEpoch, ReplacedDayReward: v13.ReplacedDayReward, + Flags: SectorOnChainInfoFlags(v13.Flags), } return info } From f60c1ce7e6823a5a029867c3647a359a0aca23c6 Mon Sep 17 00:00:00 2001 From: Aarsh Shah Date: Tue, 14 May 2024 14:12:03 +0400 Subject: [PATCH 10/48] feat: libp2p: Lotus stream cleanup (#11993) * set stream deadlines in Lotus * reduce timeout * whitelist bootstrappers * fix tests --- chain/exchange/protocol.go | 1 + chain/exchange/server.go | 4 ++++ cmd/lotus-shed/hello.go | 1 + node/hello/hello.go | 10 ++++++++++ node/modules/lp2p/rcmgr.go | 21 +++++++++++++++++++-- 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/chain/exchange/protocol.go b/chain/exchange/protocol.go index cd25f4a4350..7a22de8a3fa 100644 --- a/chain/exchange/protocol.go +++ b/chain/exchange/protocol.go @@ -38,6 +38,7 @@ const ( ReadResMinSpeed = 50 << 10 ShufflePeersPrefix = 16 WriteResDeadline = 60 * time.Second + streamReadDeadline = 10 * time.Second ) // FIXME: Rename. Make private. diff --git a/chain/exchange/server.go b/chain/exchange/server.go index ac3454c900f..e8b2a414e69 100644 --- a/chain/exchange/server.go +++ b/chain/exchange/server.go @@ -40,11 +40,15 @@ func (s *server) HandleStream(stream inet.Stream) { defer stream.Close() //nolint:errcheck + _ = stream.SetReadDeadline(time.Now().Add(streamReadDeadline)) var req Request if err := cborutil.ReadCborRPC(bufio.NewReader(stream), &req); err != nil { + _ = stream.SetReadDeadline(time.Time{}) log.Warnf("failed to read block sync request: %s", err) return } + _ = stream.SetReadDeadline(time.Time{}) + log.Debugw("block sync request", "start", req.Head, "len", req.Length) diff --git a/cmd/lotus-shed/hello.go b/cmd/lotus-shed/hello.go index d16f9373563..3c905b798a4 100644 --- a/cmd/lotus-shed/hello.go +++ b/cmd/lotus-shed/hello.go @@ -51,6 +51,7 @@ var helloCmd = &cli.Command{ func HandleStream(s inet.Stream) { var hmsg hello.HelloMessage + _ = s.SetReadDeadline(time.Now().Add(30 * time.Second)) if err := cborutil.ReadCborRPC(s, &hmsg); err != nil { log.Infow("failed to read hello message, disconnecting", "error", err) _ = s.Conn().Close() diff --git a/node/hello/hello.go b/node/hello/hello.go index e05b8a48287..cd1645d3e1a 100644 --- a/node/hello/hello.go +++ b/node/hello/hello.go @@ -29,6 +29,7 @@ import ( const ProtocolID = "/fil/hello/1.0.0" var log = logging.Logger("hello") +var streamDeadline = 10 * time.Second type HelloMessage struct { HeaviestTipSet []cid.Cid @@ -70,11 +71,15 @@ func NewHelloService(h host.Host, cs *store.ChainStore, syncer *chain.Syncer, co func (hs *Service) HandleStream(s inet.Stream) { var hmsg HelloMessage + _ = s.SetReadDeadline(time.Now().Add(streamDeadline)) if err := cborutil.ReadCborRPC(s, &hmsg); err != nil { + _ = s.SetReadDeadline(time.Time{}) log.Infow("failed to read hello message, disconnecting", "error", err) _ = s.Conn().Close() return } + _ = s.SetReadDeadline(time.Time{}) + arrived := build.Clock.Now() log.Debugw("genesis from hello", @@ -95,9 +100,11 @@ func (hs *Service) HandleStream(s inet.Stream) { TArrival: arrived.UnixNano(), TSent: sent.UnixNano(), } + _ = s.SetWriteDeadline(time.Now().Add(streamDeadline)) if err := cborutil.WriteCborRPC(s, msg); err != nil { log.Debugf("error while responding to latency: %v", err) } + _ = s.SetWriteDeadline(time.Time{}) }() protos, err := hs.h.Peerstore().GetProtocols(s.Conn().RemotePeer()) @@ -155,9 +162,12 @@ func (hs *Service) SayHello(ctx context.Context, pid peer.ID) error { log.Debug("Sending hello message: ", hts.Cids(), hts.Height(), gen.Cid()) t0 := build.Clock.Now() + _ = s.SetWriteDeadline(time.Now().Add(streamDeadline)) if err := cborutil.WriteCborRPC(s, hmsg); err != nil { + _ = s.SetWriteDeadline(time.Time{}) return xerrors.Errorf("writing rpc to peer: %w", err) } + _ = s.SetWriteDeadline(time.Time{}) if err := s.CloseWrite(); err != nil { log.Warnw("CloseWrite err", "error", err) } diff --git a/node/modules/lp2p/rcmgr.go b/node/modules/lp2p/rcmgr.go index f2b2849863e..92c3bca6f79 100644 --- a/node/modules/lp2p/rcmgr.go +++ b/node/modules/lp2p/rcmgr.go @@ -15,19 +15,22 @@ import ( "github.com/libp2p/go-libp2p/core/peer" "github.com/libp2p/go-libp2p/core/protocol" rcmgr "github.com/libp2p/go-libp2p/p2p/host/resource-manager" + ma "github.com/multiformats/go-multiaddr" + madns "github.com/multiformats/go-multiaddr-dns" "github.com/prometheus/client_golang/prometheus" "go.opencensus.io/stats" "go.opencensus.io/tag" "go.uber.org/fx" "github.com/filecoin-project/lotus/metrics" + "github.com/filecoin-project/lotus/node/modules/dtypes" "github.com/filecoin-project/lotus/node/repo" ) var rcmgrMetricsOnce sync.Once -func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo) (network.ResourceManager, error) { - return func(lc fx.Lifecycle, repo repo.LockedRepo) (network.ResourceManager, error) { +func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo, bs dtypes.BootstrapPeers) (network.ResourceManager, error) { + return func(lc fx.Lifecycle, repo repo.LockedRepo, bs dtypes.BootstrapPeers) (network.ResourceManager, error) { isFullNode := repo.RepoType().Type() == "FullNode" envvar := os.Getenv("LOTUS_RCMGR") if (isFullNode && envvar == "0") || // only set NullResourceManager if envvar is explicitly "0" @@ -133,6 +136,20 @@ func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo) opts = append(opts, rcmgr.WithTrace(traceFile)) } + resolver := madns.DefaultResolver + var bootstrapperMaddrs []ma.Multiaddr + for _, pi := range bs { + for _, addr := range pi.Addrs { + resolved, err := resolver.Resolve(context.Background(), addr) + if err != nil { + continue + } + bootstrapperMaddrs = append(bootstrapperMaddrs, resolved...) + } + } + + opts = append(opts, rcmgr.WithAllowlistedMultiaddrs(bootstrapperMaddrs)) + mgr, err := rcmgr.NewResourceManager(limiter, opts...) if err != nil { return nil, fmt.Errorf("error creating resource manager: %w", err) From c1955923da9293c548d56dfa4a9a461d239e55b0 Mon Sep 17 00:00:00 2001 From: Phi Date: Thu, 16 May 2024 12:54:35 +0200 Subject: [PATCH 11/48] Update changelog and version Update changelog and version --- CHANGELOG.md | 11 ++++++++--- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 2 +- documentation/en/cli-curio.md | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- documentation/en/cli-sptool.md | 2 +- 11 files changed, 18 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd023b2897..49a4a3f84e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ ## Improvements -# v1.27.0-rc2 / 2024-05-07 +# v1.27.0-rc3 / 2024-05-16 -This is the second release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio. +This is the third release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio. ## ☢️ Upgrade Warnings ☢️ @@ -84,6 +84,7 @@ Visit the Curio Official Website insert link - feat: curioweb: Sector info page (#11846) ([filecoin-project/lotus#11846](https://github.com/filecoin-project/lotus/pull/11846)) - feat: curio web: node info page (#11745) ([filecoin-project/lotus#11745](https://github.com/filecoin-project/lotus/pull/11745)) - feat: fvm: optimize FVM lanes a bit (#11875) ([filecoin-project/lotus#11875](https://github.com/filecoin-project/lotus/pull/11875)) +- feat: Gateway API: Add ETH -> FIL and FIL -> ETH address conversion APIs to the Gateway (#11979) ([filecoin-project/lotus#11979](https://github.com/filecoin-project/lotus/pull/11979)) ## Improvements @@ -126,7 +127,9 @@ Visit the Curio Official Website insert link - fix: docs: Modify generate-lotus-cli.py to ignoring aliases. ([filecoin-project/lotus#11535](https://github.com/filecoin-project/lotus/pull/11535)) - fix: eth: decode as actor creation iff "to" is the EAM (#11520) ([filecoin-project/lotus#11520](https://github.com/filecoin-project/lotus/pull/11520)) - fix(events): properly decorate events db errors (#11856) ([filecoin-project/lotus#11856](https://github.com/filecoin-project/lotus/pull/11856)) -- fix: CLI: adjust TermMax for extend-claim used by a different client (#11764) ([filecoin-project/lotus#11764](https://github.com/filecoin-project/lotus/pull/11764)) +- fix: CLI: adjust TermMax for extend-claim used by a different client (#11764) ([filecoin-project/lotus#11764](https://github.com/filecoin-project/lotus/pull/111764)) +- fix: copy Flags field from SectorOnChainInfo (#11963) ([filecoin-project/lotus#11963](https://github.com/filecoin-project/lotus/pull/11963)) +- feat: libp2p: Lotus stream cleanup (#11993) ([filecoin-project/lotus#11993](https://github.com/filecoin-project/lotus/pull/11993)) ## Dependencies @@ -135,6 +138,7 @@ Visit the Curio Official Website insert link - deps: multiaddress ([filecoin-project/lotus#11558](https://github.com/filecoin-project/lotus/pull/11558)) - chore:libp2p: update libp2p deps in master ([filecoin-project/lotus#11522](https://github.com/filecoin-project/lotus/pull/11522)) - dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563)) +- chore: update go-data-transfer and go-graphsync (#12000) ([filecoin-project/lotus#12000](https://github.com/filecoin-project/lotus/pull/2000)) - github.com/filecoin-project/go-amt-ipld/ (v4.2.0 -> v4.3.0) - github.com/filecoin-project/go-state-types (v0.13.1 -> v0.13.3) - github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1) @@ -161,6 +165,7 @@ Visit the Curio Official Website insert link - chore: build: update minimum go version to 1.21.7 (#11652) ([filecoin-project/lotus#11652](https://github.com/filecoin-project/lotus/pull/11652)) - chore: docs: nv-skeleton documentation (#11065) ([filecoin-project/lotus#11065](https://github.com/filecoin-project/lotus/pull/11065)) - chore: Add v13 support to invariants-checker (#11931) ([filecoin-project/lotus#11931](https://github.com/filecoin-project/lotus/pull/11931)) +- chore: remove unmaintained bootstrappers (#11983) ([filecoin-project/lotus#11983](https://github.com/filecoin-project/lotus/pull/11983)) ## Contributors diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 87157d37a61..ef7b9a5418a 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc2" + "version": "1.27.0-rc3" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index b76b39aa813..d1e7d1e518c 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc2" + "version": "1.27.0-rc3" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 7787b6757f2..c8829129931 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc2" + "version": "1.27.0-rc3" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index bb43a2d8aab..48a7a48febf 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc2" + "version": "1.27.0-rc3" }, "methods": [ { diff --git a/build/version.go b/build/version.go index 1da78c798dc..86f296f0268 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.27.0-rc2" +const BuildVersion = "1.27.0-rc3" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-curio.md b/documentation/en/cli-curio.md index a263be38934..00aa26bc6b9 100644 --- a/documentation/en/cli-curio.md +++ b/documentation/en/cli-curio.md @@ -7,7 +7,7 @@ USAGE: curio [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc2 + 1.27.0-rc3 COMMANDS: cli Execute cli commands diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index a1a55743a09..8d304e689e3 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc2 + 1.27.0-rc3 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 26e5323ee05..e7fb3c88a4f 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc2 + 1.27.0-rc3 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index b513f3a34e7..a6a08107b7e 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc2 + 1.27.0-rc3 COMMANDS: daemon Start a lotus daemon process diff --git a/documentation/en/cli-sptool.md b/documentation/en/cli-sptool.md index 302ac014336..3260360d666 100644 --- a/documentation/en/cli-sptool.md +++ b/documentation/en/cli-sptool.md @@ -7,7 +7,7 @@ USAGE: sptool [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc2 + 1.27.0-rc3 COMMANDS: actor Manage Filecoin Miner Actor Metadata From 4a101f40bb0a4e98e4564502d844d690ec4ed4fa Mon Sep 17 00:00:00 2001 From: Piotr Galar Date: Thu, 16 May 2024 12:31:08 +0100 Subject: [PATCH 12/48] ci: deprecate circle ci in favour of github actions (#11786) --- .circleci/config.yml | 1377 ------------------ .circleci/gen.go | 156 -- .circleci/template.yml | 753 ---------- .github/actions/export-circle-env/action.yml | 14 - .github/workflows/docker.yml | 4 +- .github/workflows/release.yml | 6 +- .github/workflows/test.yml | 14 - .goreleaser.yaml | 6 +- Makefile | 35 +- README.md | 14 +- scripts/publish-checksums.sh | 19 +- scripts/version-check.sh | 6 +- storage/sealer/README.md | 3 +- 13 files changed, 61 insertions(+), 2346 deletions(-) delete mode 100644 .circleci/config.yml delete mode 100644 .circleci/gen.go delete mode 100644 .circleci/template.yml delete mode 100644 .github/actions/export-circle-env/action.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index be70019a3be..00000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,1377 +0,0 @@ -version: 2.1 -orbs: - aws-cli: circleci/aws-cli@4.1.1 - docker: circleci/docker@2.3.0 - -executors: - golang: - docker: - # Must match GO_VERSION_MIN in project root - - image: cimg/go:1.21.7 - resource_class: medium+ - golang-2xl: - docker: - # Must match GO_VERSION_MIN in project root - - image: cimg/go:1.21.7 - resource_class: 2xlarge - ubuntu: - docker: - - image: ubuntu:20.04 - -commands: - build-platform-specific: - parameters: - linux: - default: true - description: is a linux build environment? - type: boolean - darwin: - default: false - description: is a darwin build environment? - type: boolean - darwin-architecture: - default: "amd64" - description: which darwin architecture is being used? - type: string - steps: - - checkout - - git_fetch_all_tags - - run: git submodule sync - - run: git submodule update --init - - when: - condition: <> - steps: - - install-ubuntu-deps - - check-go-version - - when: - condition: <> - steps: - - run: - name: Install Go - command: | - curl https://dl.google.com/go/go`cat GO_VERSION_MIN`.darwin-<>.pkg -o /tmp/go.pkg && \ - sudo installer -pkg /tmp/go.pkg -target / - - run: - name: Export Go - command: | - echo 'export GOPATH="${HOME}/go"' >> $BASH_ENV - - run: go version - - run: - name: Install dependencies with Homebrew - command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config coreutils jq hwloc - - run: - name: Install Rust - command: | - curl https://sh.rustup.rs -sSf | sh -s -- -y - - run: make deps - download-params: - steps: - - restore_cache: - name: Restore parameters cache - keys: - - 'v26-2k-lotus-params' - - run: ./lotus fetch-params 2048 - - save_cache: - name: Save parameters cache - key: 'v26-2k-lotus-params' - paths: - - /var/tmp/filecoin-proof-parameters/ - install_ipfs: - steps: - - run: | - curl -O https://dist.ipfs.tech/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz - tar -xvzf kubo_v0.16.0_linux-amd64.tar.gz - pushd kubo - sudo bash install.sh - popd - rm -rf kubo - rm kubo_v0.16.0_linux-amd64.tar.gz - git_fetch_all_tags: - steps: - - run: - name: fetch all tags - command: | - git fetch --all - install-ubuntu-deps: - steps: - - run: sudo apt install curl ca-certificates gnupg - - run: sudo apt-get update - - run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev - check-go-version: - steps: - - run: | - v=`go version | { read _ _ v _; echo ${v#go}; }` - if [[ $v != `cat GO_VERSION_MIN` ]]; then - echo "GO_VERSION_MIN file does not match the go version being used." - echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v." - exit 1 - fi - -jobs: - build: - executor: golang - working_directory: ~/lotus - steps: - - checkout - - git_fetch_all_tags - - run: git submodule sync - - run: git submodule update --init - - install-ubuntu-deps - - check-go-version - - run: make deps lotus - - persist_to_workspace: - root: ~/ - paths: - - "lotus" - mod-tidy-check: - executor: golang - working_directory: ~/lotus - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: go mod tidy -v - - run: - name: Check git diff - command: | - git --no-pager diff go.mod go.sum - git --no-pager diff --quiet go.mod go.sum - - test: - description: | - Run tests with gotestsum. - working_directory: ~/lotus - parameters: &test-params - resource_class: - type: string - default: medium+ - go-test-flags: - type: string - default: "-timeout 20m" - description: Flags passed to go test. - target: - type: string - default: "./..." - description: Import paths of packages to be tested. - proofs-log-test: - type: string - default: "0" - get-params: - type: boolean - default: false - suite: - type: string - default: unit - description: Test suite name to report to CircleCI. - docker: - - image: cimg/go:1.21 - environment: - LOTUS_HARMONYDB_HOSTS: yugabyte - - image: yugabytedb/yugabyte:2.18.0.0-b65 - command: bin/yugabyted start --daemon=false - name: yugabyte - resource_class: << parameters.resource_class >> - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - when: - condition: << parameters.get-params >> - steps: - - download-params - - run: - name: go test - environment: - TEST_RUSTPROOFS_LOGS: << parameters.proofs-log-test >> - SKIP_CONFORMANCE: "1" - LOTUS_SRC_DIR: /home/circleci/project - command: | - mkdir -p /tmp/test-reports/<< parameters.suite >> - mkdir -p /tmp/test-artifacts - dockerize -wait tcp://yugabyte:5433 -timeout 3m - env - gotestsum \ - --format standard-verbose \ - --junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \ - --jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \ - --packages="<< parameters.target >>" \ - -- << parameters.go-test-flags >> - no_output_timeout: 30m - - store_test_results: - path: /tmp/test-reports - - store_artifacts: - path: /tmp/test-artifacts/<< parameters.suite >>.json - - test-conformance: - working_directory: ~/lotus - description: | - Run tests using a corpus of interoperable test vectors for Filecoin - implementations to test their correctness and compliance with the Filecoin - specifications. - parameters: - <<: *test-params - vectors-branch: - type: string - default: "" - description: | - Branch on github.com/filecoin-project/test-vectors to checkout and - test with. If empty (the default) the commit defined by the git - submodule is used. - docker: - - image: cimg/go:1.21 - resource_class: << parameters.resource_class >> - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - download-params - - when: - condition: - not: - equal: [ "", << parameters.vectors-branch >> ] - steps: - - run: - name: checkout vectors branch - command: | - cd extern/test-vectors - git fetch - git checkout origin/<< parameters.vectors-branch >> - - run: - name: install statediff globally - command: | - ## statediff is optional; we succeed even if compilation fails. - mkdir -p /tmp/statediff - git clone https://github.com/filecoin-project/statediff.git /tmp/statediff - cd /tmp/statediff - go install ./cmd/statediff || exit 0 - - run: - name: go test - environment: - SKIP_CONFORMANCE: "0" - command: | - mkdir -p /tmp/test-reports - mkdir -p /tmp/test-artifacts - gotestsum \ - --format pkgname-and-test-fails \ - --junitfile /tmp/test-reports/junit.xml \ - -- \ - -v -coverpkg ./chain/vm/,github.com/filecoin-project/specs-actors/... -coverprofile=/tmp/conformance.out ./conformance/ - go tool cover -html=/tmp/conformance.out -o /tmp/test-artifacts/conformance-coverage.html - no_output_timeout: 30m - - store_test_results: - path: /tmp/test-reports - - store_artifacts: - path: /tmp/test-artifacts/conformance-coverage.html - - build-linux-amd64: - executor: golang - steps: - - build-platform-specific - - run: make lotus lotus-miner lotus-worker - - run: - name: check tag and version output match - command: ./scripts/version-check.sh ./lotus - - run: | - mkdir -p /tmp/workspace/linux_amd64_v1 && \ - mv lotus lotus-miner lotus-worker /tmp/workspace/linux_amd64_v1/ - - persist_to_workspace: - root: /tmp/workspace - paths: - - linux_amd64_v1 - - build-darwin-amd64: - description: build darwin lotus binary - working_directory: ~/go/src/github.com/filecoin-project/lotus - macos: - xcode: "13.4.1" - steps: - - build-platform-specific: - linux: false - darwin: true - darwin-architecture: amd64 - - run: make lotus lotus-miner lotus-worker - - run: otool -hv lotus - - run: - name: check tag and version output match - command: ./scripts/version-check.sh ./lotus - - run: | - mkdir -p /tmp/workspace/darwin_amd64_v1 && \ - mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_amd64_v1/ - - persist_to_workspace: - root: /tmp/workspace - paths: - - darwin_amd64_v1 - - build-darwin-arm64: - description: self-hosted m1 runner - working_directory: ~/go/src/github.com/filecoin-project/lotus - machine: true - resource_class: filecoin-project/self-hosted-m1 - steps: - - run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV" - - build-platform-specific: - linux: false - darwin: true - darwin-architecture: arm64 - - run: | - export CPATH=$(brew --prefix)/include && export LIBRARY_PATH=$(brew --prefix)/lib && make lotus lotus-miner lotus-worker - - run: otool -hv lotus - - run: - name: check tag and version output match - command: ./scripts/version-check.sh ./lotus - - run: | - mkdir -p /tmp/workspace/darwin_arm64 && \ - mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_arm64/ - - persist_to_workspace: - root: /tmp/workspace - paths: - - darwin_arm64 - - run: - command: make clean - when: always - - run: - name: cleanup homebrew - command: HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall pkg-config coreutils jq hwloc - when: always - - release: - executor: golang - parameters: - dry-run: - default: false - description: should this release actually publish it's artifacts? - type: boolean - steps: - - checkout - - run: | - echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list - sudo apt update - sudo apt install goreleaser-pro - - install_ipfs - - attach_workspace: - at: /tmp/workspace - - when: - condition: << parameters.dry-run >> - steps: - - run: goreleaser release --rm-dist --snapshot --debug - - run: ./scripts/generate-checksums.sh - - when: - condition: - not: << parameters.dry-run >> - steps: - - run: goreleaser release --rm-dist --debug - - run: ./scripts/generate-checksums.sh - - run: ./scripts/publish-checksums.sh - - gofmt: - executor: golang - working_directory: ~/lotus - steps: - - run: - command: "! go fmt ./... 2>&1 | read" - - gen-check: - executor: golang - working_directory: ~/lotus - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: go install golang.org/x/tools/cmd/goimports - - run: go install github.com/hannahhoward/cbor-gen-for - - run: make gen - - run: git --no-pager diff && git --no-pager diff --quiet - - run: make docsgen-cli - - run: git --no-pager diff && git --no-pager diff --quiet - - docs-check: - executor: golang - working_directory: ~/lotus - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: go install golang.org/x/tools/cmd/goimports - - run: make docsgen - - run: git --no-pager diff && git --no-pager diff --quiet - - lint-all: - description: | - Run golangci-lint. - working_directory: ~/lotus - parameters: - args: - type: string - default: '' - description: | - Arguments to pass to golangci-lint - docker: - - image: cimg/go:1.21 - resource_class: medium+ - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: - name: Lint - command: | - golangci-lint run -v --timeout 10m \ - --concurrency 4 << parameters.args >> - - build-docker: - description: > - Publish to Dockerhub - executor: docker/docker - parameters: - image: - type: string - default: lotus - description: > - Passed to the docker build process to determine which image in the - Dockerfile should be built. Expected values are `lotus`, - `lotus-all-in-one` - network: - type: string - default: "mainnet" - description: > - Passed to the docker build process using GOFLAGS+=-tags=<>. - Expected values are `debug`, `2k`, `calibnet`, `butterflynet`, - `interopnet`. - channel: - type: string - default: "" - description: > - The release channel to use for this image. - push: - type: boolean - default: false - description: > - When true, pushes the image to Dockerhub - steps: - - setup_remote_docker - - checkout - - git_fetch_all_tags - - run: git submodule sync - - run: git submodule update --init - - - docker/check: - docker-username: DOCKERHUB_USERNAME - docker-password: DOCKERHUB_PASSWORD - - when: - condition: - equal: [ mainnet, <> ] - steps: - - when: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> - tag: <> - - run: - name: Docker push - command: | - docker push filecoin/<>:<> - if [[ ! -z $CIRCLE_SHA ]]; then - docker image tag filecoin/<>:<> filecoin/<>:"${CIRCLE_SHA:0:7}" - docker push filecoin/<>:"${CIRCLE_SHA:0:7}" - fi - if [[ ! -z $CIRCLE_TAG ]]; then - docker image tag filecoin/<>:<> filecoin/<>:"${CIRCLE_TAG}" - docker push filecoin/<>:"${CIRCLE_TAG}" - fi - - unless: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> - - when: - condition: - not: - equal: [ mainnet, <> ] - steps: - - when: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> --build-arg GOFLAGS=-tags=<> - tag: <>-<> - - run: - name: Docker push - command: | - docker push filecoin/<>:<>-<> - if [[ ! -z $CIRCLE_SHA ]]; then - docker image tag filecoin/<>:<>-<> filecoin/<>:"${CIRCLE_SHA:0:7}"-<> - docker push filecoin/<>:"${CIRCLE_SHA:0:7}"-<> - fi - if [[ ! -z $CIRCLE_TAG ]]; then - docker image tag filecoin/<>:<>-<> filecoin/<>:"${CIRCLE_TAG}"-<> - docker push filecoin/<>:"${CIRCLE_TAG}"-<> - fi - - unless: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> --build-arg GOFLAGS=-tags=<> - -workflows: - ci: - jobs: - - build - - lint-all: - requires: - - build - - mod-tidy-check: - requires: - - build - - gofmt: - requires: - - build - - gen-check: - requires: - - build - - docs-check: - requires: - - build - - test: - name: test-itest-api - requires: - - build - suite: itest-api - target: "./itests/api_test.go" - - test: - name: test-itest-batch_deal - requires: - - build - suite: itest-batch_deal - target: "./itests/batch_deal_test.go" - - test: - name: test-itest-cli - requires: - - build - suite: itest-cli - target: "./itests/cli_test.go" - - test: - name: test-itest-curio - requires: - - build - suite: itest-curio - target: "./itests/curio_test.go" - - test: - name: test-itest-deadlines - requires: - - build - suite: itest-deadlines - target: "./itests/deadlines_test.go" - - test: - name: test-itest-deals_512mb - requires: - - build - suite: itest-deals_512mb - target: "./itests/deals_512mb_test.go" - - test: - name: test-itest-deals_anycid - requires: - - build - suite: itest-deals_anycid - target: "./itests/deals_anycid_test.go" - - test: - name: test-itest-deals_concurrent - requires: - - build - suite: itest-deals_concurrent - target: "./itests/deals_concurrent_test.go" - resource_class: 2xlarge - - test: - name: test-itest-deals_invalid_utf8_label - requires: - - build - suite: itest-deals_invalid_utf8_label - target: "./itests/deals_invalid_utf8_label_test.go" - - test: - name: test-itest-deals_max_staging_deals - requires: - - build - suite: itest-deals_max_staging_deals - target: "./itests/deals_max_staging_deals_test.go" - - test: - name: test-itest-deals_offline - requires: - - build - suite: itest-deals_offline - target: "./itests/deals_offline_test.go" - - test: - name: test-itest-deals_padding - requires: - - build - suite: itest-deals_padding - target: "./itests/deals_padding_test.go" - - test: - name: test-itest-deals_partial_retrieval_dm-level - requires: - - build - suite: itest-deals_partial_retrieval_dm-level - target: "./itests/deals_partial_retrieval_dm-level_test.go" - - test: - name: test-itest-deals_partial_retrieval - requires: - - build - suite: itest-deals_partial_retrieval - target: "./itests/deals_partial_retrieval_test.go" - - test: - name: test-itest-deals_power - requires: - - build - suite: itest-deals_power - target: "./itests/deals_power_test.go" - - test: - name: test-itest-deals_pricing - requires: - - build - suite: itest-deals_pricing - target: "./itests/deals_pricing_test.go" - - test: - name: test-itest-deals_publish - requires: - - build - suite: itest-deals_publish - target: "./itests/deals_publish_test.go" - - test: - name: test-itest-deals_remote_retrieval - requires: - - build - suite: itest-deals_remote_retrieval - target: "./itests/deals_remote_retrieval_test.go" - - test: - name: test-itest-deals_retry_deal_no_funds - requires: - - build - suite: itest-deals_retry_deal_no_funds - target: "./itests/deals_retry_deal_no_funds_test.go" - - test: - name: test-itest-deals - requires: - - build - suite: itest-deals - target: "./itests/deals_test.go" - - test: - name: test-itest-decode_params - requires: - - build - suite: itest-decode_params - target: "./itests/decode_params_test.go" - - test: - name: test-itest-direct_data_onboard - requires: - - build - suite: itest-direct_data_onboard - target: "./itests/direct_data_onboard_test.go" - - test: - name: test-itest-direct_data_onboard_verified - requires: - - build - suite: itest-direct_data_onboard_verified - target: "./itests/direct_data_onboard_verified_test.go" - - test: - name: test-itest-dup_mpool_messages - requires: - - build - suite: itest-dup_mpool_messages - target: "./itests/dup_mpool_messages_test.go" - - test: - name: test-itest-eth_account_abstraction - requires: - - build - suite: itest-eth_account_abstraction - target: "./itests/eth_account_abstraction_test.go" - - test: - name: test-itest-eth_api - requires: - - build - suite: itest-eth_api - target: "./itests/eth_api_test.go" - - test: - name: test-itest-eth_balance - requires: - - build - suite: itest-eth_balance - target: "./itests/eth_balance_test.go" - - test: - name: test-itest-eth_block_hash - requires: - - build - suite: itest-eth_block_hash - target: "./itests/eth_block_hash_test.go" - - test: - name: test-itest-eth_bytecode - requires: - - build - suite: itest-eth_bytecode - target: "./itests/eth_bytecode_test.go" - - test: - name: test-itest-eth_config - requires: - - build - suite: itest-eth_config - target: "./itests/eth_config_test.go" - - test: - name: test-itest-eth_conformance - requires: - - build - suite: itest-eth_conformance - target: "./itests/eth_conformance_test.go" - - test: - name: test-itest-eth_deploy - requires: - - build - suite: itest-eth_deploy - target: "./itests/eth_deploy_test.go" - - test: - name: test-itest-eth_fee_history - requires: - - build - suite: itest-eth_fee_history - target: "./itests/eth_fee_history_test.go" - - test: - name: test-itest-eth_filter - requires: - - build - suite: itest-eth_filter - target: "./itests/eth_filter_test.go" - - test: - name: test-itest-eth_hash_lookup - requires: - - build - suite: itest-eth_hash_lookup - target: "./itests/eth_hash_lookup_test.go" - - test: - name: test-itest-eth_transactions - requires: - - build - suite: itest-eth_transactions - target: "./itests/eth_transactions_test.go" - - test: - name: test-itest-fevm_address - requires: - - build - suite: itest-fevm_address - target: "./itests/fevm_address_test.go" - - test: - name: test-itest-fevm_events - requires: - - build - suite: itest-fevm_events - target: "./itests/fevm_events_test.go" - - test: - name: test-itest-fevm - requires: - - build - suite: itest-fevm - target: "./itests/fevm_test.go" - - test: - name: test-itest-gas_estimation - requires: - - build - suite: itest-gas_estimation - target: "./itests/gas_estimation_test.go" - - test: - name: test-itest-gateway - requires: - - build - suite: itest-gateway - target: "./itests/gateway_test.go" - - test: - name: test-itest-get_messages_in_ts - requires: - - build - suite: itest-get_messages_in_ts - target: "./itests/get_messages_in_ts_test.go" - - test: - name: test-itest-harmonydb - requires: - - build - suite: itest-harmonydb - target: "./itests/harmonydb_test.go" - - test: - name: test-itest-harmonytask - requires: - - build - suite: itest-harmonytask - target: "./itests/harmonytask_test.go" - - test: - name: test-itest-lite_migration - requires: - - build - suite: itest-lite_migration - target: "./itests/lite_migration_test.go" - - test: - name: test-itest-lookup_robust_address - requires: - - build - suite: itest-lookup_robust_address - target: "./itests/lookup_robust_address_test.go" - - test: - name: test-itest-mempool - requires: - - build - suite: itest-mempool - target: "./itests/mempool_test.go" - - test: - name: test-itest-migration - requires: - - build - suite: itest-migration - target: "./itests/migration_test.go" - - test: - name: test-itest-mpool_msg_uuid - requires: - - build - suite: itest-mpool_msg_uuid - target: "./itests/mpool_msg_uuid_test.go" - - test: - name: test-itest-mpool_push_with_uuid - requires: - - build - suite: itest-mpool_push_with_uuid - target: "./itests/mpool_push_with_uuid_test.go" - - test: - name: test-itest-msgindex - requires: - - build - suite: itest-msgindex - target: "./itests/msgindex_test.go" - - test: - name: test-itest-multisig - requires: - - build - suite: itest-multisig - target: "./itests/multisig_test.go" - - test: - name: test-itest-net - requires: - - build - suite: itest-net - target: "./itests/net_test.go" - - test: - name: test-itest-nonce - requires: - - build - suite: itest-nonce - target: "./itests/nonce_test.go" - - test: - name: test-itest-path_detach_redeclare - requires: - - build - suite: itest-path_detach_redeclare - target: "./itests/path_detach_redeclare_test.go" - - test: - name: test-itest-path_type_filters - requires: - - build - suite: itest-path_type_filters - target: "./itests/path_type_filters_test.go" - - test: - name: test-itest-paych_api - requires: - - build - suite: itest-paych_api - target: "./itests/paych_api_test.go" - - test: - name: test-itest-paych_cli - requires: - - build - suite: itest-paych_cli - target: "./itests/paych_cli_test.go" - - test: - name: test-itest-pending_deal_allocation - requires: - - build - suite: itest-pending_deal_allocation - target: "./itests/pending_deal_allocation_test.go" - - test: - name: test-itest-remove_verifreg_datacap - requires: - - build - suite: itest-remove_verifreg_datacap - target: "./itests/remove_verifreg_datacap_test.go" - - test: - name: test-itest-sealing_resources - requires: - - build - suite: itest-sealing_resources - target: "./itests/sealing_resources_test.go" - - test: - name: test-itest-sector_finalize_early - requires: - - build - suite: itest-sector_finalize_early - target: "./itests/sector_finalize_early_test.go" - - test: - name: test-itest-sector_import_full - requires: - - build - suite: itest-sector_import_full - target: "./itests/sector_import_full_test.go" - - test: - name: test-itest-sector_import_simple - requires: - - build - suite: itest-sector_import_simple - target: "./itests/sector_import_simple_test.go" - - test: - name: test-itest-sector_miner_collateral - requires: - - build - suite: itest-sector_miner_collateral - target: "./itests/sector_miner_collateral_test.go" - - test: - name: test-itest-sector_numassign - requires: - - build - suite: itest-sector_numassign - target: "./itests/sector_numassign_test.go" - - test: - name: test-itest-sector_pledge - requires: - - build - suite: itest-sector_pledge - target: "./itests/sector_pledge_test.go" - resource_class: 2xlarge - get-params: true - - - test: - name: test-itest-sector_terminate - requires: - - build - suite: itest-sector_terminate - target: "./itests/sector_terminate_test.go" - - test: - name: test-itest-sector_unseal - requires: - - build - suite: itest-sector_unseal - target: "./itests/sector_unseal_test.go" - - test: - name: test-itest-self_sent_txn - requires: - - build - suite: itest-self_sent_txn - target: "./itests/self_sent_txn_test.go" - - test: - name: test-itest-splitstore - requires: - - build - suite: itest-splitstore - target: "./itests/splitstore_test.go" - - test: - name: test-itest-verifreg - requires: - - build - suite: itest-verifreg - target: "./itests/verifreg_test.go" - - test: - name: test-itest-wdpost_config - requires: - - build - suite: itest-wdpost_config - target: "./itests/wdpost_config_test.go" - - test: - name: test-itest-wdpost_dispute - requires: - - build - suite: itest-wdpost_dispute - target: "./itests/wdpost_dispute_test.go" - - test: - name: test-itest-wdpost_no_miner_storage - requires: - - build - suite: itest-wdpost_no_miner_storage - target: "./itests/wdpost_no_miner_storage_test.go" - - test: - name: test-itest-wdpost - requires: - - build - suite: itest-wdpost - target: "./itests/wdpost_test.go" - get-params: true - - - test: - name: test-itest-wdpost_worker_config - requires: - - build - suite: itest-wdpost_worker_config - target: "./itests/wdpost_worker_config_test.go" - resource_class: 2xlarge - - test: - name: test-itest-worker - requires: - - build - suite: itest-worker - target: "./itests/worker_test.go" - resource_class: 2xlarge - - test: - name: test-itest-worker_upgrade - requires: - - build - suite: itest-worker_upgrade - target: "./itests/worker_upgrade_test.go" - - test: - name: test-unit-cli - requires: - - build - suite: utest-unit-cli - target: "./cli/... ./cmd/... ./api/..." - resource_class: 2xlarge - get-params: true - - test: - name: test-unit-node - requires: - - build - suite: utest-unit-node - target: "./node/..." - - test: - name: test-unit-rest - requires: - - build - suite: utest-unit-rest - target: "./blockstore/... ./build/... ./chain/... ./conformance/... ./curiosrc/... ./gateway/... ./journal/... ./lib/... ./markets/... ./paychmgr/... ./tools/..." - resource_class: 2xlarge - - test: - name: test-unit-storage - requires: - - build - suite: utest-unit-storage - target: "./storage/... ./extern/..." - get-params: true - - test: - go-test-flags: "-run=TestMulticoreSDR" - requires: - - build - suite: multicore-sdr-check - target: "./storage/sealer/ffiwrapper" - proofs-log-test: "1" - - test-conformance: - requires: - - build - suite: conformance - target: "./conformance" - - release: - jobs: - - build-linux-amd64: - name: "Build ( linux / amd64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-darwin-amd64: - name: "Build ( darwin / amd64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-darwin-arm64: - name: "Build ( darwin / arm64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - release: - name: "Release" - requires: - - "Build ( darwin / amd64 )" - - "Build ( linux / amd64 )" - - "Build ( darwin / arm64 )" - filters: - branches: - ignore: - - /^.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - release: - name: "Release (dry-run)" - dry-run: true - requires: - - "Build ( darwin / amd64 )" - - "Build ( linux / amd64 )" - - "Build ( darwin / arm64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - - build-docker: - name: "Docker push (lotus-all-in-one / stable / mainnet)" - image: lotus-all-in-one - channel: stable - network: mainnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / candidate / mainnet)" - image: lotus-all-in-one - channel: candidate - network: mainnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / edge / mainnet)" - image: lotus-all-in-one - channel: master - network: mainnet - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus-all-in-one / mainnet)" - image: lotus-all-in-one - network: mainnet - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-docker: - name: "Docker push (lotus-all-in-one / stable / butterflynet)" - image: lotus-all-in-one - channel: stable - network: butterflynet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / candidate / butterflynet)" - image: lotus-all-in-one - channel: candidate - network: butterflynet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / edge / butterflynet)" - image: lotus-all-in-one - channel: master - network: butterflynet - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus-all-in-one / butterflynet)" - image: lotus-all-in-one - network: butterflynet - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-docker: - name: "Docker push (lotus-all-in-one / stable / calibnet)" - image: lotus-all-in-one - channel: stable - network: calibnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / candidate / calibnet)" - image: lotus-all-in-one - channel: candidate - network: calibnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / edge / calibnet)" - image: lotus-all-in-one - channel: master - network: calibnet - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus-all-in-one / calibnet)" - image: lotus-all-in-one - network: calibnet - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-docker: - name: "Docker push (lotus-all-in-one / stable / debug)" - image: lotus-all-in-one - channel: stable - network: debug - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / candidate / debug)" - image: lotus-all-in-one - channel: candidate - network: debug - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / edge / debug)" - image: lotus-all-in-one - channel: master - network: debug - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus-all-in-one / debug)" - image: lotus-all-in-one - network: debug - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-docker: - name: "Docker push (lotus / stable / mainnet)" - image: lotus - channel: stable - network: mainnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus / candidate / mainnet)" - image: lotus - channel: candidate - network: mainnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus / master / mainnet)" - image: lotus - channel: master - network: mainnet - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus / mainnet)" - image: lotus - network: mainnet - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - nightly: - triggers: - - schedule: - cron: "0 0 * * *" - filters: - branches: - only: - - master - jobs: - - build-docker: - name: "Docker (lotus-all-in-one / nightly / mainnet)" - image: lotus-all-in-one - channel: nightly - network: mainnet - push: true - - build-docker: - name: "Docker (lotus-all-in-one / nightly / butterflynet)" - image: lotus-all-in-one - channel: nightly - network: butterflynet - push: true - - build-docker: - name: "Docker (lotus-all-in-one / nightly / calibnet)" - image: lotus-all-in-one - channel: nightly - network: calibnet - push: true - - build-docker: - name: "Docker (lotus-all-in-one / nightly / debug)" - image: lotus-all-in-one - channel: nightly - network: debug - push: true diff --git a/.circleci/gen.go b/.circleci/gen.go deleted file mode 100644 index 19329247a83..00000000000 --- a/.circleci/gen.go +++ /dev/null @@ -1,156 +0,0 @@ -package main - -import ( - "embed" - "fmt" - "os" - "path/filepath" - "sort" - "strings" - "text/template" -) - -var GoVersion = "" // from init below. Ex: 1.19.7 - -//go:generate go run ./gen.go .. - -//go:embed template.yml -var templateFile embed.FS - -func init() { - b, err := os.ReadFile("../go.mod") - if err != nil { - panic("cannot find go.mod in parent folder") - } - for _, line := range strings.Split(string(b), "\n") { - if strings.HasPrefix(line, "go ") { - GoVersion = line[3:] - } - } -} - -type ( - dirs = []string - suite = string -) - -// groupedUnitTests maps suite names to top-level directories that should be -// included in that suite. The program adds an implicit group "rest" that -// includes all other top-level directories. -var groupedUnitTests = map[suite]dirs{ - "unit-node": {"node"}, - "unit-storage": {"storage", "extern"}, - "unit-cli": {"cli", "cmd", "api"}, -} - -func main() { - if len(os.Args) != 2 { - panic("expected path to repo as argument") - } - - repo := os.Args[1] - - tmpl := template.New("template.yml") - tmpl.Delims("[[", "]]") - tmpl.Funcs(template.FuncMap{ - "stripSuffix": func(in string) string { - return strings.TrimSuffix(in, "_test.go") - }, - }) - tmpl = template.Must(tmpl.ParseFS(templateFile, "*")) - - // list all itests. - itests, err := filepath.Glob(filepath.Join(repo, "./itests/*_test.go")) - if err != nil { - panic(err) - } - - // strip the dir from all entries. - for i, f := range itests { - itests[i] = filepath.Base(f) - } - - // calculate the exclusion set of unit test directories to exclude because - // they are already included in a grouped suite. - var excluded = map[string]struct{}{} - for _, ss := range groupedUnitTests { - for _, s := range ss { - e, err := filepath.Abs(filepath.Join(repo, s)) - if err != nil { - panic(err) - } - // Redundantly flag both absolute and relative paths as excluded - excluded[filepath.Join(repo, s)] = struct{}{} - excluded[e] = struct{}{} - } - } - - // all unit tests top-level dirs that are not itests, nor included in other suites. - var rest = map[string]struct{}{} - err = filepath.Walk(repo, func(path string, f os.FileInfo, err error) error { - // include all tests that aren't in the itests directory. - if strings.Contains(path, "itests") { - return filepath.SkipDir - } - // exclude all tests included in other suites - if f.IsDir() { - if _, ok := excluded[path]; ok { - return filepath.SkipDir - } - } - if strings.HasSuffix(path, "_test.go") { - rel, err := filepath.Rel(repo, path) - if err != nil { - panic(err) - } - // take the first directory - rest[strings.Split(rel, string(os.PathSeparator))[0]] = struct{}{} - } - return err - }) - if err != nil { - panic(err) - } - - // add other directories to a 'rest' suite. - for k := range rest { - groupedUnitTests["unit-rest"] = append(groupedUnitTests["unit-rest"], k) - } - - // map iteration guarantees no order, so sort the array in-place. - sort.Strings(groupedUnitTests["unit-rest"]) - - // form the input data. - type data struct { - Networks []string - ItestFiles []string - UnitSuites map[string]string - GoVersion string - } - in := data{ - Networks: []string{"mainnet", "butterflynet", "calibnet", "debug"}, - ItestFiles: itests, - UnitSuites: func() map[string]string { - ret := make(map[string]string) - for name, dirs := range groupedUnitTests { - for i, d := range dirs { - dirs[i] = fmt.Sprintf("./%s/...", d) // turn into package - } - ret[name] = strings.Join(dirs, " ") - } - return ret - }(), - GoVersion: GoVersion, - } - - out, err := os.Create("./config.yml") - if err != nil { - panic(err) - } - defer out.Close() - - // execute the template. - if err := tmpl.Execute(out, in); err != nil { - panic(err) - } -} diff --git a/.circleci/template.yml b/.circleci/template.yml deleted file mode 100644 index b7462b0275b..00000000000 --- a/.circleci/template.yml +++ /dev/null @@ -1,753 +0,0 @@ -version: 2.1 -orbs: - aws-cli: circleci/aws-cli@4.1.1 - docker: circleci/docker@2.3.0 - -executors: - golang: - docker: - # Must match GO_VERSION_MIN in project root - - image: cimg/go:1.21.7 - resource_class: medium+ - golang-2xl: - docker: - # Must match GO_VERSION_MIN in project root - - image: cimg/go:1.21.7 - resource_class: 2xlarge - ubuntu: - docker: - - image: ubuntu:20.04 - -commands: - build-platform-specific: - parameters: - linux: - default: true - description: is a linux build environment? - type: boolean - darwin: - default: false - description: is a darwin build environment? - type: boolean - darwin-architecture: - default: "amd64" - description: which darwin architecture is being used? - type: string - steps: - - checkout - - git_fetch_all_tags - - run: git submodule sync - - run: git submodule update --init - - when: - condition: <> - steps: - - install-ubuntu-deps - - check-go-version - - when: - condition: <> - steps: - - run: - name: Install Go - command: | - curl https://dl.google.com/go/go`cat GO_VERSION_MIN`.darwin-<>.pkg -o /tmp/go.pkg && \ - sudo installer -pkg /tmp/go.pkg -target / - - run: - name: Export Go - command: | - echo 'export GOPATH="${HOME}/go"' >> $BASH_ENV - - run: go version - - run: - name: Install dependencies with Homebrew - command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config coreutils jq hwloc - - run: - name: Install Rust - command: | - curl https://sh.rustup.rs -sSf | sh -s -- -y - - run: make deps - download-params: - steps: - - restore_cache: - name: Restore parameters cache - keys: - - 'v26-2k-lotus-params' - - run: ./lotus fetch-params 2048 - - save_cache: - name: Save parameters cache - key: 'v26-2k-lotus-params' - paths: - - /var/tmp/filecoin-proof-parameters/ - install_ipfs: - steps: - - run: | - curl -O https://dist.ipfs.tech/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz - tar -xvzf kubo_v0.16.0_linux-amd64.tar.gz - pushd kubo - sudo bash install.sh - popd - rm -rf kubo - rm kubo_v0.16.0_linux-amd64.tar.gz - git_fetch_all_tags: - steps: - - run: - name: fetch all tags - command: | - git fetch --all - install-ubuntu-deps: - steps: - - run: sudo apt install curl ca-certificates gnupg - - run: sudo apt-get update - - run: sudo apt-get install ocl-icd-opencl-dev libhwloc-dev - check-go-version: - steps: - - run: | - v=`go version | { read _ _ v _; echo ${v#go}; }` - if [["[[ $v != `cat GO_VERSION_MIN` ]]"]]; then - echo "GO_VERSION_MIN file does not match the go version being used." - echo "Please update image to cimg/go:`cat GO_VERSION_MIN` or update GO_VERSION_MIN to $v." - exit 1 - fi - -jobs: - build: - executor: golang - working_directory: ~/lotus - steps: - - checkout - - git_fetch_all_tags - - run: git submodule sync - - run: git submodule update --init - - install-ubuntu-deps - - check-go-version - - run: make deps lotus - - persist_to_workspace: - root: ~/ - paths: - - "lotus" - mod-tidy-check: - executor: golang - working_directory: ~/lotus - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: go mod tidy -v - - run: - name: Check git diff - command: | - git --no-pager diff go.mod go.sum - git --no-pager diff --quiet go.mod go.sum - - test: - description: | - Run tests with gotestsum. - working_directory: ~/lotus - parameters: &test-params - resource_class: - type: string - default: medium+ - go-test-flags: - type: string - default: "-timeout 20m" - description: Flags passed to go test. - target: - type: string - default: "./..." - description: Import paths of packages to be tested. - proofs-log-test: - type: string - default: "0" - get-params: - type: boolean - default: false - suite: - type: string - default: unit - description: Test suite name to report to CircleCI. - docker: - - image: cimg/go:[[ .GoVersion]] - environment: - LOTUS_HARMONYDB_HOSTS: yugabyte - - image: yugabytedb/yugabyte:2.18.0.0-b65 - command: bin/yugabyted start --daemon=false - name: yugabyte - resource_class: << parameters.resource_class >> - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - when: - condition: << parameters.get-params >> - steps: - - download-params - - run: - name: go test - environment: - TEST_RUSTPROOFS_LOGS: << parameters.proofs-log-test >> - SKIP_CONFORMANCE: "1" - LOTUS_SRC_DIR: /home/circleci/project - command: | - mkdir -p /tmp/test-reports/<< parameters.suite >> - mkdir -p /tmp/test-artifacts - dockerize -wait tcp://yugabyte:5433 -timeout 3m - env - gotestsum \ - --format standard-verbose \ - --junitfile /tmp/test-reports/<< parameters.suite >>/junit.xml \ - --jsonfile /tmp/test-artifacts/<< parameters.suite >>.json \ - --packages="<< parameters.target >>" \ - -- << parameters.go-test-flags >> - no_output_timeout: 30m - - store_test_results: - path: /tmp/test-reports - - store_artifacts: - path: /tmp/test-artifacts/<< parameters.suite >>.json - - test-conformance: - working_directory: ~/lotus - description: | - Run tests using a corpus of interoperable test vectors for Filecoin - implementations to test their correctness and compliance with the Filecoin - specifications. - parameters: - <<: *test-params - vectors-branch: - type: string - default: "" - description: | - Branch on github.com/filecoin-project/test-vectors to checkout and - test with. If empty (the default) the commit defined by the git - submodule is used. - docker: - - image: cimg/go:[[ .GoVersion]] - resource_class: << parameters.resource_class >> - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - download-params - - when: - condition: - not: - equal: [ "", << parameters.vectors-branch >> ] - steps: - - run: - name: checkout vectors branch - command: | - cd extern/test-vectors - git fetch - git checkout origin/<< parameters.vectors-branch >> - - run: - name: install statediff globally - command: | - ## statediff is optional; we succeed even if compilation fails. - mkdir -p /tmp/statediff - git clone https://github.com/filecoin-project/statediff.git /tmp/statediff - cd /tmp/statediff - go install ./cmd/statediff || exit 0 - - run: - name: go test - environment: - SKIP_CONFORMANCE: "0" - command: | - mkdir -p /tmp/test-reports - mkdir -p /tmp/test-artifacts - gotestsum \ - --format pkgname-and-test-fails \ - --junitfile /tmp/test-reports/junit.xml \ - -- \ - -v -coverpkg ./chain/vm/,github.com/filecoin-project/specs-actors/... -coverprofile=/tmp/conformance.out ./conformance/ - go tool cover -html=/tmp/conformance.out -o /tmp/test-artifacts/conformance-coverage.html - no_output_timeout: 30m - - store_test_results: - path: /tmp/test-reports - - store_artifacts: - path: /tmp/test-artifacts/conformance-coverage.html - - build-linux-amd64: - executor: golang - steps: - - build-platform-specific - - run: make lotus lotus-miner lotus-worker - - run: - name: check tag and version output match - command: ./scripts/version-check.sh ./lotus - - run: | - mkdir -p /tmp/workspace/linux_amd64_v1 && \ - mv lotus lotus-miner lotus-worker /tmp/workspace/linux_amd64_v1/ - - persist_to_workspace: - root: /tmp/workspace - paths: - - linux_amd64_v1 - - build-darwin-amd64: - description: build darwin lotus binary - working_directory: ~/go/src/github.com/filecoin-project/lotus - macos: - xcode: "13.4.1" - steps: - - build-platform-specific: - linux: false - darwin: true - darwin-architecture: amd64 - - run: make lotus lotus-miner lotus-worker - - run: otool -hv lotus - - run: - name: check tag and version output match - command: ./scripts/version-check.sh ./lotus - - run: | - mkdir -p /tmp/workspace/darwin_amd64_v1 && \ - mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_amd64_v1/ - - persist_to_workspace: - root: /tmp/workspace - paths: - - darwin_amd64_v1 - - build-darwin-arm64: - description: self-hosted m1 runner - working_directory: ~/go/src/github.com/filecoin-project/lotus - machine: true - resource_class: filecoin-project/self-hosted-m1 - steps: - - run: echo 'export PATH=/opt/homebrew/bin:"$PATH"' >> "$BASH_ENV" - - build-platform-specific: - linux: false - darwin: true - darwin-architecture: arm64 - - run: | - export CPATH=$(brew --prefix)/include && export LIBRARY_PATH=$(brew --prefix)/lib && make lotus lotus-miner lotus-worker - - run: otool -hv lotus - - run: - name: check tag and version output match - command: ./scripts/version-check.sh ./lotus - - run: | - mkdir -p /tmp/workspace/darwin_arm64 && \ - mv lotus lotus-miner lotus-worker /tmp/workspace/darwin_arm64/ - - persist_to_workspace: - root: /tmp/workspace - paths: - - darwin_arm64 - - run: - command: make clean - when: always - - run: - name: cleanup homebrew - command: HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall pkg-config coreutils jq hwloc - when: always - - release: - executor: golang - parameters: - dry-run: - default: false - description: should this release actually publish it's artifacts? - type: boolean - steps: - - checkout - - run: | - echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list - sudo apt update - sudo apt install goreleaser-pro - - install_ipfs - - attach_workspace: - at: /tmp/workspace - - when: - condition: << parameters.dry-run >> - steps: - - run: goreleaser release --rm-dist --snapshot --debug - - run: ./scripts/generate-checksums.sh - - when: - condition: - not: << parameters.dry-run >> - steps: - - run: goreleaser release --rm-dist --debug - - run: ./scripts/generate-checksums.sh - - run: ./scripts/publish-checksums.sh - - gofmt: - executor: golang - working_directory: ~/lotus - steps: - - run: - command: "! go fmt ./... 2>&1 | read" - - gen-check: - executor: golang - working_directory: ~/lotus - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: go install golang.org/x/tools/cmd/goimports - - run: go install github.com/hannahhoward/cbor-gen-for - - run: make gen - - run: git --no-pager diff && git --no-pager diff --quiet - - run: make docsgen-cli - - run: git --no-pager diff && git --no-pager diff --quiet - - docs-check: - executor: golang - working_directory: ~/lotus - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: go install golang.org/x/tools/cmd/goimports - - run: make docsgen - - run: git --no-pager diff && git --no-pager diff --quiet - - lint-all: - description: | - Run golangci-lint. - working_directory: ~/lotus - parameters: - args: - type: string - default: '' - description: | - Arguments to pass to golangci-lint - docker: - - image: cimg/go:[[ .GoVersion]] - resource_class: medium+ - steps: - - install-ubuntu-deps - - attach_workspace: - at: ~/ - - run: - name: Lint - command: | - golangci-lint run -v --timeout 10m \ - --concurrency 4 << parameters.args >> - - build-docker: - description: > - Publish to Dockerhub - executor: docker/docker - parameters: - image: - type: string - default: lotus - description: > - Passed to the docker build process to determine which image in the - Dockerfile should be built. Expected values are `lotus`, - `lotus-all-in-one` - network: - type: string - default: "mainnet" - description: > - Passed to the docker build process using GOFLAGS+=-tags=<>. - Expected values are `debug`, `2k`, `calibnet`, `butterflynet`, - `interopnet`. - channel: - type: string - default: "" - description: > - The release channel to use for this image. - push: - type: boolean - default: false - description: > - When true, pushes the image to Dockerhub - steps: - - setup_remote_docker - - checkout - - git_fetch_all_tags - - run: git submodule sync - - run: git submodule update --init - - - docker/check: - docker-username: DOCKERHUB_USERNAME - docker-password: DOCKERHUB_PASSWORD - - when: - condition: - equal: [ mainnet, <> ] - steps: - - when: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> - tag: <> - - run: - name: Docker push - command: | - docker push filecoin/<>:<> - if [["[[ ! -z $CIRCLE_SHA ]]"]]; then - docker image tag filecoin/<>:<> filecoin/<>:"${CIRCLE_SHA:0:7}" - docker push filecoin/<>:"${CIRCLE_SHA:0:7}" - fi - if [["[[ ! -z $CIRCLE_TAG ]]"]]; then - docker image tag filecoin/<>:<> filecoin/<>:"${CIRCLE_TAG}" - docker push filecoin/<>:"${CIRCLE_TAG}" - fi - - unless: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> - - when: - condition: - not: - equal: [ mainnet, <> ] - steps: - - when: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> --build-arg GOFLAGS=-tags=<> - tag: <>-<> - - run: - name: Docker push - command: | - docker push filecoin/<>:<>-<> - if [["[[ ! -z $CIRCLE_SHA ]]"]]; then - docker image tag filecoin/<>:<>-<> filecoin/<>:"${CIRCLE_SHA:0:7}"-<> - docker push filecoin/<>:"${CIRCLE_SHA:0:7}"-<> - fi - if [["[[ ! -z $CIRCLE_TAG ]]"]]; then - docker image tag filecoin/<>:<>-<> filecoin/<>:"${CIRCLE_TAG}"-<> - docker push filecoin/<>:"${CIRCLE_TAG}"-<> - fi - - unless: - condition: <> - steps: - - docker/build: - image: filecoin/<> - extra_build_args: --target <> --build-arg GOFLAGS=-tags=<> - -workflows: - ci: - jobs: - - build - - lint-all: - requires: - - build - - mod-tidy-check: - requires: - - build - - gofmt: - requires: - - build - - gen-check: - requires: - - build - - docs-check: - requires: - - build - - [[- range $file := .ItestFiles -]] - [[ with $name := $file | stripSuffix ]] - - test: - name: test-itest-[[ $name ]] - requires: - - build - suite: itest-[[ $name ]] - target: "./itests/[[ $file ]]" - [[- if or (eq $name "worker") (eq $name "deals_concurrent") (eq $name "wdpost_worker_config") (eq $name "sector_pledge")]] - resource_class: 2xlarge - [[- end]] - [[- if or (eq $name "wdpost") (eq $name "sector_pledge")]] - get-params: true - [[end]] - [[- end ]][[- end]] - - [[- range $suite, $pkgs := .UnitSuites]] - - test: - name: test-[[ $suite ]] - requires: - - build - suite: utest-[[ $suite ]] - target: "[[ $pkgs ]]" - [[- if eq $suite "unit-storage"]] - get-params: true - [[- end -]] - [[- if eq $suite "unit-cli"]] - resource_class: 2xlarge - get-params: true - [[- end -]] - [[- if eq $suite "unit-rest"]] - resource_class: 2xlarge - [[- end -]] - [[- end]] - - test: - go-test-flags: "-run=TestMulticoreSDR" - requires: - - build - suite: multicore-sdr-check - target: "./storage/sealer/ffiwrapper" - proofs-log-test: "1" - - test-conformance: - requires: - - build - suite: conformance - target: "./conformance" - - release: - jobs: - - build-linux-amd64: - name: "Build ( linux / amd64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-darwin-amd64: - name: "Build ( darwin / amd64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - build-darwin-arm64: - name: "Build ( darwin / arm64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - release: - name: "Release" - requires: - - "Build ( darwin / amd64 )" - - "Build ( linux / amd64 )" - - "Build ( darwin / arm64 )" - filters: - branches: - ignore: - - /^.*$/ - tags: - only: - - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - - release: - name: "Release (dry-run)" - dry-run: true - requires: - - "Build ( darwin / amd64 )" - - "Build ( linux / amd64 )" - - "Build ( darwin / arm64 )" - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - /^ci\/.*$/ - [[- range .Networks]] - - build-docker: - name: "Docker push (lotus-all-in-one / stable / [[.]])" - image: lotus-all-in-one - channel: stable - network: [[.]] - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / candidate / [[.]])" - image: lotus-all-in-one - channel: candidate - network: [[.]] - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus-all-in-one / edge / [[.]])" - image: lotus-all-in-one - channel: master - network: [[.]] - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus-all-in-one / [[.]])" - image: lotus-all-in-one - network: [[.]] - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - [[- end]] - - build-docker: - name: "Docker push (lotus / stable / mainnet)" - image: lotus - channel: stable - network: mainnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+$/ - - build-docker: - name: "Docker push (lotus / candidate / mainnet)" - image: lotus - channel: candidate - network: mainnet - push: true - filters: - branches: - ignore: - - /.*/ - tags: - only: - - /^v\d+\.\d+\.\d+-rc\d+$/ - - build-docker: - name: "Docker push (lotus / master / mainnet)" - image: lotus - channel: master - network: mainnet - push: true - filters: - branches: - only: - - master - - build-docker: - name: "Docker build (lotus / mainnet)" - image: lotus - network: mainnet - push: false - filters: - branches: - only: - - /^release\/v\d+\.\d+\.\d+(-rc\d+)?$/ - - nightly: - triggers: - - schedule: - cron: "0 0 * * *" - filters: - branches: - only: - - master - jobs: - [[- range .Networks]] - - build-docker: - name: "Docker (lotus-all-in-one / nightly / [[.]])" - image: lotus-all-in-one - channel: nightly - network: [[.]] - push: true - [[- end]] diff --git a/.github/actions/export-circle-env/action.yml b/.github/actions/export-circle-env/action.yml deleted file mode 100644 index ded4bbb0579..00000000000 --- a/.github/actions/export-circle-env/action.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Export Circle Env -description: Export CircleCI environment variables for Filecoin Lotus - -runs: - using: composite - steps: - - run: | - if [[ "$GITHUB_REF" == refs/tags/* ]]; then - echo "CIRCLE_TAG=${GITHUB_REF#refs/tags/}" | tee -a $GITHUB_ENV - fi - echo "CIRCLE_PROJECT_USERNAME=$GITHUB_REPOSITORY_OWNER" | tee -a $GITHUB_ENV - echo "CIRCLE_PROJECT_REPONAME=${GITHUB_REPOSITORY#$GITHUB_REPOSITORY_OWNER/}" | tee -a $GITHUB_ENV - echo "CIRCLE_SHA1=$GITHUB_SHA" | tee -a $GITHUB_ENV - shell: bash diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 9e6bf59f1ad..f6afe68bf01 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -35,9 +35,7 @@ jobs: - image: lotus network: mainnet env: - # Do not publish until CircleCI is deprecated - PUBLISH: false - # PUBLISH: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }} + PUBLISH: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') }} steps: - id: channel env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd8a9cfbc4f..797473bb330 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,7 +44,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: 'recursive' - - uses: ./.github/actions/export-circle-env - uses: ./.github/actions/install-system-dependencies - uses: ./.github/actions/install-go - env: @@ -68,9 +67,7 @@ jobs: runs-on: ubuntu-latest needs: [build] env: - # Do not publish until CircleCI is deprecated - PUBLISH: false - # PUBLISH: ${{ startsWith(github.ref, 'refs/tags/') }} + PUBLISH: ${{ startsWith(github.ref, 'refs/tags/') }} steps: - uses: actions/checkout@v4 with: @@ -88,7 +85,6 @@ jobs: with: name: lotus-macOS-ARM64 path: darwin_arm64 - - uses: ./.github/actions/export-circle-env - uses: ./.github/actions/install-go - uses: ipfs/download-ipfs-distribution-action@v1 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 647806e0faa..a64a613a878 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,14 +58,6 @@ jobs: # to extend the available runner capacity (60 default hosted runners). # We use self-hosted 4xlarge (16 CPU, 32 RAM; and 2xlarge - 8 CPU, 16 RAM) self-hosted # to support resource intensive jobs. - # In CircleCI, the jobs defaulted to running on medium+ runners (3 CPU, 6 RAM). - # The following jobs were scheduled to run on 2xlarge runners (16 CPU, 32 RAM): - # - itest-deals_concurrent (✅) - # - itest-sector_pledge (✅) - # - itest-wdpost_worker_config (❌) - # - itest-worker (✅) - # - unit-cli (❌) - # - unit-rest (❌) runners: | { "itest-deals_concurrent": ["self-hosted", "linux", "x64", "4xlarge"], @@ -122,15 +114,9 @@ jobs: "unit-node": ["self-hosted", "linux", "x64", "xlarge"] } # A list of test groups that require YugabyteDB to be running - # In CircleCI, all jobs had yugabytedb running as a sidecar. yugabytedb: | ["itest-harmonydb", "itest-harmonytask", "itest-curio"] # A list of test groups that require Proof Parameters to be fetched - # In CircleCI, only the following jobs had get-params set: - # - unit-cli (✅) - # - unit-storage (✅) - # - itest-sector_pledge (✅) - # - itest-wdpost (✅) parameters: | [ "conformance", diff --git a/.goreleaser.yaml b/.goreleaser.yaml index f855ee969dd..bf620071457 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -27,7 +27,7 @@ builds: - goos: linux goarch: arm64 prebuilt: - path: '{{ if index .Env "GITHUB_WORKSPACE" }}{{ .Env.GITHUB_WORKSPACE }}{{ else }}/tmp/workspace{{ end }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus' + path: '{{ .Env.GITHUB_WORKSPACE }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus' - id: lotus-miner binary: lotus-miner builder: prebuilt @@ -43,7 +43,7 @@ builds: - goos: linux goarch: arm64 prebuilt: - path: '{{ if index .Env "GITHUB_WORKSPACE" }}{{ .Env.GITHUB_WORKSPACE }}{{ else }}/tmp/workspace{{ end }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-miner' + path: '{{ .Env.GITHUB_WORKSPACE }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-miner' - id: lotus-worker binary: lotus-worker builder: prebuilt @@ -59,7 +59,7 @@ builds: - goos: linux goarch: arm64 prebuilt: - path: '{{ if index .Env "GITHUB_WORKSPACE" }}{{ .Env.GITHUB_WORKSPACE }}{{ else }}/tmp/workspace{{ end }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-worker' + path: '{{ .Env.GITHUB_WORKSPACE }}/{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/lotus-worker' archives: - id: primary diff --git a/Makefile b/Makefile index 83e3fd89da2..901c8dc00a9 100644 --- a/Makefile +++ b/Makefile @@ -343,7 +343,7 @@ actors-code-gen: $(GOCC) run ./chain/actors/agen $(GOCC) fmt ./... -actors-gen: actors-code-gen +actors-gen: actors-code-gen $(GOCC) run ./scripts/fiximports .PHONY: actors-gen @@ -406,7 +406,7 @@ docsgen-openrpc-gateway: docsgen-openrpc-bin fiximports: $(GOCC) run ./scripts/fiximports -gen: actors-code-gen type-gen cfgdoc-gen docsgen api-gen circleci +gen: actors-code-gen type-gen cfgdoc-gen docsgen api-gen $(GOCC) run ./scripts/fiximports @echo ">>> IF YOU'VE MODIFIED THE CLI OR CONFIG, REMEMBER TO ALSO RUN 'make docsgen-cli'" .PHONY: gen @@ -428,5 +428,32 @@ docsgen-cli: lotus lotus-miner lotus-worker curio sptool print-%: @echo $*=$($*) -circleci: - go generate -x ./.circleci +### Curio devnet images +curio_docker_user?=curio +curio_base_image=$(curio_docker_user)/curio-all-in-one:latest-debug +ffi_from_source?=0 + +curio-devnet: lotus lotus-miner lotus-shed lotus-seed curio sptool +.PHONY: curio-devnet + +curio_docker_build_cmd=docker build --build-arg CURIO_TEST_IMAGE=$(curio_base_image) \ + --build-arg FFI_BUILD_FROM_SOURCE=$(ffi_from_source) $(docker_args) + +docker/curio-all-in-one: + $(curio_docker_build_cmd) -f Dockerfile.curio --target curio-all-in-one \ + -t $(curio_base_image) --build-arg GOFLAGS=-tags=debug . +.PHONY: docker/curio-all-in-one + +docker/%: + cd curiosrc/docker/$* && DOCKER_BUILDKIT=1 $(curio_docker_build_cmd) -t $(curio_docker_user)/$*-dev:dev \ + --build-arg BUILD_VERSION=dev . + +docker/curio-devnet: $(lotus_build_cmd) \ + docker/curio-all-in-one docker/lotus docker/lotus-miner docker/curio docker/yugabyte +.PHONY: docker/curio-devnet + +curio-devnet/up: + rm -rf ./curiosrc/docker/data && docker compose -f ./curiosrc/docker/docker-compose.yaml up -d + +curio-devnet/down: + docker compose -f ./curiosrc/docker/docker-compose.yaml down --rmi=local && sleep 2 && rm -rf ./curiosrc/docker/data diff --git a/README.md b/README.md index dd4ff3b5436..561b20166e5 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,12 @@

Project Lotus - 莲

- - - - +![example workflow](https://github.com/github/docs/actions/workflows/main.yml/badge.svg) + + + + +

@@ -19,7 +21,7 @@ Lotus is an implementation of the Filecoin Distributed Storage Network. For more ## Building & Documentation > 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://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 @@ -96,7 +98,7 @@ Once all the dependencies are installed, you can build and install the Lotus sui git clone https://github.com/filecoin-project/lotus.git cd lotus/ ``` - + Note: The default branch `master` is the dev branch where the latest new features, bug fixes and improvement are in. However, if you want to run lotus on Filecoin mainnet and want to run a production-ready lotus, get the latest release[ here](https://github.com/filecoin-project/lotus/releases). 2. To join mainnet, checkout the [latest release](https://github.com/filecoin-project/lotus/releases). diff --git a/scripts/publish-checksums.sh b/scripts/publish-checksums.sh index 346ca9b4cd8..8e5cdfe3500 100755 --- a/scripts/publish-checksums.sh +++ b/scripts/publish-checksums.sh @@ -9,6 +9,11 @@ if [ -z "${GITHUB_TOKEN}" ]; then exit 1 fi +if [ "$GITHUB_REF" != refs/tags/* ]; then + echo "$GITHUB_REF is not a tag, publish failed" + exit 1 +fi + REQUIRED=( "jq" "curl" @@ -18,12 +23,14 @@ do command -v "${REQUIRE}" >/dev/null 2>&1 || echo >&2 "'${REQUIRE}' must be installed" done +GITHUB_TAG="${GITHUB_REF#refs/tags/}" + #see if the release already exists by tag RELEASE_RESPONSE=` curl \ --fail \ --header "Authorization: token ${GITHUB_TOKEN}" \ - "https://api.github.com/repos/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/releases/tags/${CIRCLE_TAG}" + "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/tags/${GITHUB_TAG}" ` RELEASE_ID=`echo "${RELEASE_RESPONSE}" | jq '.id'` @@ -32,16 +39,16 @@ if [ "${RELEASE_ID}" = "null" ]; then COND_CREATE_DISCUSSION="" PRERELEASE=true - if [[ ${CIRCLE_TAG} =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + if [[ ${GITHUB_TAG} =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then COND_CREATE_DISCUSSION="\"discussion_category_name\": \"announcement\"," PRERELEASE=false fi RELEASE_DATA="{ - \"tag_name\": \"${CIRCLE_TAG}\", - \"target_commitish\": \"${CIRCLE_SHA1}\", + \"tag_name\": \"${GITHUB_TAG}\", + \"target_commitish\": \"${GITHUB_SHA}\", ${COND_CREATE_DISCUSSION} - \"name\": \"${CIRCLE_TAG}\", + \"name\": \"${GITHUB_TAG}\", \"body\": \"\", \"prerelease\": ${PRERELEASE} }" @@ -54,7 +61,7 @@ if [ "${RELEASE_ID}" = "null" ]; then --header "Authorization: token ${GITHUB_TOKEN}" \ --header "Content-Type: application/json" \ --data "${RELEASE_DATA}" \ - "https://api.github.com/repos/$CIRCLE_PROJECT_USERNAME/${CIRCLE_PROJECT_REPONAME}/releases" + "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases" ` else echo "release already exists" diff --git a/scripts/version-check.sh b/scripts/version-check.sh index 4f424ca0cab..20aeda4cc1f 100755 --- a/scripts/version-check.sh +++ b/scripts/version-check.sh @@ -32,8 +32,8 @@ function validate_lotus_version_matches_tag(){ _lotus_path=$1 -if [[ ! -z "${CIRCLE_TAG}" ]]; then - validate_lotus_version_matches_tag "${_lotus_path}" "${CIRCLE_TAG}" +if [[ "$GITHUB_REF" != refs/tags/* ]]; then + validate_lotus_version_matches_tag "${_lotus_path}" "${GITHUB_REF#refs/tags/}" else - echo "No CI tag found. Skipping version check." + echo "$GITHUB_REF is not a tag, skipping version check" fi diff --git a/storage/sealer/README.md b/storage/sealer/README.md index 83fa3ea5f01..b90a9ebd0b7 100644 --- a/storage/sealer/README.md +++ b/storage/sealer/README.md @@ -1,7 +1,6 @@ # sector-storage [![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) -[![CircleCI](https://circleci.com/gh/filecoin-project/sector-storage.svg?style=svg)](https://circleci.com/gh/filecoin-project/sector-storage) [![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) > a concrete implementation of the [specs-storage](https://github.com/filecoin-project/specs-storage) interface @@ -35,7 +34,7 @@ The Local store implements SectorProvider for paths mounted in the local filesystem. Paths can be shared between nodes, and support shared filesystems such as NFS. -stores.Local implements all native filesystem-related operations +stores.Local implements all native filesystem-related operations ### `paths.Remote` From f0ea83a01dd80a4f08261d414ba9c627a6a8e56b Mon Sep 17 00:00:00 2001 From: Phi Date: Thu, 16 May 2024 14:10:19 +0200 Subject: [PATCH 13/48] Update changelog Update changelog with the deprecate circle-ci --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49a4a3f84e5..ddd71d4e1ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -152,6 +152,7 @@ Visit the Curio Official Website insert link - ci: ci: list processes before calling apt-get to enable debugging (#11815) ([filecoin-project/lotus#11815](https://github.com/filecoin-project/lotus/pull/11815)) - ci: ci: allow master main sync to write to the repository (#11784) ([filecoin-project/lotus#11784](https://github.com/filecoin-project/lotus/pull/11784)) - ci: ci: create gh workflow that runs go tests (#11762) ([filecoin-project/lotus#11762](https://github.com/filecoin-project/lotus/pull/11762)) +- ci: ci: deprecate circle ci in favour of github actions (#11786) ([filecoin-project/lotus#11786](https://github.com/filecoin-project/lotus/pull/1786)) - misc: Drop the raft-cluster experiment ([filecoin-project/lotus#11468](https://github.com/filecoin-project/lotus/pull/11468)) - chore: fix some typos in comments (#11892) ([filecoin-project/lotus#11892](https://github.com/filecoin-project/lotus/pull/11892)) - chore: fix typos (#11848) ([filecoin-project/lotus#11848](https://github.com/filecoin-project/lotus/pull/11848)) From 837ba4bb7dd95f4c5c349c16a47a50cbd730f720 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Mon, 20 May 2024 19:43:25 -0700 Subject: [PATCH 14/48] chore: update drand (#12021) --- go.mod | 4 ++-- go.sum | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index 04bed05be16..6f58e2fa957 100644 --- a/go.mod +++ b/go.mod @@ -24,8 +24,8 @@ require ( github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e github.com/dgraph-io/badger/v2 v2.2007.4 github.com/docker/go-units v0.5.0 - github.com/drand/drand v1.5.7 - github.com/drand/kyber v1.2.0 + github.com/drand/drand v1.5.11 + github.com/drand/kyber v1.3.0 github.com/dustin/go-humanize v1.0.1 github.com/elastic/go-elasticsearch/v7 v7.14.0 github.com/elastic/go-sysinfo v1.7.0 diff --git a/go.sum b/go.sum index 593672e2def..b7c3a49df10 100644 --- a/go.sum +++ b/go.sum @@ -185,6 +185,8 @@ github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cockroachdb/cockroach-go/v2 v2.2.0 h1:/5znzg5n373N/3ESjHF5SMLxiW4RKB05Ql//KWfeTFs= github.com/cockroachdb/cockroach-go/v2 v2.2.0/go.mod h1:u3MiKYGupPPjkn3ozknpMUpxPaNLTFWAya419/zv6eI= @@ -255,10 +257,10 @@ github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUn github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/drand/drand v1.5.7 h1:5f2D5aH1nEfVI9S6tl2p9bgIDMZ92oltmiY12Kh+eYU= -github.com/drand/drand v1.5.7/go.mod h1:jrJ0244yOHNL5V04vazk3mFatjAWm3i6dg6URWwgbXk= -github.com/drand/kyber v1.2.0 h1:22SbBxsKbgQnJUoyYKIfG909PhBsj0vtANeu4BX5xgE= -github.com/drand/kyber v1.2.0/go.mod h1:6TqFlCc7NGOiNVTF9pF2KcDRfllPd9XOkExuG5Xtwfo= +github.com/drand/drand v1.5.11 h1:7sskUTCsX2lgFiWdGvPh3/P0ZDQKi1lCtI7RQKK010k= +github.com/drand/drand v1.5.11/go.mod h1:TvJjCJ/s4Usn4pKRpDC0N1QaCwSt3YC8fRqhZdpOUU0= +github.com/drand/kyber v1.3.0 h1:TVd7+xoRgKQ4Ck1viNLPFy6IWhuZM36Bq6zDXD8Asls= +github.com/drand/kyber v1.3.0/go.mod h1:f+mNHjiGT++CuueBrpeMhFNdKZAsy0tu03bKq9D5LPA= github.com/drand/kyber-bls12381 v0.3.1 h1:KWb8l/zYTP5yrvKTgvhOrk2eNPscbMiUOIeWBnmUxGo= github.com/drand/kyber-bls12381 v0.3.1/go.mod h1:H4y9bLPu7KZA/1efDg+jtJ7emKx+ro3PU7/jWUVt140= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -915,8 +917,8 @@ github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 h1:rp+c0RAYOWj8 github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.3.0 h1:9BSCMi8C+0qdApAp4auwX0RkLGUjs956h0EkuQymUhg= -github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= +github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= From 0aea32fdd2d1cfa316396ba5de71faf965f7115a Mon Sep 17 00:00:00 2001 From: Phi Date: Fri, 24 May 2024 08:52:06 +0200 Subject: [PATCH 15/48] Update changelog / make docsgen Update changelog / make docsgen --- CHANGELOG.md | 6 ++++-- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 2 +- documentation/en/cli-curio.md | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- documentation/en/cli-sptool.md | 2 +- 11 files changed, 14 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd71d4e1ac..dc5ac04a8b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ ## Improvements -# v1.27.0-rc3 / 2024-05-16 +# v1.27.0 / 2024-05-24 -This is the third release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio. +This is an optional feature release of Lotus. Lotus v1.27.0 includes numerous improvements, bugfixes and enhancements for node operators, RPC- and ETH RPC-providers. This feature release also introduces Curio in a Beta release. Check out the Curio Beta release section for how you can get started with Curio. ## ☢️ Upgrade Warnings ☢️ @@ -25,6 +25,7 @@ This release includes a lot of improvements and fixes for indexers, RPC- and ETH - [Length check the array sent to eth_feeHistory RPC](https://github.com/filecoin-project/lotus/pull/11696) - [ETH subscribe tipsets API should only return tipsets that have been executed](https://github.com/filecoin-project/lotus/pull/11858) - [Adjust indexes in event index db to match query patterns](https://github.com/filecoin-project/lotus/pull/111934) +- ## ⭐️ Curio Beta Release ⭐️ @@ -139,6 +140,7 @@ Visit the Curio Official Website insert link - chore:libp2p: update libp2p deps in master ([filecoin-project/lotus#11522](https://github.com/filecoin-project/lotus/pull/11522)) - dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563)) - chore: update go-data-transfer and go-graphsync (#12000) ([filecoin-project/lotus#12000](https://github.com/filecoin-project/lotus/pull/2000)) +- chore: update drand (#12021) ([filecoin-project/lotus#12021](https://github.com/filecoin-project/lotus/pull/12021)) - github.com/filecoin-project/go-amt-ipld/ (v4.2.0 -> v4.3.0) - github.com/filecoin-project/go-state-types (v0.13.1 -> v0.13.3) - github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1) diff --git a/build/openrpc/full.json b/build/openrpc/full.json index ef7b9a5418a..3fda272671c 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc3" + "version": "1.27.0" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index d1e7d1e518c..3538f25cf5a 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc3" + "version": "1.27.0" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index c8829129931..d9f2f514548 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc3" + "version": "1.27.0" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 48a7a48febf..889853b5f00 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.0-rc3" + "version": "1.27.0" }, "methods": [ { diff --git a/build/version.go b/build/version.go index 86f296f0268..8fdaaafce98 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.27.0-rc3" +const BuildVersion = "1.27.0" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-curio.md b/documentation/en/cli-curio.md index 00aa26bc6b9..9f578154c7a 100644 --- a/documentation/en/cli-curio.md +++ b/documentation/en/cli-curio.md @@ -7,7 +7,7 @@ USAGE: curio [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc3 + 1.27.0 COMMANDS: cli Execute cli commands diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 8d304e689e3..b54508224c6 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc3 + 1.27.0 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index e7fb3c88a4f..441ba14ab88 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc3 + 1.27.0 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index a6a08107b7e..a501dd732c9 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc3 + 1.27.0 COMMANDS: daemon Start a lotus daemon process diff --git a/documentation/en/cli-sptool.md b/documentation/en/cli-sptool.md index 3260360d666..3a53fe7a338 100644 --- a/documentation/en/cli-sptool.md +++ b/documentation/en/cli-sptool.md @@ -7,7 +7,7 @@ USAGE: sptool [global options] command [command options] [arguments...] VERSION: - 1.27.0-rc3 + 1.27.0 COMMANDS: actor Manage Filecoin Miner Actor Metadata From c8d56ca9e1350af51257574a39d90d672a98e520 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 9 May 2024 13:36:44 +1000 Subject: [PATCH 16/48] chore: lint: update golangci lint config * remove and replace some linters * remove some exclusions * make all exclusions more explicit matches --- .golangci.yml | 69 +++++++++++++++++++++------------------------------ 1 file changed, 28 insertions(+), 41 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 1d455e52559..b7112604623 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -5,15 +5,12 @@ linters: - govet - goimports - misspell - - goconst - - golint + - revive - errcheck - gosec - unconvert - staticcheck - - varcheck - - deadcode - - scopelint + - exportloopref - unused # We don't want to skip builtin/ @@ -25,37 +22,36 @@ skip-dirs: issues: exclude: - - "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" - - "comment on exported" - - "(func|method) \\w+ should be \\w+" - - "(type|var|struct field|(method|func) parameter) `\\w+` should be `\\w+`" - - "(G306|G301|G307|G108|G302|G204|G104)" - - "don't use ALL_CAPS in Go names" - - "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" + # gosec + - "^G101: Potential hardcoded credentials" + - "^G108: Profiling endpoint is automatically exposed on /debug/pprof" + - "^G204: Subprocess launched with (variable|a potential tainted input or cmd arguments)" + - "^G301: Expect directory permissions to be 0750 or less" + - "^G302: Expect file permissions to be 0600 or less" + - "^G304: Potential file inclusion via variable" + - "^G306: Expect WriteFile permissions to be 0600 or less" + - "^G404: Use of weak random number generator" + # staticcheck + - "^SA1019: xerrors.* is deprecated: As of Go 1.13, use errors" + # revive + - "^blank-imports: a blank import should be only in a main or test package, or have a comment justifying it" + - "^dot-imports: should not use dot imports" + - "^exported: (func|type) name will be used as [^\\s]+ by other packages, and that stutters; consider calling this \\w+" + - "^exported: comment on exported (const|function|method|type|var) [^\\s]+ should be of the form \"\\w+ ...\"" + - "^exported: exported (const|function|method|type|var) [^\\s]+ should have comment (\\(or a comment on this block\\) )?or be unexported" + - "^indent-error-flow: if block ends with a return statement, so drop this else and outdent its block \\(move short variable declaration to its own line if necessary\\)" + - "^package-comments: package comment should be of the form \"Package \\w+ ...\"" + - "^package-comments: should have a package comment" + - "^unexported-return: exported func \\w+ returns unexported type [^\\s]+, which can be annoying to use" + - "^unused-parameter: parameter '\\w+' seems to be unused, consider removing or renaming it as _" + - "^var-naming: (const|func|type|var|struct field|(method|func|interface method) parameter) [A-Z]\\w+ should be" + - "^var-naming: (method|range var) \\w*(Api|Http|Id|Rpc|Url)[^\\s]* should be \\w*(API|HTTP|ID|RPC|URL)" + - "^var-naming: don't use underscores in Go names" + - "^var-naming: don't use ALL_CAPS in Go names; use CamelCase" exclude-use-default: false exclude-rules: - - path: node/modules/lp2p - linters: - - golint - - - path: build/params_.*\.go - linters: - - golint - - - path: api/apistruct/struct.go - linters: - - golint - - path: .*_test.go linters: - gosec @@ -67,12 +63,3 @@ issues: - path: cmd/lotus-bench/.* linters: - gosec - - - path: api/test/.* - text: "context.Context should be the first parameter" - linters: - - golint - -linters-settings: - goconst: - min-occurrences: 6 From a49d4337aee964f5aeab4259ac196eef1016ec80 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 9 May 2024 12:15:35 +1000 Subject: [PATCH 17/48] chore: lint: fix lint errors with new linting config Ref: https://github.com/filecoin-project/lotus/issues/11967 --- blockstore/buffered.go | 6 ++-- blockstore/splitstore/splitstore.go | 4 +-- blockstore/splitstore/splitstore_compact.go | 7 ++-- blockstore/splitstore/splitstore_test.go | 2 +- build/builtin_actors_gen.go | 2 +- build/params_mainnet.go | 2 +- build/params_shared_vals.go | 1 + chain/checkpoint.go | 18 +++++----- chain/messagepool/messagepool.go | 6 ++-- chain/messagepool/selection_test.go | 4 +-- chain/rand/rand.go | 3 +- chain/store/snapshot.go | 2 +- chain/store/store.go | 3 +- chain/sync_test.go | 4 +-- chain/types/ethtypes/eth_types.go | 2 +- chain/vm/vm.go | 7 ++-- cli/backup.go | 2 +- cli/client.go | 6 ++-- cli/info.go | 3 +- cli/init_test.go | 2 +- cli/sending_ui.go | 2 +- cmd/curio/config_test.go | 2 +- cmd/lotus-bench/cli.go | 2 +- cmd/lotus-bench/main.go | 2 +- cmd/lotus-bench/reporter.go | 2 +- cmd/lotus-fountain/main.go | 2 +- cmd/lotus-health/main.go | 2 +- cmd/lotus-miner/sealing.go | 4 +-- cmd/lotus-miner/sectors.go | 18 ++++------ cmd/lotus-seed/main.go | 2 +- cmd/lotus-shed/balances.go | 6 ++-- cmd/lotus-shed/datastore.go | 4 +-- cmd/lotus-shed/diff.go | 6 ++-- cmd/lotus-shed/itestd.go | 2 +- cmd/lotus-shed/market.go | 4 +-- cmd/lotus-shed/rpc.go | 5 ++- cmd/lotus-shed/state-stats.go | 2 +- conformance/chaos/actor.go | 3 +- curiosrc/market/lmrpc/lmrpc.go | 1 - curiosrc/window/compute_do.go | 4 +-- curiosrc/winning/winning_task.go | 2 +- gateway/proxy_eth.go | 2 +- gen/bundle/bundle.go | 2 +- itests/eth_filter_test.go | 2 +- itests/gas_estimation_test.go | 4 +-- itests/harmonytask_test.go | 2 +- itests/kit/client.go | 2 +- itests/kit/ensemble.go | 6 ++-- itests/splitstore_test.go | 3 +- lib/ulimit/ulimit_test.go | 4 +-- markets/dagstore/miner_api.go | 4 +-- markets/dagstore/miner_api_test.go | 4 +-- miner/miner.go | 2 +- node/health.go | 7 ++-- node/impl/full/chain.go | 4 +-- node/impl/full/eth_utils.go | 37 ++++++++++----------- node/impl/full/state.go | 3 +- node/modules/lp2p/pubsub.go | 8 ++--- node/modules/lp2p/rcmgr.go | 2 +- node/repo/fsrepo.go | 2 +- storage/paths/index_test.go | 2 +- storage/sealer/ffiwrapper/sealer_test.go | 2 +- storage/sealer/manager_post.go | 2 +- storage/sealer/sched_post.go | 2 +- storage/wdpost/wdpost_changehandler_test.go | 6 ++-- storage/wdpost/wdpost_run_faults.go | 2 +- 66 files changed, 127 insertions(+), 152 deletions(-) diff --git a/blockstore/buffered.go b/blockstore/buffered.go index 2a789b6371a..9cfc12e65fb 100644 --- a/blockstore/buffered.go +++ b/blockstore/buffered.go @@ -109,11 +109,9 @@ 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); ipld.IsNotFound(err) { - // not found in write blockstore; fall through. - } else { + if err := bs.write.View(ctx, c, callback); !ipld.IsNotFound(err) { return err // propagate errors, or nil, i.e. found. - } + } // else not found in write blockstore; fall through. return bs.read.View(ctx, c, callback) } diff --git a/blockstore/splitstore/splitstore.go b/blockstore/splitstore/splitstore.go index c1a95c8b060..6da1cf7f3cc 100644 --- a/blockstore/splitstore/splitstore.go +++ b/blockstore/splitstore/splitstore.go @@ -282,14 +282,14 @@ func Open(path string, ds dstore.Datastore, hot, cold bstore.Blockstore, cfg *Co if ss.checkpointExists() { log.Info("found compaction checkpoint; resuming compaction") if err := ss.completeCompaction(); err != nil { - markSetEnv.Close() //nolint:errcheck + _ = markSetEnv.Close() 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 + _ = markSetEnv.Close() return nil, xerrors.Errorf("error resuming prune: %w", err) } } diff --git a/blockstore/splitstore/splitstore_compact.go b/blockstore/splitstore/splitstore_compact.go index 47caca886da..c8e4caa45b5 100644 --- a/blockstore/splitstore/splitstore_compact.go +++ b/blockstore/splitstore/splitstore_compact.go @@ -109,16 +109,13 @@ func (s *SplitStore) HeadChange(_, apply []*types.TipSet) error { // 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 { + if !atomic.CompareAndSwapInt32(&s.outOfSync, 0, 0) { // transition from out of sync to in sync s.chainSyncMx.Lock() s.chainSyncFinished = true s.chainSyncCond.Broadcast() s.chainSyncMx.Unlock() - } - + } // else already in sync, no signaling necessary } // 2. protect the new tipset(s) s.protectTipSets(apply) diff --git a/blockstore/splitstore/splitstore_test.go b/blockstore/splitstore/splitstore_test.go index 1b821654d08..b28f45c8441 100644 --- a/blockstore/splitstore/splitstore_test.go +++ b/blockstore/splitstore/splitstore_test.go @@ -32,7 +32,7 @@ func init() { CompactionBoundary = 2 WarmupBoundary = 0 SyncWaitTime = time.Millisecond - logging.SetLogLevel("splitstore", "DEBUG") + _ = logging.SetLogLevel("splitstore", "DEBUG") } func testSplitStore(t *testing.T, cfg *Config) { diff --git a/build/builtin_actors_gen.go b/build/builtin_actors_gen.go index 4d2a6674c57..6d046306712 100644 --- a/build/builtin_actors_gen.go +++ b/build/builtin_actors_gen.go @@ -6,7 +6,7 @@ import ( "github.com/ipfs/go-cid" ) -var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMetadata{{ +var EmbeddedBuiltinActorsMetadata = []*BuiltinActorsMetadata{{ Network: "butterflynet", Version: 8, diff --git a/build/params_mainnet.go b/build/params_mainnet.go index 5831e513782..91a9b849759 100644 --- a/build/params_mainnet.go +++ b/build/params_mainnet.go @@ -165,5 +165,5 @@ const BootstrapPeerThreshold = 4 // As per https://github.com/ethereum-lists/chains const Eip155ChainId = 314 -// we skip checks on message validity in this block to sidestep the zero-bls signature +// WhitelistedBlock skips checks on message validity in this block to sidestep the zero-bls signature var WhitelistedBlock = MustParseCid("bafy2bzaceapyg2uyzk7vueh3xccxkuwbz3nxewjyguoxvhx77malc2lzn2ybi") diff --git a/build/params_shared_vals.go b/build/params_shared_vals.go index 8a3f6550124..798a9f2a01d 100644 --- a/build/params_shared_vals.go +++ b/build/params_shared_vals.go @@ -124,6 +124,7 @@ const MinimumBaseFee = 100 const PackingEfficiencyNum = 4 const PackingEfficiencyDenom = 5 +// revive:disable-next-line:exported // Actor consts // TODO: pieceSize unused from actors var MinDealDuration, MaxDealDuration = policy.DealDurationBounds(0) diff --git a/chain/checkpoint.go b/chain/checkpoint.go index 2810b1e4a3f..766af95b42c 100644 --- a/chain/checkpoint.go +++ b/chain/checkpoint.go @@ -25,15 +25,15 @@ func (syncer *Syncer) SyncCheckpoint(ctx context.Context, tsk types.TipSetKey) e } hts := syncer.ChainStore().GetHeaviestTipSet() - if hts.Equals(ts) { - // Current head, no need to switch. - } else if anc, err := syncer.store.IsAncestorOf(ctx, ts, hts); err != nil { - return xerrors.Errorf("failed to walk the chain when checkpointing: %w", err) - } else if anc { - // New checkpoint is on the current chain, we definitely have the tipsets. - } else if err := syncer.collectChain(ctx, ts, hts, true); err != nil { - return xerrors.Errorf("failed to collect chain for checkpoint: %w", err) - } + if !hts.Equals(ts) { + if anc, err := syncer.store.IsAncestorOf(ctx, ts, hts); err != nil { + return xerrors.Errorf("failed to walk the chain when checkpointing: %w", err) + } else if !anc { + if err := syncer.collectChain(ctx, ts, hts, true); err != nil { + return xerrors.Errorf("failed to collect chain for checkpoint: %w", err) + } + } // else new checkpoint is on the current chain, we definitely have the tipsets. + } // else current head, no need to switch. if err := syncer.ChainStore().SetCheckpoint(ctx, ts); err != nil { return xerrors.Errorf("failed to set the chain checkpoint: %w", err) diff --git a/chain/messagepool/messagepool.go b/chain/messagepool/messagepool.go index 7d55b0b16f5..c8a2493faa6 100644 --- a/chain/messagepool/messagepool.go +++ b/chain/messagepool/messagepool.go @@ -778,9 +778,7 @@ func (mp *MessagePool) Add(ctx context.Context, m *types.SignedMessage) error { _, _ = mp.getStateNonce(ctx, m.Message.From, tmpCurTs) mp.curTsLk.Lock() - if tmpCurTs == mp.curTs { - //with the lock enabled, mp.curTs is the same Ts as we just had, so we know that our computations are cached - } else { + if tmpCurTs != mp.curTs { //curTs has been updated so we want to cache the new one: tmpCurTs = mp.curTs //we want to release the lock, cache the computations then grab it again @@ -789,7 +787,7 @@ func (mp *MessagePool) Add(ctx context.Context, m *types.SignedMessage) error { _, _ = mp.getStateNonce(ctx, m.Message.From, tmpCurTs) mp.curTsLk.Lock() //now that we have the lock, we continue, we could do this as a loop forever, but that's bad to loop forever, and this was added as an optimization and it seems once is enough because the computation < block time - } + } // else with the lock enabled, mp.curTs is the same Ts as we just had, so we know that our computations are cached defer mp.curTsLk.Unlock() diff --git a/chain/messagepool/selection_test.go b/chain/messagepool/selection_test.go index 48846bb7e5b..5b46fadfbc6 100644 --- a/chain/messagepool/selection_test.go +++ b/chain/messagepool/selection_test.go @@ -1321,7 +1321,7 @@ func testCompetitiveMessageSelection(t *testing.T, rng *rand.Rand, getPremium fu mustAdd(t, mp, m) } - logging.SetLogLevel("messagepool", "error") + _ = logging.SetLogLevel("messagepool", "error") // 1. greedy selection gm, err := mp.selectMessagesGreedy(context.Background(), ts, ts) @@ -1414,7 +1414,7 @@ func testCompetitiveMessageSelection(t *testing.T, rng *rand.Rand, getPremium fu t.Logf("Average reward boost: %f", rewardBoost) t.Logf("Average best tq reward: %f", totalBestTQReward/runs/1e12) - logging.SetLogLevel("messagepool", "info") + _ = logging.SetLogLevel("messagepool", "info") return capacityBoost, rewardBoost, totalBestTQReward / runs / 1e12 } diff --git a/chain/rand/rand.go b/chain/rand/rand.go index 40f9f593a03..f892d2aae1c 100644 --- a/chain/rand/rand.go +++ b/chain/rand/rand.go @@ -184,9 +184,8 @@ func (sr *stateRand) GetBeaconRandomness(ctx context.Context, filecoinEpoch abi. return sr.getBeaconRandomnessV3(ctx, filecoinEpoch) } else if nv == network.Version13 { return sr.getBeaconRandomnessV2(ctx, filecoinEpoch) - } else { - return sr.getBeaconRandomnessV1(ctx, filecoinEpoch) } + return sr.getBeaconRandomnessV1(ctx, filecoinEpoch) } func (sr *stateRand) DrawChainRandomness(ctx context.Context, pers crypto.DomainSeparationTag, filecoinEpoch abi.ChainEpoch, entropy []byte) ([]byte, error) { diff --git a/chain/store/snapshot.go b/chain/store/snapshot.go index de2190c5d7a..ca483c2ef17 100644 --- a/chain/store/snapshot.go +++ b/chain/store/snapshot.go @@ -392,7 +392,7 @@ func (s *walkScheduler) Wait() error { log.Errorw("error writing to CAR file", "error", err) return errWrite } - s.workerTasks.Close() //nolint:errcheck + _ = s.workerTasks.Close() return err } diff --git a/chain/store/store.go b/chain/store/store.go index b1431c2ee1a..9c8c2b2a1e3 100644 --- a/chain/store/store.go +++ b/chain/store/store.go @@ -305,6 +305,7 @@ func (cs *ChainStore) SubHeadChanges(ctx context.Context) chan []*api.HeadChange // Unsubscribe. cs.bestTips.Unsub(subch) + // revive:disable-next-line:empty-block // Drain the channel. for range subch { } @@ -752,7 +753,7 @@ func FlushValidationCache(ctx context.Context, ds dstore.Batching) error { for _, k := range allKeys { if strings.HasPrefix(k.Key, blockValidationCacheKeyPrefix.String()) { delCnt++ - batch.Delete(ctx, dstore.RawKey(k.Key)) // nolint:errcheck + _ = batch.Delete(ctx, dstore.RawKey(k.Key)) } } diff --git a/chain/sync_test.go b/chain/sync_test.go index 41610236673..1b556f87952 100644 --- a/chain/sync_test.go +++ b/chain/sync_test.go @@ -85,7 +85,7 @@ type syncTestUtil struct { } func prepSyncTest(t testing.TB, h int) *syncTestUtil { - logging.SetLogLevel("*", "INFO") + _ = logging.SetLogLevel("*", "INFO") g, err := gen.NewGenerator() if err != nil { @@ -115,7 +115,7 @@ func prepSyncTest(t testing.TB, h int) *syncTestUtil { } func prepSyncTestWithV5Height(t testing.TB, h int, v5height abi.ChainEpoch) *syncTestUtil { - logging.SetLogLevel("*", "INFO") + _ = logging.SetLogLevel("*", "INFO") sched := stmgr.UpgradeSchedule{{ // prepare for upgrade. diff --git a/chain/types/ethtypes/eth_types.go b/chain/types/ethtypes/eth_types.go index 2740a3e9d25..893c0721c85 100644 --- a/chain/types/ethtypes/eth_types.go +++ b/chain/types/ethtypes/eth_types.go @@ -927,7 +927,7 @@ func NewEthBlockNumberOrHashFromNumber(number EthUint64) EthBlockNumberOrHash { func NewEthBlockNumberOrHashFromHexString(str string) (EthBlockNumberOrHash, error) { // check if block param is a number (decimal or hex) - var num EthUint64 = 0 + var num EthUint64 err := num.UnmarshalJSON([]byte(str)) if err != nil { return NewEthBlockNumberOrHashFromNumber(0), err diff --git a/chain/vm/vm.go b/chain/vm/vm.go index 1e0591b6c94..f8a0c389216 100644 --- a/chain/vm/vm.go +++ b/chain/vm/vm.go @@ -336,9 +336,7 @@ func (vm *LegacyVM) send(ctx context.Context, msg *types.Message, parent *Runtim return nil, aerrors.Wrapf(err, "could not create account") } toActor = a - if vm.networkVersion <= network.Version3 { - // Leave the rt.Message as is - } else { + if vm.networkVersion > network.Version3 { nmsg := Message{ msg: types.Message{ To: aid, @@ -346,9 +344,8 @@ func (vm *LegacyVM) send(ctx context.Context, msg *types.Message, parent *Runtim Value: rt.Message.ValueReceived(), }, } - rt.Message = &nmsg - } + } // else leave the rt.Message as is } else { return nil, aerrors.Escalate(err, "getting actor") } diff --git a/cli/backup.go b/cli/backup.go index d2d8f25ff89..e0495678cfd 100644 --- a/cli/backup.go +++ b/cli/backup.go @@ -24,7 +24,7 @@ type BackupApiFn func(ctx *cli.Context) (BackupAPI, jsonrpc.ClientCloser, error) func BackupCmd(repoFlag string, rt repo.RepoType, getApi BackupApiFn) *cli.Command { var offlineBackup = func(cctx *cli.Context) error { - logging.SetLogLevel("badger", "ERROR") // nolint:errcheck + _ = logging.SetLogLevel("badger", "ERROR") repoPath := cctx.String(repoFlag) r, err := repo.NewFS(repoPath) diff --git a/cli/client.go b/cli/client.go index 302e31e98be..e40a6686679 100644 --- a/cli/client.go +++ b/cli/client.go @@ -574,7 +574,7 @@ func interactiveDeal(cctx *cli.Context) error { cs := readline.NewCancelableStdin(afmt.Stdin) go func() { <-ctx.Done() - cs.Close() // nolint:errcheck + _ = cs.Close() }() rl := bufio.NewReader(cs) @@ -2327,7 +2327,7 @@ func OutputDataTransferChannels(out io.Writer, channels []lapi.DataTransferChann for _, channel := range sendingChannels { w.Write(toChannelOutput("Sending To", channel, verbose)) } - w.Flush(out) //nolint:errcheck + _ = w.Flush(out) fmt.Fprintf(out, "\nReceiving Channels\n\n") w = tablewriter.New(tablewriter.Col("ID"), @@ -2341,7 +2341,7 @@ func OutputDataTransferChannels(out io.Writer, channels []lapi.DataTransferChann for _, channel := range receivingChannels { w.Write(toChannelOutput("Receiving From", channel, verbose)) } - w.Flush(out) //nolint:errcheck + _ = w.Flush(out) } func channelStatusString(status datatransfer.Status) string { diff --git a/cli/info.go b/cli/info.go index a406fc48014..01f64dee9b4 100644 --- a/cli/info.go +++ b/cli/info.go @@ -131,9 +131,8 @@ func infoCmdAct(cctx *cli.Context) error { if err != nil { if strings.Contains(err.Error(), "actor not found") { continue - } else { - return err } + return err } mbLockedSum = big.Add(mbLockedSum, mbal.Locked) mbAvailableSum = big.Add(mbAvailableSum, mbal.Escrow) diff --git a/cli/init_test.go b/cli/init_test.go index 8c343bcfabe..59914684ba2 100644 --- a/cli/init_test.go +++ b/cli/init_test.go @@ -5,5 +5,5 @@ import ( ) func init() { - logging.SetLogLevel("watchdog", "ERROR") + _ = logging.SetLogLevel("watchdog", "ERROR") } diff --git a/cli/sending_ui.go b/cli/sending_ui.go index d2d2ed3c110..c248feb3d3e 100644 --- a/cli/sending_ui.go +++ b/cli/sending_ui.go @@ -122,7 +122,7 @@ func printChecks(printer io.Writer, checkGroups [][]api.MessageCheckStatus, prot func askUser(printer io.Writer, q string, def bool) bool { var resp string fmt.Fprint(printer, q) - fmt.Scanln(&resp) + _, _ = fmt.Scanln(&resp) resp = strings.ToLower(resp) if len(resp) == 0 { return def diff --git a/cmd/curio/config_test.go b/cmd/curio/config_test.go index f5037abf4e6..8043017d5ea 100644 --- a/cmd/curio/config_test.go +++ b/cmd/curio/config_test.go @@ -13,7 +13,7 @@ import ( "github.com/filecoin-project/lotus/node/config" ) -var baseText string = ` +var baseText = ` [Subsystems] # EnableWindowPost enables window post to be executed on this curio instance. Each machine in the cluster # with WindowPoSt enabled will also participate in the window post scheduler. It is possible to have multiple diff --git a/cmd/lotus-bench/cli.go b/cmd/lotus-bench/cli.go index 0eaeb6ccba2..4379036d33a 100644 --- a/cmd/lotus-bench/cli.go +++ b/cmd/lotus-bench/cli.go @@ -270,7 +270,7 @@ func (c *CMD) startWorker(qpsTicker *time.Ticker) { start := time.Now() - var statusCode int = 0 + var statusCode int arr := strings.Fields(c.cmd) diff --git a/cmd/lotus-bench/main.go b/cmd/lotus-bench/main.go index 545ed1eb90b..1a7a0d08792 100644 --- a/cmd/lotus-bench/main.go +++ b/cmd/lotus-bench/main.go @@ -93,7 +93,7 @@ type Commit2In struct { } func main() { - logging.SetLogLevel("*", "INFO") + _ = logging.SetLogLevel("*", "INFO") log.Info("Starting lotus-bench") diff --git a/cmd/lotus-bench/reporter.go b/cmd/lotus-bench/reporter.go index ad2ad6b9d86..7ade7b19d00 100644 --- a/cmd/lotus-bench/reporter.go +++ b/cmd/lotus-bench/reporter.go @@ -88,7 +88,7 @@ func (r *Reporter) Print(elapsed time.Duration, w io.Writer) { return r.latencies[i] < r.latencies[j] }) - var totalLatency int64 = 0 + var totalLatency int64 for _, latency := range r.latencies { totalLatency += latency } diff --git a/cmd/lotus-fountain/main.go b/cmd/lotus-fountain/main.go index f6d503c2f3d..36d5faf0c29 100644 --- a/cmd/lotus-fountain/main.go +++ b/cmd/lotus-fountain/main.go @@ -30,7 +30,7 @@ import ( var log = logging.Logger("main") func main() { - logging.SetLogLevel("*", "INFO") + _ = logging.SetLogLevel("*", "INFO") log.Info("Starting fountain") diff --git a/cmd/lotus-health/main.go b/cmd/lotus-health/main.go index a7052f21480..59c81e7c91a 100644 --- a/cmd/lotus-health/main.go +++ b/cmd/lotus-health/main.go @@ -25,7 +25,7 @@ type CidWindow [][]cid.Cid var log = logging.Logger("lotus-health") func main() { - logging.SetLogLevel("*", "INFO") + _ = logging.SetLogLevel("*", "INFO") log.Info("Starting health agent") diff --git a/cmd/lotus-miner/sealing.go b/cmd/lotus-miner/sealing.go index b2f4dcab911..ed2b2d2948a 100644 --- a/cmd/lotus-miner/sealing.go +++ b/cmd/lotus-miner/sealing.go @@ -151,7 +151,7 @@ func workersCmd(sealing bool) *cli.Command { ramTotal := stat.Info.Resources.MemPhysical ramTasks := stat.MemUsedMin ramUsed := stat.Info.Resources.MemUsed - var ramReserved uint64 = 0 + var ramReserved uint64 if ramUsed > ramTasks { ramReserved = ramUsed - ramTasks } @@ -167,7 +167,7 @@ func workersCmd(sealing bool) *cli.Command { vmemTotal := stat.Info.Resources.MemPhysical + stat.Info.Resources.MemSwap vmemTasks := stat.MemUsedMax vmemUsed := stat.Info.Resources.MemUsed + stat.Info.Resources.MemSwapUsed - var vmemReserved uint64 = 0 + var vmemReserved uint64 if vmemUsed > vmemTasks { vmemReserved = vmemUsed - vmemTasks } diff --git a/cmd/lotus-miner/sectors.go b/cmd/lotus-miner/sectors.go index d0c13d33331..cf32f424895 100644 --- a/cmd/lotus-miner/sectors.go +++ b/cmd/lotus-miner/sectors.go @@ -1305,14 +1305,11 @@ var sectorsBatchingPendingCommit = &cli.Command{ return cctx.Command.Action(cctx) } else if userInput == "no" { return nil - } else { - fmt.Println("Invalid input. Please answer with 'yes' or 'no'.") - return nil } - - } else { - fmt.Println("No sectors queued to be committed") + fmt.Println("Invalid input. Please answer with 'yes' or 'no'.") + return nil } + fmt.Println("No sectors queued to be committed") return nil }, } @@ -1384,14 +1381,11 @@ var sectorsBatchingPendingPreCommit = &cli.Command{ return cctx.Command.Action(cctx) } else if userInput == "no" { return nil - } else { - fmt.Println("Invalid input. Please answer with 'yes' or 'no'.") - return nil } - - } else { - fmt.Println("No sectors queued to be committed") + fmt.Println("Invalid input. Please answer with 'yes' or 'no'.") + return nil } + fmt.Println("No sectors queued to be committed") return nil }, } diff --git a/cmd/lotus-seed/main.go b/cmd/lotus-seed/main.go index d362804c95d..9deae560eb9 100644 --- a/cmd/lotus-seed/main.go +++ b/cmd/lotus-seed/main.go @@ -26,7 +26,7 @@ import ( var log = logging.Logger("lotus-seed") func main() { - logging.SetLogLevel("*", "INFO") + _ = logging.SetLogLevel("*", "INFO") local := []*cli.Command{ genesisCmd, diff --git a/cmd/lotus-shed/balances.go b/cmd/lotus-shed/balances.go index 28569cd1212..666abbfe8aa 100644 --- a/cmd/lotus-shed/balances.go +++ b/cmd/lotus-shed/balances.go @@ -685,7 +685,7 @@ var chainPledgeCmd = &cli.Command{ }, ArgsUsage: "[stateroot epoch]", Action: func(cctx *cli.Context) error { - logging.SetLogLevel("badger", "ERROR") + _ = logging.SetLogLevel("badger", "ERROR") ctx := context.TODO() if !cctx.Args().Present() { @@ -916,13 +916,13 @@ var fillBalancesCmd = &cli.Command{ } w := csv.NewWriter(os.Stdout) - w.Write(append([]string{"Wallet Address"}, datestrs...)) // nolint:errcheck + _ = w.Write(append([]string{"Wallet Address"}, datestrs...)) for i := 0; i < len(addrs); i++ { row := []string{addrs[i].String()} for _, b := range balances[i] { row = append(row, types.FIL(b).String()) } - w.Write(row) // nolint:errcheck + _ = w.Write(row) } w.Flush() return nil diff --git a/cmd/lotus-shed/datastore.go b/cmd/lotus-shed/datastore.go index 5614e34f67f..8e31ccc3c44 100644 --- a/cmd/lotus-shed/datastore.go +++ b/cmd/lotus-shed/datastore.go @@ -57,7 +57,7 @@ var datastoreListCmd = &cli.Command{ }, ArgsUsage: "[namespace prefix]", Action: func(cctx *cli.Context) error { - logging.SetLogLevel("badger", "ERROR") // nolint:errcheck + _ = logging.SetLogLevel("badger", "ERROR") r, err := repo.NewFS(cctx.String("repo")) if err != nil { @@ -123,7 +123,7 @@ var datastoreGetCmd = &cli.Command{ }, ArgsUsage: "[namespace key]", Action: func(cctx *cli.Context) error { - logging.SetLogLevel("badger", "ERROR") // nolint:errcheck + _ = logging.SetLogLevel("badger", "ERROR") r, err := repo.NewFS(cctx.String("repo")) if err != nil { diff --git a/cmd/lotus-shed/diff.go b/cmd/lotus-shed/diff.go index a8eac657514..bdd2126b6d0 100644 --- a/cmd/lotus-shed/diff.go +++ b/cmd/lotus-shed/diff.go @@ -253,9 +253,8 @@ var diffStateTrees = &cli.Command{ if ok { diff(stateA, stateB) continue - } else { - fmt.Printf(" actor does not exist in second state-tree (%s)\n", rootB) } + fmt.Printf(" actor does not exist in second state-tree (%s)\n", rootB) fmt.Println() delete(changedB, addr) } @@ -265,9 +264,8 @@ var diffStateTrees = &cli.Command{ if ok { diff(stateA, stateB) continue - } else { - fmt.Printf(" actor does not exist in first state-tree (%s)\n", rootA) } + fmt.Printf(" actor does not exist in first state-tree (%s)\n", rootA) fmt.Println() } return nil diff --git a/cmd/lotus-shed/itestd.go b/cmd/lotus-shed/itestd.go index 7b9b7460dae..0ff37132221 100644 --- a/cmd/lotus-shed/itestd.go +++ b/cmd/lotus-shed/itestd.go @@ -64,7 +64,7 @@ var itestdCmd = &cli.Command{ cs := readline.NewCancelableStdin(os.Stdin) go func() { <-cctx.Done() - cs.Close() // nolint:errcheck + _ = cs.Close() }() rl := bufio.NewReader(cs) diff --git a/cmd/lotus-shed/market.go b/cmd/lotus-shed/market.go index 6fb1566b671..749941f4cd5 100644 --- a/cmd/lotus-shed/market.go +++ b/cmd/lotus-shed/market.go @@ -214,7 +214,7 @@ var marketExportDatastoreCmd = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - logging.SetLogLevel("badger", "ERROR") // nolint:errcheck + _ = logging.SetLogLevel("badger", "ERROR") // If the backup dir is not specified, just use the OS temp dir backupDir := cctx.String("backup-dir") @@ -332,7 +332,7 @@ var marketImportDatastoreCmd = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - logging.SetLogLevel("badger", "ERROR") // nolint:errcheck + _ = logging.SetLogLevel("badger", "ERROR") backupPath := cctx.String("backup-path") diff --git a/cmd/lotus-shed/rpc.go b/cmd/lotus-shed/rpc.go index 8ef79912921..42b99c664e2 100644 --- a/cmd/lotus-shed/rpc.go +++ b/cmd/lotus-shed/rpc.go @@ -67,7 +67,7 @@ var rpcCmd = &cli.Command{ cs := readline.NewCancelableStdin(afmt.Stdin) go func() { <-ctx.Done() - cs.Close() // nolint:errcheck + _ = cs.Close() }() send := func(method, params string) error { @@ -148,9 +148,8 @@ var rpcCmd = &cli.Command{ if err == readline.ErrInterrupt { if len(line) == 0 { break - } else { - continue } + continue } else if err == io.EOF { break } diff --git a/cmd/lotus-shed/state-stats.go b/cmd/lotus-shed/state-stats.go index 4eb00f98183..59e0d7a1624 100644 --- a/cmd/lotus-shed/state-stats.go +++ b/cmd/lotus-shed/state-stats.go @@ -723,7 +723,7 @@ to reduce the number of decode operations performed by caching the decoded objec go func() { // error is check later - eg.Wait() //nolint:errcheck + _ = eg.Wait() close(results) }() diff --git a/conformance/chaos/actor.go b/conformance/chaos/actor.go index 3a8b2b50af5..125e3a4347c 100644 --- a/conformance/chaos/actor.go +++ b/conformance/chaos/actor.go @@ -274,9 +274,8 @@ type AbortWithArgs struct { func (a Actor) AbortWith(rt runtime2.Runtime, args *AbortWithArgs) *abi.EmptyValue { if args.Uncontrolled { // uncontrolled abort: directly panic panic(args.Message) - } else { - rt.Abortf(args.Code, args.Message) } + rt.Abortf(args.Code, args.Message) return nil } diff --git a/curiosrc/market/lmrpc/lmrpc.go b/curiosrc/market/lmrpc/lmrpc.go index dd78802894a..7286cf3667d 100644 --- a/curiosrc/market/lmrpc/lmrpc.go +++ b/curiosrc/market/lmrpc/lmrpc.go @@ -339,7 +339,6 @@ func ServeCurioMarketRPC(db *harmonydb.DB, full api.FullNode, maddr address.Addr } }() } - pieceIDUrl := url.URL{ Scheme: "pieceref", Opaque: fmt.Sprintf("%d", refID), diff --git a/curiosrc/window/compute_do.go b/curiosrc/window/compute_do.go index 2c861ad3df4..fcde14d82f6 100644 --- a/curiosrc/window/compute_do.go +++ b/curiosrc/window/compute_do.go @@ -202,7 +202,7 @@ func (t *WdPostTask) DoPartition(ctx context.Context, ts *types.TipSet, maddr ad Proofs: postOut, ChallengedSectors: sinfos, Prover: abi.ActorID(mid), - }); err != nil { + }); err != nil { // revive:disable-line:empty-block /*log.Errorw("window post verification failed", "post", postOut, "error", err) time.Sleep(5 * time.Second) continue todo retry loop */ @@ -337,7 +337,7 @@ func (t *WdPostTask) sectorsForProof(ctx context.Context, maddr address.Address, } func (t *WdPostTask) generateWindowPoSt(ctx context.Context, ppt abi.RegisteredPoStProof, minerID abi.ActorID, sectorInfo []proof.ExtendedSectorInfo, randomness abi.PoStRandomness) ([]proof.PoStProof, []abi.SectorID, error) { - var retErr error = nil + var retErr error randomness[31] &= 0x3f out := make([]proof.PoStProof, 0) diff --git a/curiosrc/winning/winning_task.go b/curiosrc/winning/winning_task.go index 064696727e1..920a7339422 100644 --- a/curiosrc/winning/winning_task.go +++ b/curiosrc/winning/winning_task.go @@ -667,7 +667,7 @@ func (t *WinPostTask) computeTicket(ctx context.Context, maddr address.Address, func randTimeOffset(width time.Duration) time.Duration { buf := make([]byte, 8) - rand.Reader.Read(buf) //nolint:errcheck + _, _ = rand.Reader.Read(buf) val := time.Duration(binary.BigEndian.Uint64(buf) % uint64(width)) return val - (width / 2) diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index b3afaf36eba..218cc189da8 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -90,7 +90,7 @@ func (gw *Node) checkEthBlockParam(ctx context.Context, blkParam ethtypes.EthBlo return err } - var num ethtypes.EthUint64 = 0 + var num ethtypes.EthUint64 if blkParam.PredefinedBlock != nil { if *blkParam.PredefinedBlock == "earliest" { return fmt.Errorf("block param \"earliest\" is not supported") diff --git a/gen/bundle/bundle.go b/gen/bundle/bundle.go index f57ced15b43..64c13ec32c5 100644 --- a/gen/bundle/bundle.go +++ b/gen/bundle/bundle.go @@ -9,7 +9,7 @@ import ( "github.com/filecoin-project/lotus/build" ) -var tmpl *template.Template = template.Must(template.New("actor-metadata").Parse(` +var tmpl = template.Must(template.New("actor-metadata").Parse(` // WARNING: This file has automatically been generated package build diff --git a/itests/eth_filter_test.go b/itests/eth_filter_test.go index d77a0ce148b..114a4c2550a 100644 --- a/itests/eth_filter_test.go +++ b/itests/eth_filter_test.go @@ -579,7 +579,7 @@ func TestTxReceiptBloom(t *testing.T) { kit.MockProofs(), kit.ThroughRPC()) ens.InterconnectAll().BeginMining(blockTime) - logging.SetLogLevel("fullnode", "DEBUG") + _ = logging.SetLogLevel("fullnode", "DEBUG") ctx, cancel := context.WithTimeout(context.Background(), time.Minute) defer cancel() diff --git a/itests/gas_estimation_test.go b/itests/gas_estimation_test.go index 24013c8855b..1f3372afec5 100644 --- a/itests/gas_estimation_test.go +++ b/itests/gas_estimation_test.go @@ -125,7 +125,7 @@ func TestEstimateInclusion(t *testing.T) { // Mutate the last byte to get a new address of the same length. toBytes := msg.To.Bytes() - toBytes[len(toBytes)-1] += 1 //nolint:golint + toBytes[len(toBytes)-1] += 1 // revive:disable-line:increment-decrement newAddr, err := address.NewFromBytes(toBytes) require.NoError(t, err) @@ -158,7 +158,7 @@ func TestEstimateInclusion(t *testing.T) { msg.Nonce = 2 msg.To = msg.From - msg.GasLimit -= 1 //nolint:golint + msg.GasLimit -= 1 // revive:disable-line:increment-decrement smsg, err = client.WalletSignMessage(ctx, client.DefaultKey.Address, msg) require.NoError(t, err) diff --git a/itests/harmonytask_test.go b/itests/harmonytask_test.go index 95a3db8756a..94024e3e12e 100644 --- a/itests/harmonytask_test.go +++ b/itests/harmonytask_test.go @@ -32,7 +32,7 @@ func withDbSetup(t *testing.T, f func(*kit.TestMiner)) { kit.MockProofs(), kit.WithSectorIndexDB(), ) - logging.SetLogLevel("harmonytask", "debug") + _ = logging.SetLogLevel("harmonytask", "debug") f(miner) } diff --git a/itests/kit/client.go b/itests/kit/client.go index f7e4657603e..20ccb73b479 100644 --- a/itests/kit/client.go +++ b/itests/kit/client.go @@ -141,7 +141,7 @@ func createRandomFile(rseed, size int) ([]byte, string, error) { size = 1600 } data := make([]byte, size) - rand.New(rand.NewSource(int64(rseed))).Read(data) + _, _ = rand.New(rand.NewSource(int64(rseed))).Read(data) dir, err := os.MkdirTemp(os.TempDir(), "test-make-deal-") if err != nil { diff --git a/itests/kit/ensemble.go b/itests/kit/ensemble.go index 03a36dc4525..d635f98d4c1 100644 --- a/itests/kit/ensemble.go +++ b/itests/kit/ensemble.go @@ -709,9 +709,9 @@ func (n *Ensemble) Start() *Ensemble { var mineBlock = make(chan lotusminer.MineReq) - copy := *m.FullNode - copy.FullNode = modules.MakeUuidWrapper(copy.FullNode) - m.FullNode = © + minerCopy := *m.FullNode + minerCopy.FullNode = modules.MakeUuidWrapper(minerCopy.FullNode) + m.FullNode = &minerCopy opts := []node.Option{ node.StorageMiner(&m.StorageMiner, cfg.Subsystems), diff --git a/itests/splitstore_test.go b/itests/splitstore_test.go index ea59faf2a9f..ff2a60a3e99 100644 --- a/itests/splitstore_test.go +++ b/itests/splitstore_test.go @@ -413,9 +413,8 @@ func (g *Garbager) Exists(ctx context.Context, c cid.Cid) bool { } else if err != nil { g.t.Fatalf("ChainReadObj failure on existence check: %s", err) return false // unreachable - } else { - return true } + return true } func (g *Garbager) newPeerID(ctx context.Context) abi.ChainEpoch { diff --git a/lib/ulimit/ulimit_test.go b/lib/ulimit/ulimit_test.go index 071c6013c81..ad20feb1de9 100644 --- a/lib/ulimit/ulimit_test.go +++ b/lib/ulimit/ulimit_test.go @@ -46,8 +46,8 @@ func TestManageInvalidNFds(t *testing.T) { t.Logf("setting ulimit to %d, max %d, cur %d", value, rlimit.Max, rlimit.Cur) - if changed, new, err := ManageFdLimit(); err == nil { - t.Errorf("ManageFdLimit should return an error: changed %t, new: %d", changed, new) + if changed, isNew, err := ManageFdLimit(); err == nil { + t.Errorf("ManageFdLimit should return an error: changed %t, new: %d", changed, isNew) } else if err != nil { flag := strings.Contains(err.Error(), "failed to raise ulimit to LOTUS_FD_MAX") diff --git a/markets/dagstore/miner_api.go b/markets/dagstore/miner_api.go index 8a12097d5f2..5024bfbb273 100644 --- a/markets/dagstore/miner_api.go +++ b/markets/dagstore/miner_api.go @@ -201,7 +201,7 @@ func (m *minerAPI) GetUnpaddedCARSize(ctx context.Context, pieceCid cid.Cid) (ui return 0, xerrors.Errorf("no storage deals found for piece %s", pieceCid) } - len := pieceInfo.Deals[0].Length + l := pieceInfo.Deals[0].Length - return uint64(len), nil + return uint64(l), nil } diff --git a/markets/dagstore/miner_api_test.go b/markets/dagstore/miner_api_test.go index 08135b3a553..d13b098fc7f 100644 --- a/markets/dagstore/miner_api_test.go +++ b/markets/dagstore/miner_api_test.go @@ -129,9 +129,9 @@ func TestLotusAccessorGetUnpaddedCARSize(t *testing.T) { // Check that the data length is correct //stm: @MARKET_DAGSTORE_GET_UNPADDED_CAR_SIZE_001 - len, err := api.GetUnpaddedCARSize(ctx, cid1) + l, err := api.GetUnpaddedCARSize(ctx, cid1) require.NoError(t, err) - require.EqualValues(t, 10, len) + require.EqualValues(t, 10, l) } func TestThrottle(t *testing.T) { diff --git a/miner/miner.go b/miner/miner.go index d11e9d4aa04..4f27c53dbcd 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -53,7 +53,7 @@ type waitFunc func(ctx context.Context, baseTime uint64) (func(bool, abi.ChainEp func randTimeOffset(width time.Duration) time.Duration { buf := make([]byte, 8) - rand.Reader.Read(buf) //nolint:errcheck + _, _ = rand.Reader.Read(buf) val := time.Duration(binary.BigEndian.Uint64(buf) % uint64(width)) return val - (width / 2) diff --git a/node/health.go b/node/health.go index 1be11921c0c..90ba38378ac 100644 --- a/node/health.go +++ b/node/health.go @@ -48,7 +48,7 @@ func NewLiveHandler(api lapi.FullNode) *HealthHandler { var ( countdown int32 headCh <-chan []*lapi.HeadChange - backoff time.Duration = minbackoff + backoff = minbackoff err error ) minutely := time.NewTicker(time.Minute) @@ -66,10 +66,9 @@ func NewLiveHandler(api lapi.FullNode) *HealthHandler { } backoff = nextbackoff continue - } else { - healthlog.Infof("started ChainNotify channel") - backoff = minbackoff } + healthlog.Infof("started ChainNotify channel") + backoff = minbackoff } select { case <-minutely.C: diff --git a/node/impl/full/chain.go b/node/impl/full/chain.go index 1d6b8e566fa..ce677978028 100644 --- a/node/impl/full/chain.go +++ b/node/impl/full/chain.go @@ -644,8 +644,8 @@ func (a *ChainAPI) ChainExport(ctx context.Context, nroots abi.ChainEpoch, skipo bw := bufio.NewWriterSize(w, 1<<20) err := a.Chain.Export(ctx, ts, nroots, skipoldmsgs, bw) - bw.Flush() //nolint:errcheck // it is a write to a pipe - w.CloseWithError(err) //nolint:errcheck // it is a pipe + _ = bw.Flush() // it is a write to a pipe + _ = w.CloseWithError(err) // it is a pipe }() go func() { diff --git a/node/impl/full/eth_utils.go b/node/impl/full/eth_utils.go index 1d7bfac5a39..76e891006fe 100644 --- a/node/impl/full/eth_utils.go +++ b/node/impl/full/eth_utils.go @@ -92,9 +92,8 @@ func getTipsetByEthBlockNumberOrHash(ctx context.Context, chain *store.ChainStor return nil, fmt.Errorf("cannot get parent tipset") } return parent, nil - } else { - return nil, fmt.Errorf("unknown predefined block %s", *predefined) } + return nil, fmt.Errorf("unknown predefined block %s", *predefined) } if blkParam.BlockNumber != nil { @@ -298,7 +297,7 @@ func executeTipset(ctx context.Context, ts *types.TipSet, cs *store.ChainStore, const errorFunctionSelector = "\x08\xc3\x79\xa0" // Error(string) const panicFunctionSelector = "\x4e\x48\x7b\x71" // Panic(uint256) // Eth ABI (solidity) panic codes. -var panicErrorCodes map[uint64]string = map[uint64]string{ +var panicErrorCodes = map[uint64]string{ 0x00: "Panic()", 0x01: "Assert()", 0x11: "ArithmeticOverflow()", @@ -398,19 +397,19 @@ func lookupEthAddress(addr address.Address, st *state.StateTree) (ethtypes.EthAd } // Lookup on the target actor and try to get an f410 address. - if actor, err := st.GetActor(idAddr); errors.Is(err, types.ErrActorNotFound) { - // Not found -> use a masked ID address - } else if err != nil { - // Any other error -> fail. - return ethtypes.EthAddress{}, err - } else if actor.Address == nil { - // No delegated address -> use masked ID address. - } else if ethAddr, err := ethtypes.EthAddressFromFilecoinAddress(*actor.Address); err == nil && !ethAddr.IsMaskedID() { - // Conversable into an eth address, use it. - return ethAddr, nil - } + if actor, err := st.GetActor(idAddr); !errors.Is(err, types.ErrActorNotFound) { + if err != nil { + // Any other error -> fail. + return ethtypes.EthAddress{}, err + } + if actor.Address != nil { + if ethAddr, err := ethtypes.EthAddressFromFilecoinAddress(*actor.Address); err == nil && !ethAddr.IsMaskedID() { + // Conversable into an eth address, use it. + return ethAddr, nil + } + } // else no delegated address -> use masked ID address. + } // else not found -> use a masked ID address - // Otherwise, use the masked address. return ethtypes.EthAddressFromFilecoinAddress(idAddr) } @@ -456,9 +455,9 @@ func ethTxHashFromSignedMessage(smsg *types.SignedMessage) (ethtypes.EthHash, er return tx.TxHash() } else if smsg.Signature.Type == crypto.SigTypeSecp256k1 { return ethtypes.EthHashFromCid(smsg.Cid()) - } else { // BLS message - return ethtypes.EthHashFromCid(smsg.Message.Cid()) } + // else BLS message + return ethtypes.EthHashFromCid(smsg.Message.Cid()) } func newEthTxFromSignedMessage(smsg *types.SignedMessage, st *state.StateTree) (ethtypes.EthTx, error) { @@ -817,8 +816,8 @@ func encodeAsABIHelper(param1 uint64, param2 uint64, data []byte) []byte { if len(data)%EVM_WORD_SIZE != 0 { totalWords++ } - len := totalWords * EVM_WORD_SIZE - buf := make([]byte, len) + l := totalWords * EVM_WORD_SIZE + buf := make([]byte, l) offset := 0 // Below, we use copy instead of "appending" to preserve all the zero padding. for _, arg := range staticArgs { diff --git a/node/impl/full/state.go b/node/impl/full/state.go index ed6fd668545..6a4f6d5537e 100644 --- a/node/impl/full/state.go +++ b/node/impl/full/state.go @@ -965,9 +965,8 @@ func (a *StateAPI) StateComputeDataCID(ctx context.Context, maddr address.Addres return a.stateComputeDataCIDv1(ctx, maddr, sectorType, deals, tsk) } else if nv < network.Version21 { return a.stateComputeDataCIDv2(ctx, maddr, sectorType, deals, tsk) - } else { - return a.stateComputeDataCIDv3(ctx, maddr, sectorType, deals, tsk) } + return a.stateComputeDataCIDv3(ctx, maddr, sectorType, deals, tsk) } func (a *StateAPI) stateComputeDataCIDv1(ctx context.Context, maddr address.Address, sectorType abi.RegisteredSealProof, deals []abi.DealID, tsk types.TipSetKey) (cid.Cid, error) { diff --git a/node/modules/lp2p/pubsub.go b/node/modules/lp2p/pubsub.go index 2b3efce6c44..408ab17a63e 100644 --- a/node/modules/lp2p/pubsub.go +++ b/node/modules/lp2p/pubsub.go @@ -594,7 +594,7 @@ func (trw *tracerWrapper) Trace(evt *pubsub_pb.TraceEvent) { msgsRPC := evt.GetRecvRPC().GetMeta().GetMessages() // check if any of the messages we are sending belong to a trackable topic - var validTopic bool = false + var validTopic = false for _, topic := range msgsRPC { if trw.traceMessage(topic.GetTopic()) { validTopic = true @@ -602,7 +602,7 @@ func (trw *tracerWrapper) Trace(evt *pubsub_pb.TraceEvent) { } } // track if the Iwant / Ihave messages are from a valid Topic - var validIhave bool = false + var validIhave = false for _, msgs := range ihave { if trw.traceMessage(msgs.GetTopic()) { validIhave = true @@ -630,7 +630,7 @@ func (trw *tracerWrapper) Trace(evt *pubsub_pb.TraceEvent) { msgsRPC := evt.GetSendRPC().GetMeta().GetMessages() // check if any of the messages we are sending belong to a trackable topic - var validTopic bool = false + var validTopic = false for _, topic := range msgsRPC { if trw.traceMessage(topic.GetTopic()) { validTopic = true @@ -638,7 +638,7 @@ func (trw *tracerWrapper) Trace(evt *pubsub_pb.TraceEvent) { } } // track if the Iwant / Ihave messages are from a valid Topic - var validIhave bool = false + var validIhave = false for _, msgs := range ihave { if trw.traceMessage(msgs.GetTopic()) { validIhave = true diff --git a/node/modules/lp2p/rcmgr.go b/node/modules/lp2p/rcmgr.go index 92c3bca6f79..75a09068cc7 100644 --- a/node/modules/lp2p/rcmgr.go +++ b/node/modules/lp2p/rcmgr.go @@ -41,7 +41,7 @@ func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo, log.Info("libp2p resource manager is enabled") // enable debug logs for rcmgr - logging.SetLogLevel("rcmgr", "debug") + _ = logging.SetLogLevel("rcmgr", "debug") // Adjust default defaultLimits // - give it more memory, up to 4G, min of 1G diff --git a/node/repo/fsrepo.go b/node/repo/fsrepo.go index 6cac14c0133..ec35f8f3078 100644 --- a/node/repo/fsrepo.go +++ b/node/repo/fsrepo.go @@ -288,7 +288,7 @@ func (fsr *FsRepo) Init(t RepoType) error { } log.Infof("Initializing repo at '%s'", fsr.path) - err = os.MkdirAll(fsr.path, 0755) //nolint: gosec + err = os.MkdirAll(fsr.path, 0755) if err != nil && !os.IsExist(err) { return err } diff --git a/storage/paths/index_test.go b/storage/paths/index_test.go index 8793b881463..328717bb40d 100644 --- a/storage/paths/index_test.go +++ b/storage/paths/index_test.go @@ -15,7 +15,7 @@ import ( ) func init() { - logging.SetLogLevel("stores", "DEBUG") + _ = logging.SetLogLevel("stores", "DEBUG") } func newTestStorage() storiface.StorageInfo { diff --git a/storage/sealer/ffiwrapper/sealer_test.go b/storage/sealer/ffiwrapper/sealer_test.go index 59821e795a0..250d057e33f 100644 --- a/storage/sealer/ffiwrapper/sealer_test.go +++ b/storage/sealer/ffiwrapper/sealer_test.go @@ -37,7 +37,7 @@ import ( ) func init() { - logging.SetLogLevel("*", "DEBUG") //nolint: errcheck + _ = logging.SetLogLevel("*", "DEBUG") } var sealProofType = abi.RegisteredSealProof_StackedDrg2KiBV1 diff --git a/storage/sealer/manager_post.go b/storage/sealer/manager_post.go index 27a71ef8caf..a1020d4b6c8 100644 --- a/storage/sealer/manager_post.go +++ b/storage/sealer/manager_post.go @@ -108,7 +108,7 @@ func dedupeSectorInfo(sectorInfo []proof.ExtendedSectorInfo) []proof.ExtendedSec } func (m *Manager) generateWindowPoSt(ctx context.Context, minerID abi.ActorID, ppt abi.RegisteredPoStProof, sectorInfo []proof.ExtendedSectorInfo, randomness abi.PoStRandomness) ([]proof.PoStProof, []abi.SectorID, error) { - var retErr error = nil + var retErr error randomness[31] &= 0x3f out := make([]proof.PoStProof, 0) diff --git a/storage/sealer/sched_post.go b/storage/sealer/sched_post.go index c6bd8182976..4b9769d6820 100644 --- a/storage/sealer/sched_post.go +++ b/storage/sealer/sched_post.go @@ -56,7 +56,7 @@ func (ps *poStScheduler) MaybeAddWorker(wid storiface.WorkerID, tasks map[sealta func (ps *poStScheduler) delWorker(wid storiface.WorkerID) *WorkerHandle { ps.lk.Lock() defer ps.lk.Unlock() - var w *WorkerHandle = nil + var w *WorkerHandle if wh, ok := ps.workers[wid]; ok { w = wh delete(ps.workers, wid) diff --git a/storage/wdpost/wdpost_changehandler_test.go b/storage/wdpost/wdpost_changehandler_test.go index 44d0dfe6d02..c2d993bee9e 100644 --- a/storage/wdpost/wdpost_changehandler_test.go +++ b/storage/wdpost/wdpost_changehandler_test.go @@ -84,10 +84,10 @@ func (m *mockAPI) setDeadline(di *dline.Info) { } func (m *mockAPI) getDeadline(currentEpoch abi.ChainEpoch) *dline.Info { - close := minertypes.WPoStChallengeWindow - 1 + closeEpoch := minertypes.WPoStChallengeWindow - 1 dlIdx := uint64(0) - for close < currentEpoch { - close += minertypes.WPoStChallengeWindow + for closeEpoch < currentEpoch { + closeEpoch += minertypes.WPoStChallengeWindow dlIdx++ } return NewDeadlineInfo(0, dlIdx, currentEpoch) diff --git a/storage/wdpost/wdpost_run_faults.go b/storage/wdpost/wdpost_run_faults.go index 3a41cc4cce4..250be0c3ab7 100644 --- a/storage/wdpost/wdpost_run_faults.go +++ b/storage/wdpost/wdpost_run_faults.go @@ -23,7 +23,7 @@ import ( "github.com/filecoin-project/lotus/chain/types" ) -var RecoveringSectorLimit uint64 = 0 +var RecoveringSectorLimit uint64 func init() { if rcl := os.Getenv("LOTUS_RECOVERING_SECTOR_LIMIT"); rcl != "" { From 61061960c6132a5b394cdc28828ee6d09f1f4964 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Mon, 13 May 2024 12:29:13 +1000 Subject: [PATCH 18/48] chore: lint: address feedback from reviews --- itests/kit/client.go | 5 ++++- markets/dagstore/miner_api.go | 4 +--- node/impl/full/eth_utils.go | 29 +++++++++++++++-------------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/itests/kit/client.go b/itests/kit/client.go index 20ccb73b479..18e4259e4e8 100644 --- a/itests/kit/client.go +++ b/itests/kit/client.go @@ -141,7 +141,10 @@ func createRandomFile(rseed, size int) ([]byte, string, error) { size = 1600 } data := make([]byte, size) - _, _ = rand.New(rand.NewSource(int64(rseed))).Read(data) + _, err := rand.New(rand.NewSource(int64(rseed))).Read(data) + if err != nil { + return nil, "", err + } dir, err := os.MkdirTemp(os.TempDir(), "test-make-deal-") if err != nil { diff --git a/markets/dagstore/miner_api.go b/markets/dagstore/miner_api.go index 5024bfbb273..773654af8ed 100644 --- a/markets/dagstore/miner_api.go +++ b/markets/dagstore/miner_api.go @@ -201,7 +201,5 @@ func (m *minerAPI) GetUnpaddedCARSize(ctx context.Context, pieceCid cid.Cid) (ui return 0, xerrors.Errorf("no storage deals found for piece %s", pieceCid) } - l := pieceInfo.Deals[0].Length - - return uint64(l), nil + return uint64(pieceInfo.Deals[0].Length), nil } diff --git a/node/impl/full/eth_utils.go b/node/impl/full/eth_utils.go index 76e891006fe..aac5ee3c7ec 100644 --- a/node/impl/full/eth_utils.go +++ b/node/impl/full/eth_utils.go @@ -396,19 +396,20 @@ func lookupEthAddress(addr address.Address, st *state.StateTree) (ethtypes.EthAd return ethtypes.EthAddress{}, err } + // revive:disable:empty-block easier to grok when the cases are explicit + // Lookup on the target actor and try to get an f410 address. - if actor, err := st.GetActor(idAddr); !errors.Is(err, types.ErrActorNotFound) { - if err != nil { - // Any other error -> fail. - return ethtypes.EthAddress{}, err - } - if actor.Address != nil { - if ethAddr, err := ethtypes.EthAddressFromFilecoinAddress(*actor.Address); err == nil && !ethAddr.IsMaskedID() { - // Conversable into an eth address, use it. - return ethAddr, nil - } - } // else no delegated address -> use masked ID address. - } // else not found -> use a masked ID address + if actor, err := st.GetActor(idAddr); errors.Is(err, types.ErrActorNotFound) { + // Not found -> use a masked ID address + } else if err != nil { + // Any other error -> fail. + return ethtypes.EthAddress{}, err + } else if actor.Address == nil { + // No delegated address -> use masked ID address. + } else if ethAddr, err := ethtypes.EthAddressFromFilecoinAddress(*actor.Address); err == nil && !ethAddr.IsMaskedID() { + // Conversable into an eth address, use it. + return ethAddr, nil + } return ethtypes.EthAddressFromFilecoinAddress(idAddr) } @@ -816,8 +817,8 @@ func encodeAsABIHelper(param1 uint64, param2 uint64, data []byte) []byte { if len(data)%EVM_WORD_SIZE != 0 { totalWords++ } - l := totalWords * EVM_WORD_SIZE - buf := make([]byte, l) + sz := totalWords * EVM_WORD_SIZE + buf := make([]byte, sz) offset := 0 // Below, we use copy instead of "appending" to preserve all the zero padding. for _, arg := range staticArgs { From e40f0d207124edda6fab8fd37be21e41c4b1738b Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Fri, 17 May 2024 11:06:47 +1000 Subject: [PATCH 19/48] doc: eth: restore comment lost in linter cleanup Ref: https://github.com/filecoin-project/lotus/pull/11968 --- node/impl/full/eth_utils.go | 1 + 1 file changed, 1 insertion(+) diff --git a/node/impl/full/eth_utils.go b/node/impl/full/eth_utils.go index aac5ee3c7ec..a4b1c66bb84 100644 --- a/node/impl/full/eth_utils.go +++ b/node/impl/full/eth_utils.go @@ -411,6 +411,7 @@ func lookupEthAddress(addr address.Address, st *state.StateTree) (ethtypes.EthAd return ethAddr, nil } + // Otherwise, use the masked address. return ethtypes.EthAddressFromFilecoinAddress(idAddr) } From 278a479df398396dcbea139367d153576cd3c277 Mon Sep 17 00:00:00 2001 From: Aarsh Shah Date: Mon, 27 May 2024 21:17:54 +0400 Subject: [PATCH 20/48] chore: libp2p: update to v0.34.1 (#12027) * update libp2p to v0.34.0 * fix libp2p err * fix imports * update go mod * update go mod --- go.mod | 110 ++++++++++-------- go.sum | 268 ++++++++++++++++++++++++++++--------------- node/impl/net/net.go | 8 +- 3 files changed, 243 insertions(+), 143 deletions(-) diff --git a/go.mod b/go.mod index 6f58e2fa957..e14b935ad77 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/filecoin-project/lotus -go 1.21 +go 1.22 + +toolchain go1.22.1 retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead. @@ -69,20 +71,20 @@ require ( github.com/go-openapi/spec v0.19.11 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.6.0 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket v1.5.1 github.com/gregdhill/go-openrpc v0.0.0-20220114144539-ae6f44720487 github.com/hako/durafmt v0.0.0-20200710122514-c0fb7b4da026 github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e github.com/hashicorp/go-multierror v1.1.1 - github.com/hashicorp/golang-lru/arc/v2 v2.0.5 + github.com/hashicorp/golang-lru/arc/v2 v2.0.7 github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/icza/backscanner v0.0.0-20210726202459-ac2ffc679f94 github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab github.com/invopop/jsonschema v0.12.0 github.com/ipfs/bbloom v0.0.4 - github.com/ipfs/boxo v0.18.0 + github.com/ipfs/boxo v0.20.0 github.com/ipfs/go-block-format v0.2.0 github.com/ipfs/go-cid v0.4.1 github.com/ipfs/go-cidutil v0.1.0 @@ -99,7 +101,7 @@ require ( github.com/ipfs/go-metrics-interface v0.0.1 github.com/ipfs/go-metrics-prometheus v0.0.2 github.com/ipfs/go-unixfsnode v1.9.0 - github.com/ipld/go-car v0.6.1 + github.com/ipld/go-car v0.6.2 github.com/ipld/go-car/v2 v2.13.1 github.com/ipld/go-codec-dagpb v1.6.0 github.com/ipld/go-ipld-prime v0.21.0 @@ -111,9 +113,9 @@ require ( github.com/kelseyhightower/envconfig v1.4.0 github.com/koalacxr/quantile v0.0.1 github.com/libp2p/go-buffer-pool v0.1.0 - github.com/libp2p/go-libp2p v0.33.2 + github.com/libp2p/go-libp2p v0.34.1 github.com/libp2p/go-libp2p-kad-dht v0.25.2 - github.com/libp2p/go-libp2p-pubsub v0.10.1 + github.com/libp2p/go-libp2p-pubsub v0.11.0 github.com/libp2p/go-libp2p-record v0.2.0 github.com/libp2p/go-libp2p-routing-helpers v0.7.3 github.com/libp2p/go-maddr-filter v0.1.0 @@ -125,7 +127,7 @@ require ( github.com/minio/sha256-simd v1.0.1 github.com/mitchellh/go-homedir v1.1.0 github.com/multiformats/go-base32 v0.1.0 - github.com/multiformats/go-multiaddr v0.12.3 + github.com/multiformats/go-multiaddr v0.12.4 github.com/multiformats/go-multiaddr-dns v0.3.1 github.com/multiformats/go-multibase v0.2.0 github.com/multiformats/go-multicodec v0.9.0 @@ -134,7 +136,7 @@ require ( github.com/open-rpc/meta-schema v0.0.0-20201029221707-1b72ef2ea333 github.com/pkg/errors v0.9.1 github.com/polydawn/refmt v0.89.0 - github.com/prometheus/client_golang v1.18.0 + github.com/prometheus/client_golang v1.19.1 github.com/puzpuzpuz/xsync/v2 v2.4.0 github.com/raulk/clock v1.1.0 github.com/raulk/go-watchdog v1.3.0 @@ -152,23 +154,23 @@ require ( github.com/zondax/ledger-filecoin-go v0.11.1 github.com/zyedidia/generic v1.2.1 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.21.0 + go.opentelemetry.io/otel v1.26.0 go.opentelemetry.io/otel/bridge/opencensus v0.39.0 go.opentelemetry.io/otel/exporters/jaeger v1.14.0 - go.opentelemetry.io/otel/sdk v1.21.0 + go.opentelemetry.io/otel/sdk v1.26.0 go.uber.org/atomic v1.11.0 - go.uber.org/fx v1.20.1 + go.uber.org/fx v1.21.1 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.21.0 - golang.org/x/exp v0.0.0-20240213143201-ec583247a57a - golang.org/x/net v0.23.0 - golang.org/x/sync v0.6.0 - golang.org/x/sys v0.18.0 - golang.org/x/term v0.18.0 - golang.org/x/text v0.14.0 + golang.org/x/crypto v0.23.0 + golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 + golang.org/x/net v0.25.0 + golang.org/x/sync v0.7.0 + golang.org/x/sys v0.20.0 + golang.org/x/term v0.20.0 + golang.org/x/text v0.15.0 golang.org/x/time v0.5.0 - golang.org/x/tools v0.18.0 + golang.org/x/tools v0.21.0 golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 gopkg.in/cheggaaa/pb.v1 v1.0.28 gotest.tools v2.2.0+incompatible @@ -189,7 +191,7 @@ require ( github.com/bep/debounce v1.2.1 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cilium/ebpf v0.9.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/crackcomm/go-gitignore v0.0.0-20231225121904-e25f5bc08668 // indirect @@ -197,7 +199,7 @@ require ( github.com/daaku/go.zipexe v1.0.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/drand/kyber-bls12381 v0.3.1 // indirect @@ -219,26 +221,26 @@ require ( github.com/go-openapi/jsonpointer v0.19.3 // indirect github.com/go-openapi/jsonreference v0.19.4 // indirect github.com/go-openapi/swag v0.19.11 // indirect - github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.1.2 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/gopacket v1.1.19 // indirect - github.com/google/pprof v0.0.0-20240207164012-fb44976bdcd5 // indirect + github.com/google/pprof v0.0.0-20240509144519-723abb6459b7 // indirect github.com/hannahhoward/cbor-gen-for v0.0.0-20230214144701-5d17c9d5243c // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/huin/goupnp v1.3.0 // indirect github.com/iancoleman/orderedmap v0.1.0 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect - github.com/ipfs/go-blockservice v0.5.1 // indirect - github.com/ipfs/go-ipfs-blockstore v1.3.0 // indirect + github.com/ipfs/go-blockservice v0.5.2 // indirect + github.com/ipfs/go-ipfs-blockstore v1.3.1 // indirect github.com/ipfs/go-ipfs-delay v0.0.1 // indirect - github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect - github.com/ipfs/go-ipfs-exchange-interface v0.2.0 // indirect + github.com/ipfs/go-ipfs-ds-help v1.1.1 // indirect + github.com/ipfs/go-ipfs-exchange-interface v0.2.1 // indirect github.com/ipfs/go-ipfs-pq v0.0.3 // indirect github.com/ipfs/go-ipfs-util v0.0.3 // indirect github.com/ipfs/go-ipld-legacy v0.2.1 // indirect @@ -246,7 +248,7 @@ require ( github.com/ipfs/go-log v1.0.5 // indirect github.com/ipfs/go-merkledag v0.11.0 // indirect github.com/ipfs/go-peertaskqueue v0.8.1 // indirect - github.com/ipfs/go-verifcid v0.0.2 // indirect + github.com/ipfs/go-verifcid v0.0.3 // indirect github.com/ipld/go-ipld-adl-hamt v0.0.0-20220616142416-9004dbd839e0 // indirect github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect @@ -279,7 +281,7 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect - github.com/miekg/dns v1.1.58 // indirect + github.com/miekg/dns v1.1.59 // indirect github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect github.com/mr-tron/base58 v1.2.0 // indirect @@ -290,19 +292,35 @@ require ( github.com/multiformats/go-multistream v0.5.0 // indirect github.com/nikkolasg/hexjson v0.1.0 // indirect github.com/nkovacs/streamquote v1.0.0 // indirect - github.com/onsi/ginkgo/v2 v2.15.0 // indirect + github.com/onsi/ginkgo/v2 v2.17.3 // indirect github.com/opencontainers/runtime-spec v1.2.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 // indirect + github.com/pion/datachannel v1.5.6 // indirect + github.com/pion/dtls/v2 v2.2.11 // indirect + github.com/pion/ice/v2 v2.3.24 // indirect + github.com/pion/interceptor v0.1.29 // indirect + github.com/pion/logging v0.2.2 // indirect + github.com/pion/mdns v0.0.12 // indirect + github.com/pion/randutil v0.1.0 // indirect + github.com/pion/rtcp v1.2.14 // indirect + github.com/pion/rtp v1.8.6 // indirect + github.com/pion/sctp v1.8.16 // indirect + github.com/pion/sdp/v3 v3.0.9 // indirect + github.com/pion/srtp/v2 v2.0.18 // indirect + github.com/pion/stun v0.6.1 // indirect + github.com/pion/transport/v2 v2.2.5 // indirect + github.com/pion/turn/v2 v2.1.6 // indirect + github.com/pion/webrtc/v3 v3.2.40 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.47.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/procfs v0.15.0 // indirect github.com/prometheus/statsd_exporter v0.22.7 // indirect github.com/quic-go/qpack v0.4.0 // indirect - github.com/quic-go/quic-go v0.42.0 // indirect - github.com/quic-go/webtransport-go v0.6.0 // indirect + github.com/quic-go/quic-go v0.44.0 // indirect + github.com/quic-go/webtransport-go v0.8.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shirou/gopsutil v2.18.12+incompatible // indirect @@ -321,21 +339,21 @@ require ( github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect - go.opentelemetry.io/otel/metric v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.26.0 // indirect go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect - go.opentelemetry.io/otel/trace v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.26.0 // indirect go.uber.org/dig v1.17.1 // indirect go.uber.org/mock v0.4.0 // indirect go4.org v0.0.0-20230225012048-214862532bf5 // indirect - golang.org/x/mod v0.15.0 // indirect - gonum.org/v1/gonum v0.14.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect - google.golang.org/grpc v1.60.1 // indirect - google.golang.org/protobuf v1.33.0 // indirect + golang.org/x/mod v0.17.0 // indirect + gonum.org/v1/gonum v0.15.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect + google.golang.org/grpc v1.64.0 // indirect + google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect - lukechampine.com/blake3 v1.2.1 // indirect + lukechampine.com/blake3 v1.3.0 // indirect ) // https://github.com/magik6k/reflink/commit/cff5a40f3eeca17f44fc95a57ff3878e5ac761dc diff --git a/go.sum b/go.sum index b7c3a49df10..61c91071f64 100644 --- a/go.sum +++ b/go.sum @@ -166,8 +166,8 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charmbracelet/lipgloss v0.10.0 h1:KWeXFSexGcfahHX+54URiZGkBFazf70JNMtwg/AFW3s= github.com/charmbracelet/lipgloss v0.10.0/go.mod h1:Wig9DSfvANsxqkRsqj6x87irdy123SR4dOXlKa91ciE= github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= @@ -230,8 +230,8 @@ github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e h1:lj77EKYUpYXTd8CD/+QMIf8b6OIOTsfEBSXiAzuEHTU= @@ -293,8 +293,8 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.8.0/go.mod h1:3l45GVGkyrnYNl9HoIjnp2NnNWvh6hLAqD8yTfGjnw8= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= -github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= -github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/filecoin-project/dagstore v0.5.2 h1:Nd6oXdnolbbVhpMpkYT5PJHOjQp4OBSntHpMV5pxj3c= github.com/filecoin-project/dagstore v0.5.2/go.mod h1:mdqKzYrRBHf1pRMthYfMv3n37oOw0Tkx7+TxPt240M0= github.com/filecoin-project/go-address v0.0.3/go.mod h1:jr8JxKsYx+lQlQZmF5i2U0Z+cGQ59wMIps/8YW/lDj8= @@ -463,8 +463,8 @@ github.com/go-openapi/swag v0.19.11 h1:RFTu/dlFySpyVvJDfp/7674JY4SDglYWKztbiIGFp github.com/go-openapi/swag v0.19.11/go.mod h1:Uc0gKkdR+ojzsEpjh39QChyu92vPgIr72POcgHMAgSY= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= @@ -489,8 +489,8 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/gogo/status v1.1.1 h1:DuHXlSFHNKqTQ+/ACf5Vs6r4X/dH2EgIzR9Vr+H65kg= github.com/gogo/status v1.1.1/go.mod h1:jpG3dM5QPcqu19Hg8lkUhBFBa3TcLs1DG7+2Jqci7oU= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -525,8 +525,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -566,15 +566,16 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20240207164012-fb44976bdcd5 h1:E/LAvt58di64hlYjx7AsNS6C/ysHWYo+2qPCZKTQhRo= -github.com/google/pprof v0.0.0-20240207164012-fb44976bdcd5/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/pprof v0.0.0-20240509144519-723abb6459b7 h1:velgFPYr1X9TDwLIfkV7fWqsFlf7TeP11M/7kPd/dVI= +github.com/google/pprof v0.0.0-20240509144519-723abb6459b7/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -638,8 +639,8 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru/arc/v2 v2.0.5 h1:l2zaLDubNhW4XO3LnliVj0GXO3+/CGNJAg1dcN2Fpfw= -github.com/hashicorp/golang-lru/arc/v2 v2.0.5/go.mod h1:ny6zBSQZi2JxIeYcv7kt2sH2PXJtirBN7RDhRpxPkxU= +github.com/hashicorp/golang-lru/arc/v2 v2.0.7 h1:QxkVTxwColcduO+LP7eJO56r2hFiG8zEbfAAzRv52KQ= +github.com/hashicorp/golang-lru/arc/v2 v2.0.7/go.mod h1:Pe7gBlGdc8clY5LJ0LpJXMt5AmgmWNH1g+oFFVUHOEc= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= @@ -672,8 +673,8 @@ github.com/invopop/jsonschema v0.12.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uO github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= -github.com/ipfs/boxo v0.18.0 h1:MOL9/AgoV3e7jlVMInicaSdbgralfqSsbkc31dZ9tmw= -github.com/ipfs/boxo v0.18.0/go.mod h1:pIZgTWdm3k3pLF9Uq6MB8JEcW07UDwNJjlXW1HELW80= +github.com/ipfs/boxo v0.20.0 h1:umUl7q1v5g5AX8FPLTnZBvvagLmT+V0Tt61EigP81ec= +github.com/ipfs/boxo v0.20.0/go.mod h1:mwttn53Eibgska2DhVIj7ln3UViq7MVHRxOMb+ehSDM= github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA= github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU= github.com/ipfs/go-bitswap v0.1.0/go.mod h1:FFJEf18E9izuCqUtHxbWEvq+reg7o4CW5wSAE1wsxj0= @@ -688,8 +689,8 @@ github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNi github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM= github.com/ipfs/go-blockservice v0.1.0/go.mod h1:hzmMScl1kXHg3M2BjTymbVPjv627N7sYcvYaKbop39M= github.com/ipfs/go-blockservice v0.2.1/go.mod h1:k6SiwmgyYgs4M/qt+ww6amPeUH9EISLRBnvUurKJhi8= -github.com/ipfs/go-blockservice v0.5.1 h1:9pAtkyKAz/skdHTh0kH8VulzWp+qmSDD0aI17TYP/s0= -github.com/ipfs/go-blockservice v0.5.1/go.mod h1:VpMblFEqG67A/H2sHKAemeH9vlURVavlysbdUI632yk= +github.com/ipfs/go-blockservice v0.5.2 h1:in9Bc+QcXwd1apOVM7Un9t8tixPKdaHQFdLSUM1Xgk8= +github.com/ipfs/go-blockservice v0.5.2/go.mod h1:VpMblFEqG67A/H2sHKAemeH9vlURVavlysbdUI632yk= github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= @@ -746,8 +747,8 @@ github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2Is github.com/ipfs/go-ipfs-blockstore v0.2.1/go.mod h1:jGesd8EtCM3/zPgx+qr0/feTXGUeRai6adgwC+Q+JvE= github.com/ipfs/go-ipfs-blockstore v1.1.2/go.mod h1:w51tNR9y5+QXB0wkNcHt4O2aSZjTdqaEWaQdSxEyUOY= github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE= -github.com/ipfs/go-ipfs-blockstore v1.3.0 h1:m2EXaWgwTzAfsmt5UdJ7Is6l4gJcaM/A12XwJyvYvMM= -github.com/ipfs/go-ipfs-blockstore v1.3.0/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= +github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7PTTDQNsQ= +github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ= github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk= github.com/ipfs/go-ipfs-chunker v0.0.1/go.mod h1:tWewYK0we3+rMbOh7pPFGDyypCtvGcBFymgY4rSDLAw= @@ -758,12 +759,13 @@ github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1I github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= github.com/ipfs/go-ipfs-ds-help v0.0.1/go.mod h1:gtP9xRaZXqIQRh1HRpp595KbBEdgqWFxefeVKOV8sxo= github.com/ipfs/go-ipfs-ds-help v0.1.1/go.mod h1:SbBafGJuGsPI/QL3j9Fc5YPLeAu+SzOkI0gFwAg+mOs= -github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR994w4Q= github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU= +github.com/ipfs/go-ipfs-ds-help v1.1.1 h1:B5UJOH52IbcfS56+Ul+sv8jnIV10lbjLF5eOO0C66Nw= +github.com/ipfs/go-ipfs-ds-help v1.1.1/go.mod h1:75vrVCkSdSFidJscs8n4W+77AtTpCIAdDGAwjitJMIo= github.com/ipfs/go-ipfs-exchange-interface v0.0.1/go.mod h1:c8MwfHjtQjPoDyiy9cFquVtVHkO9b9Ob3FG91qJnWCM= github.com/ipfs/go-ipfs-exchange-interface v0.1.0/go.mod h1:ych7WPlyHqFvCi/uQI48zLZuAWVP5iTQPXEfVaw5WEI= -github.com/ipfs/go-ipfs-exchange-interface v0.2.0 h1:8lMSJmKogZYNo2jjhUs0izT+dck05pqUw4mWNW9Pw6Y= -github.com/ipfs/go-ipfs-exchange-interface v0.2.0/go.mod h1:z6+RhJuDQbqKguVyslSOuVDhqF9JtTrO3eptSAiW2/Y= +github.com/ipfs/go-ipfs-exchange-interface v0.2.1 h1:jMzo2VhLKSHbVe+mHNzYgs95n0+t0Q69GQ5WhRDZV/s= +github.com/ipfs/go-ipfs-exchange-interface v0.2.1/go.mod h1:MUsYn6rKbG6CTtsDp+lKJPmVt3ZrCViNyH3rfPGsZ2E= github.com/ipfs/go-ipfs-exchange-offline v0.0.1/go.mod h1:WhHSFCVYX36H/anEKQboAzpUws3x7UeEGkzQc3iNkM0= github.com/ipfs/go-ipfs-exchange-offline v0.1.1/go.mod h1:vTiBRIbzSwDD0OWm+i3xeT0mO7jG2cbJYatp3HPk5XY= github.com/ipfs/go-ipfs-exchange-offline v0.3.0 h1:c/Dg8GDPzixGd0MC8Jh6mjOwU57uYokgWRFidfvEkuA= @@ -846,11 +848,11 @@ github.com/ipfs/go-unixfs v0.4.5/go.mod h1:BIznJNvt/gEx/ooRMI4Us9K8+qeGO7vx1ohnb github.com/ipfs/go-unixfsnode v1.9.0 h1:ubEhQhr22sPAKO2DNsyVBW7YB/zA8Zkif25aBvz8rc8= github.com/ipfs/go-unixfsnode v1.9.0/go.mod h1:HxRu9HYHOjK6HUqFBAi++7DVoWAHn0o4v/nZ/VA+0g8= github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0= -github.com/ipfs/go-verifcid v0.0.2 h1:XPnUv0XmdH+ZIhLGKg6U2vaPaRDXb9urMyNVCE7uvTs= -github.com/ipfs/go-verifcid v0.0.2/go.mod h1:40cD9x1y4OWnFXbLNJYRe7MpNvWlMn3LZAG5Wb4xnPU= +github.com/ipfs/go-verifcid v0.0.3 h1:gmRKccqhWDocCRkC+a59g5QW7uJw5bpX9HWBevXa0zs= +github.com/ipfs/go-verifcid v0.0.3/go.mod h1:gcCtGniVzelKrbk9ooUSX/pM3xlH73fZZJDzQJRvOUw= github.com/ipld/go-car v0.1.0/go.mod h1:RCWzaUh2i4mOEkB3W45Vc+9jnS/M6Qay5ooytiBHl3g= -github.com/ipld/go-car v0.6.1 h1:blWbEHf1j62JMWFIqWE//YR0m7k5ZMw0AuUOU5hjrH8= -github.com/ipld/go-car v0.6.1/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8= +github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc= +github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8= github.com/ipld/go-car/v2 v2.1.1/go.mod h1:+2Yvf0Z3wzkv7NeI69i8tuZ+ft7jyjPYIWZzeVNeFcI= github.com/ipld/go-car/v2 v2.13.1 h1:KnlrKvEPEzr5IZHKTXLAEub+tPrzeAFQVRlSQvuxBO4= github.com/ipld/go-car/v2 v2.13.1/go.mod h1:QkdjjFNGit2GIkpQ953KBwowuoukoM75nP/JI1iDJdo= @@ -1009,8 +1011,8 @@ github.com/libp2p/go-libp2p v0.7.0/go.mod h1:hZJf8txWeCduQRDC/WSqBGMxaTHCOYHt2xS github.com/libp2p/go-libp2p v0.7.4/go.mod h1:oXsBlTLF1q7pxr+9w6lqzS1ILpyHsaBPniVO7zIHGMw= github.com/libp2p/go-libp2p v0.8.1/go.mod h1:QRNH9pwdbEBpx5DTJYg+qxcVaDMAz3Ee/qDKwXujH5o= github.com/libp2p/go-libp2p v0.14.3/go.mod h1:d12V4PdKbpL0T1/gsUNN8DfgMuRPDX8bS2QxCZlwRH0= -github.com/libp2p/go-libp2p v0.33.2 h1:vCdwnFxoGOXMKmaGHlDSnL4bM3fQeW8pgIa9DECnb40= -github.com/libp2p/go-libp2p v0.33.2/go.mod h1:zTeppLuCvUIkT118pFVzA8xzP/p2dJYOMApCkFh0Yww= +github.com/libp2p/go-libp2p v0.34.1 h1:fxn9vyLo7vJcXQRNvdRbyPjbzuQgi2UiqC8hEbn8a18= +github.com/libp2p/go-libp2p v0.34.1/go.mod h1:snyJQix4ET6Tj+LeI0VPjjxTtdWpeOhYt5lEY0KirkQ= github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl950SO9L6n94= github.com/libp2p/go-libp2p-asn-util v0.4.1/go.mod h1:d/NI6XZ9qxw67b4e+NgpQexCIiFYJjErASrYW4PFDN8= github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8= @@ -1081,8 +1083,8 @@ github.com/libp2p/go-libp2p-peerstore v0.2.2/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRj github.com/libp2p/go-libp2p-peerstore v0.2.6/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-peerstore v0.2.7/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= -github.com/libp2p/go-libp2p-pubsub v0.10.1 h1:/RqOZpEtAolsr8/9CC8KqROJSOZeu7lK7fPftn4MwNg= -github.com/libp2p/go-libp2p-pubsub v0.10.1/go.mod h1:1OxbaT/pFRO5h+Dpze8hdHQ63R0ke55XTs6b6NwLLkw= +github.com/libp2p/go-libp2p-pubsub v0.11.0 h1:+JvS8Kty0OiyUiN0i8H5JbaCgjnJTRnTHe4rU88dLFc= +github.com/libp2p/go-libp2p-pubsub v0.11.0/go.mod h1:QEb+hEV9WL9wCiUAnpY29FZR6W3zK8qYlaml8R4q6gQ= github.com/libp2p/go-libp2p-quic-transport v0.10.0/go.mod h1:RfJbZ8IqXIhxBRm5hqUEJqjiiY8xmEuq3HUDS993MkA= github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0= @@ -1246,8 +1248,8 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4= -github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY= +github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs= +github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk= github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c h1:bzE/A84HN25pxAuk9Eej1Kz9OUelF97nAc82bDquQI8= github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c/go.mod h1:0SQS9kMwD2VsyFEB++InYyBJroV/FRmBgcydeSUcJms= github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= @@ -1306,8 +1308,8 @@ github.com/multiformats/go-multiaddr v0.2.2/go.mod h1:NtfXiOtHvghW9KojvtySjH5y0u github.com/multiformats/go-multiaddr v0.3.0/go.mod h1:dF9kph9wfJ+3VLAaeBqo9Of8x4fJxp6ggJGteB8HQTI= github.com/multiformats/go-multiaddr v0.3.1/go.mod h1:uPbspcUPd5AfaP6ql3ujFY+QWzmBD8uLLL4bXW0XfGc= github.com/multiformats/go-multiaddr v0.3.3/go.mod h1:lCKNGP1EQ1eZ35Za2wlqnabm9xQkib3fyB+nZXHLag0= -github.com/multiformats/go-multiaddr v0.12.3 h1:hVBXvPRcKG0w80VinQ23P5t7czWgg65BmIvQKjDydU8= -github.com/multiformats/go-multiaddr v0.12.3/go.mod h1:sBXrNzucqkFJhvKOiwwLyqamGa/P5EIXNPLovyhQCII= +github.com/multiformats/go-multiaddr v0.12.4 h1:rrKqpY9h+n80EwhhC/kkcunCZZ7URIF8yN1WEUt2Hvc= +github.com/multiformats/go-multiaddr v0.12.4/go.mod h1:sBXrNzucqkFJhvKOiwwLyqamGa/P5EIXNPLovyhQCII= github.com/multiformats/go-multiaddr-dns v0.0.1/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= github.com/multiformats/go-multiaddr-dns v0.0.2/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= github.com/multiformats/go-multiaddr-dns v0.2.0/go.mod h1:TJ5pr5bBO7Y1B18djPuRsVkduhQH2YqYSbxWJzYGdK0= @@ -1373,8 +1375,9 @@ github.com/nikkolasg/hexjson v0.1.0 h1:Cgi1MSZVQFoJKYeRpBNEcdF3LB+Zo4fYKsDz7h8uJ github.com/nikkolasg/hexjson v0.1.0/go.mod h1:fbGbWFZ0FmJMFbpCMtJpwb0tudVxSSZ+Es2TsCg57cA= github.com/nkovacs/streamquote v1.0.0 h1:PmVIV08Zlx2lZK5fFZlMZ04eHcDTIFJCv/5/0twVUow= github.com/nkovacs/streamquote v1.0.0/go.mod h1:BN+NaZ2CmdKqUuTUXUEm9j95B2TRbpOWpxbJYzzgUsc= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= @@ -1383,18 +1386,19 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY= -github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU= +github.com/onsi/ginkgo/v2 v2.17.3/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= -github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/onsi/gomega v1.33.0 h1:snPCflnZrpMsy94p4lXVEkHo12lmPnc3vY5XBbreexE= +github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/open-rpc/meta-schema v0.0.0-20201029221707-1b72ef2ea333 h1:CznVS40zms0Dj5he4ERo+fRPtO0qxUk8lA8Xu3ddet0= github.com/open-rpc/meta-schema v0.0.0-20201029221707-1b72ef2ea333/go.mod h1:Ag6rSXkHIckQmjFBCweJEEt1mrTPBv8b9W4aU/NQWfI= @@ -1427,6 +1431,50 @@ github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 h1:1/WtZae0yGtPq+TI6+ github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9/go.mod h1:x3N5drFsm2uilKKuuYo6LdyD8vZAW55sH/9w+pbo1sw= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pion/datachannel v1.5.6 h1:1IxKJntfSlYkpUj8LlYRSWpYiTTC02nUrOE8T3DqGeg= +github.com/pion/datachannel v1.5.6/go.mod h1:1eKT6Q85pRnr2mHiWHxJwO50SfZRtWHTsNIVb/NfGW4= +github.com/pion/dtls/v2 v2.2.7/go.mod h1:8WiMkebSHFD0T+dIU+UeBaoV7kDhOW5oDCzZ7WZ/F9s= +github.com/pion/dtls/v2 v2.2.11 h1:9U/dpCYl1ySttROPWJgqWKEylUdT0fXp/xst6JwY5Ks= +github.com/pion/dtls/v2 v2.2.11/go.mod h1:d9SYc9fch0CqK90mRk1dC7AkzzpwJj6u2GU3u+9pqFE= +github.com/pion/ice/v2 v2.3.24 h1:RYgzhH/u5lH0XO+ABatVKCtRd+4U1GEaCXSMjNr13tI= +github.com/pion/ice/v2 v2.3.24/go.mod h1:KXJJcZK7E8WzrBEYnV4UtqEZsGeWfHxsNqhVcVvgjxw= +github.com/pion/interceptor v0.1.29 h1:39fsnlP1U8gw2JzOFWdfCU82vHvhW9o0rZnZF56wF+M= +github.com/pion/interceptor v0.1.29/go.mod h1:ri+LGNjRUc5xUNtDEPzfdkmSqISixVTBF/z/Zms/6T4= +github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY= +github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms= +github.com/pion/mdns v0.0.12 h1:CiMYlY+O0azojWDmxdNr7ADGrnZ+V6Ilfner+6mSVK8= +github.com/pion/mdns v0.0.12/go.mod h1:VExJjv8to/6Wqm1FXK+Ii/Z9tsVk/F5sD/N70cnYFbk= +github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA= +github.com/pion/randutil v0.1.0/go.mod h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8= +github.com/pion/rtcp v1.2.12/go.mod h1:sn6qjxvnwyAkkPzPULIbVqSKI5Dv54Rv7VG0kNxh9L4= +github.com/pion/rtcp v1.2.14 h1:KCkGV3vJ+4DAJmvP0vaQShsb0xkRfWkO540Gy102KyE= +github.com/pion/rtcp v1.2.14/go.mod h1:sn6qjxvnwyAkkPzPULIbVqSKI5Dv54Rv7VG0kNxh9L4= +github.com/pion/rtp v1.8.3/go.mod h1:pBGHaFt/yW7bf1jjWAoUjpSNoDnw98KTMg+jWWvziqU= +github.com/pion/rtp v1.8.6 h1:MTmn/b0aWWsAzux2AmP8WGllusBVw4NPYPVFFd7jUPw= +github.com/pion/rtp v1.8.6/go.mod h1:pBGHaFt/yW7bf1jjWAoUjpSNoDnw98KTMg+jWWvziqU= +github.com/pion/sctp v1.8.13/go.mod h1:YKSgO/bO/6aOMP9LCie1DuD7m+GamiK2yIiPM6vH+GA= +github.com/pion/sctp v1.8.16 h1:PKrMs+o9EMLRvFfXq59WFsC+V8mN1wnKzqrv+3D/gYY= +github.com/pion/sctp v1.8.16/go.mod h1:P6PbDVA++OJMrVNg2AL3XtYHV4uD6dvfyOovCgMs0PE= +github.com/pion/sdp/v3 v3.0.9 h1:pX++dCHoHUwq43kuwf3PyJfHlwIj4hXA7Vrifiq0IJY= +github.com/pion/sdp/v3 v3.0.9/go.mod h1:B5xmvENq5IXJimIO4zfp6LAe1fD9N+kFv+V/1lOdz8M= +github.com/pion/srtp/v2 v2.0.18 h1:vKpAXfawO9RtTRKZJbG4y0v1b11NZxQnxRl85kGuUlo= +github.com/pion/srtp/v2 v2.0.18/go.mod h1:0KJQjA99A6/a0DOVTu1PhDSw0CXF2jTkqOoMg3ODqdA= +github.com/pion/stun v0.6.1 h1:8lp6YejULeHBF8NmV8e2787BogQhduZugh5PdhDyyN4= +github.com/pion/stun v0.6.1/go.mod h1:/hO7APkX4hZKu/D0f2lHzNyvdkTGtIy3NDmLR7kSz/8= +github.com/pion/transport/v2 v2.2.1/go.mod h1:cXXWavvCnFF6McHTft3DWS9iic2Mftcz1Aq29pGcU5g= +github.com/pion/transport/v2 v2.2.2/go.mod h1:OJg3ojoBJopjEeECq2yJdXH9YVrUJ1uQ++NjXLOUorc= +github.com/pion/transport/v2 v2.2.3/go.mod h1:q2U/tf9FEfnSBGSW6w5Qp5PFWRLRj3NjLhCCgpRK4p0= +github.com/pion/transport/v2 v2.2.4/go.mod h1:q2U/tf9FEfnSBGSW6w5Qp5PFWRLRj3NjLhCCgpRK4p0= +github.com/pion/transport/v2 v2.2.5 h1:iyi25i/21gQck4hfRhomF6SktmUQjRsRW4WJdhfc3Kc= +github.com/pion/transport/v2 v2.2.5/go.mod h1:q2U/tf9FEfnSBGSW6w5Qp5PFWRLRj3NjLhCCgpRK4p0= +github.com/pion/transport/v3 v3.0.1/go.mod h1:UY7kiITrlMv7/IKgd5eTUcaahZx5oUN3l9SzK5f5xE0= +github.com/pion/transport/v3 v3.0.2 h1:r+40RJR25S9w3jbA6/5uEPTzcdn7ncyU44RWCbHkLg4= +github.com/pion/transport/v3 v3.0.2/go.mod h1:nIToODoOlb5If2jF9y2Igfx3PFYWfuXi37m0IlWa/D0= +github.com/pion/turn/v2 v2.1.3/go.mod h1:huEpByKKHix2/b9kmTAM3YoX6MKP+/D//0ClgUYR2fY= +github.com/pion/turn/v2 v2.1.6 h1:Xr2niVsiPTB0FPtt+yAWKFUkU1eotQbGgpTIld4x1Gc= +github.com/pion/turn/v2 v2.1.6/go.mod h1:huEpByKKHix2/b9kmTAM3YoX6MKP+/D//0ClgUYR2fY= +github.com/pion/webrtc/v3 v3.2.40 h1:Wtfi6AZMQg+624cvCXUuSmrKWepSB7zfgYDOYqsSOVU= +github.com/pion/webrtc/v3 v3.2.40/go.mod h1:M1RAe3TNTD1tzyvqHrbVODfwdPGSXOUo/OgpoGGJqFY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -1454,16 +1502,16 @@ github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqr github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= -github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= -github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -1475,8 +1523,8 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9 github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.35.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/common v0.47.0 h1:p5Cz0FNHo7SnWOmWmoRozVcjEp0bIVU8cV7OShpjL1k= -github.com/prometheus/common v0.47.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= +github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= +github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -1488,18 +1536,18 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= +github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= github.com/prometheus/statsd_exporter v0.22.7 h1:7Pji/i2GuhK6Lu7DHrtTkFmNBCudCPT1pX2CziuyQR0= github.com/prometheus/statsd_exporter v0.22.7/go.mod h1:N/TevpjkIh9ccs6nuzY3jQn9dFqnUakOjnEuMPJJJnI= github.com/puzpuzpuz/xsync/v2 v2.4.0 h1:5sXAMHrtx1bg9nbRZTOn8T4MkWe5V+o8yKRH02Eznag= github.com/puzpuzpuz/xsync/v2 v2.4.0/go.mod h1:gD2H2krq/w52MfPLE+Uy64TzJDVY7lP2znR9qmR35kU= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= -github.com/quic-go/quic-go v0.42.0 h1:uSfdap0eveIl8KXnipv9K7nlwZ5IqLlYOpJ58u5utpM= -github.com/quic-go/quic-go v0.42.0/go.mod h1:132kz4kL3F9vxhW3CtQJLDVwcFe5wdWeJXXijhsO57M= -github.com/quic-go/webtransport-go v0.6.0 h1:CvNsKqc4W2HljHJnoT+rMmbRJybShZ0YPFDD3NxaZLY= -github.com/quic-go/webtransport-go v0.6.0/go.mod h1:9KjU4AEBqEQidGHNDkZrb8CAa1abRaosM2yGOyiikEc= +github.com/quic-go/quic-go v0.44.0 h1:So5wOr7jyO4vzL2sd8/pD9Kesciv91zSk8BoFngItQ0= +github.com/quic-go/quic-go v0.44.0/go.mod h1:z4cx/9Ny9UtGITIPzmPTXh1ULfOyWh4qGQlpnPcWmek= +github.com/quic-go/webtransport-go v0.8.0 h1:HxSrwun11U+LlmwpgM1kEqIqH90IT4N8auv/cD7QFJg= +github.com/quic-go/webtransport-go v0.8.0/go.mod h1:N99tjprW432Ut5ONql/aUhSLT0YVSlwHohQsuac9WaM= github.com/raulk/clock v1.1.0 h1:dpb29+UKMbLqiU/jqIJptgLR1nn23HLgMY0sTCDza5Y= github.com/raulk/clock v1.1.0/go.mod h1:3MpVxdZ/ODBQDxbN+kzshf5OSZwPjtMDx6BBXBmOeY0= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= @@ -1613,6 +1661,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stvp/go-udp-testing v0.0.0-20201019212854-469649b16807/go.mod h1:7jxmlfBCDBXRzr0eAQJ48XC1hBu1np4CS5+cHEYfwpc= @@ -1753,24 +1803,24 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= -go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= +go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= go.opentelemetry.io/otel/bridge/opencensus v0.39.0 h1:YHivttTaDhbZIHuPlg1sWsy2P5gj57vzqPfkHItgbwQ= go.opentelemetry.io/otel/bridge/opencensus v0.39.0/go.mod h1:vZ4537pNjFDXEx//WldAR6Ro2LC8wwmFC76njAXwNPE= go.opentelemetry.io/otel/exporters/jaeger v1.14.0 h1:CjbUNd4iN2hHmWekmOqZ+zSCU+dzZppG8XsV+A3oc8Q= go.opentelemetry.io/otel/exporters/jaeger v1.14.0/go.mod h1:4Ay9kk5vELRrbg5z4cpP9EtmQRFap2Wb0woPG4lujZA= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= -go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= +go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/sdk v1.26.0 h1:Y7bumHf5tAiDlRYFmGqetNcLaVUZmh4iYfmGxtmz7F8= +go.opentelemetry.io/otel/sdk v1.26.0/go.mod h1:0p8MXpqLeJ0pzcszQQN4F0S5FVjBLgypeGSngLsmirs= go.opentelemetry.io/otel/sdk/metric v0.39.0 h1:Kun8i1eYf48kHH83RucG93ffz0zGV1sh46FAScOTuDI= go.opentelemetry.io/otel/sdk/metric v0.39.0/go.mod h1:piDIRgjcK7u0HCL5pCA4e74qpK/jk3NiUoAHATVAmiI= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= -go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= +go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= +go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1780,8 +1830,8 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= -go.uber.org/fx v1.20.1 h1:zVwVQGS8zYvhh9Xxcu4w1M6ESyeMzebzj2NbSayZ4Mk= -go.uber.org/fx v1.20.1/go.mod h1:iSYNbHf2y55acNCwCXKx7LbWb5WG1Bnue5RDXz1OREg= +go.uber.org/fx v1.21.1 h1:RqBh3cYdzZS0uqwVeEjOX2p73dddLpym315myy/Bpb0= +go.uber.org/fx v1.21.1/go.mod h1:HT2M7d7RHo+ebKGh9NRcrsrHHfpZ60nW3QRubMRfv48= go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -1844,9 +1894,15 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1860,8 +1916,8 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20210615023648-acb5c1269671/go.mod h1:DVyR6MI7P4kEQgvZJSj1fQGrWIi2RzIrfYWycwheUAc= golang.org/x/exp v0.0.0-20210714144626-1041f73d31d8/go.mod h1:DVyR6MI7P4kEQgvZJSj1fQGrWIi2RzIrfYWycwheUAc= -golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= -golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1888,8 +1944,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1952,9 +2008,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1979,8 +2041,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2079,20 +2141,33 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2103,8 +2178,11 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2172,16 +2250,16 @@ golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= +golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0= -gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU= +gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ= +gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo= google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= @@ -2244,12 +2322,12 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg= -google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917/go.mod h1:pZqR+glSb11aJ+JQcczCvgf47+duRuzNSKqE8YAQnV0= -google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 h1:OPXtXn7fNMaXwO3JvOmF1QyTc00jsSFFz1vXXBOdCDo= -google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto/googleapis/api v0.0.0-20240515191416-fc5f0ca64291 h1:4HZJ3Xv1cmrJ+0aFo304Zn79ur1HMxptAE7aCPNLSqc= +google.golang.org/genproto/googleapis/api v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:RGnPtTG7r4i8sPlNyDeikXF99hMM+hN6QMm4ooG9g2g= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 h1:AgADTJarZTBqgjiUzRgfaBchgYB3/WFTC80GPwsMcRI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= @@ -2272,8 +2350,8 @@ google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -2289,8 +2367,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -2340,8 +2418,8 @@ howett.net/plist v0.0.0-20181124034731-591f970eefbb h1:jhnBjNi9UFpfpl8YZhA9CrOqp howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= lukechampine.com/blake3 v1.1.6/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= -lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +lukechampine.com/blake3 v1.3.0 h1:sJ3XhFINmHSrYCgl958hscfIa3bw8x4DqMP3u1YvoYE= +lukechampine.com/blake3 v1.3.0/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/node/impl/net/net.go b/node/impl/net/net.go index 5341092ce28..7e9a3f8655f 100644 --- a/node/impl/net/net.go +++ b/node/impl/net/net.go @@ -11,7 +11,7 @@ import ( "github.com/libp2p/go-libp2p/core/network" "github.com/libp2p/go-libp2p/core/peer" "github.com/libp2p/go-libp2p/core/protocol" - basichost "github.com/libp2p/go-libp2p/p2p/host/basic" + "github.com/libp2p/go-libp2p/p2p/host/autonat" "github.com/libp2p/go-libp2p/p2p/net/conngater" "github.com/libp2p/go-libp2p/p2p/net/swarm" "github.com/libp2p/go-libp2p/p2p/protocol/ping" @@ -135,8 +135,12 @@ func (a *NetAPI) NetFindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, err return a.Router.FindPeer(ctx, p) } +type autoNatGetter interface { + GetAutoNat() autonat.AutoNAT +} + func (a *NetAPI) NetAutoNatStatus(context.Context) (i api.NatInfo, err error) { - autonat := a.RawHost.(*basichost.BasicHost).GetAutoNat() + autonat := a.RawHost.(autoNatGetter).GetAutoNat() if autonat == nil { return api.NatInfo{ From 5fe89e7e67340acb3d4fa235ed4b3355ed10a0ea Mon Sep 17 00:00:00 2001 From: Phi Date: Mon, 27 May 2024 19:47:40 +0200 Subject: [PATCH 21/48] Update changelog Update changelog --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc5ac04a8b5..1d27e1ef2ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ ## Improvements -# v1.27.0 / 2024-05-24 +# v1.27.0 / 2024-05-27 This is an optional feature release of Lotus. Lotus v1.27.0 includes numerous improvements, bugfixes and enhancements for node operators, RPC- and ETH RPC-providers. This feature release also introduces Curio in a Beta release. Check out the Curio Beta release section for how you can get started with Curio. @@ -141,9 +141,11 @@ Visit the Curio Official Website insert link - dep: go-multi-address ([filecoin-project/lotus#11563](https://github.com/filecoin-project/lotus/pull/11563)) - chore: update go-data-transfer and go-graphsync (#12000) ([filecoin-project/lotus#12000](https://github.com/filecoin-project/lotus/pull/2000)) - chore: update drand (#12021) ([filecoin-project/lotus#12021](https://github.com/filecoin-project/lotus/pull/12021)) +- chore: libp2p: update to v0.34.1 (12027) ([filecoin-project/lotus#12027](https://github.com/filecoin-project/lotus/pull/12027)) - github.com/filecoin-project/go-amt-ipld/ (v4.2.0 -> v4.3.0) - github.com/filecoin-project/go-state-types (v0.13.1 -> v0.13.3) - github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1) +- github.com/libp2p/go-libp2p (v0.33.2 -> v0.34.1) ## Others From 09d0aca3ed9ef604be0048e808734c07ab87624a Mon Sep 17 00:00:00 2001 From: Phi Date: Mon, 27 May 2024 19:49:05 +0200 Subject: [PATCH 22/48] go mod tidy go mod tidy --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e14b935ad77..1543316454a 100644 --- a/go.mod +++ b/go.mod @@ -263,7 +263,7 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/kilic/bls12-381 v0.1.0 // indirect - github.com/klauspost/compress v1.17.6 // indirect + github.com/klauspost/compress v1.17.8 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/koron/go-ssdp v0.0.4 // indirect github.com/libp2p/go-cidranger v1.1.0 // indirect diff --git a/go.sum b/go.sum index 61c91071f64..4de7bda1496 100644 --- a/go.sum +++ b/go.sum @@ -953,8 +953,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= +github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= From b548aae5cd890994c73446f8f040c867b223fdaa Mon Sep 17 00:00:00 2001 From: Aarsh Shah Date: Tue, 28 May 2024 09:23:36 +0400 Subject: [PATCH 23/48] revert go version change (#12050) --- go.mod | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1543316454a..cc63a9c3852 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/filecoin-project/lotus -go 1.22 - -toolchain go1.22.1 +go 1.21 retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead. From 4ad53b507e2bb05080899c899a8aed353c4e736b Mon Sep 17 00:00:00 2001 From: Phi Date: Tue, 28 May 2024 08:00:50 +0200 Subject: [PATCH 24/48] Update changelog Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d27e1ef2ab..39d4333a942 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -171,6 +171,7 @@ Visit the Curio Official Website insert link - chore: docs: nv-skeleton documentation (#11065) ([filecoin-project/lotus#11065](https://github.com/filecoin-project/lotus/pull/11065)) - chore: Add v13 support to invariants-checker (#11931) ([filecoin-project/lotus#11931](https://github.com/filecoin-project/lotus/pull/11931)) - chore: remove unmaintained bootstrappers (#11983) ([filecoin-project/lotus#11983](https://github.com/filecoin-project/lotus/pull/11983)) +- chore: go mod: revert go version change as it breaks Docker build (#12050) ([filecoin-project/lotus#12050](https://github.com/filecoin-project/lotus/pull/12050)) ## Contributors From 6b8e465090536867888b0b26ed72025cad4ac101 Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Tue, 28 May 2024 12:24:28 +0200 Subject: [PATCH 25/48] chore: backport #12054 to release/v1.27.0 branch (#12056) * chore: pin golanglint-ci to v1.58.2 (#12054) Fixes: https://github.com/filecoin-project/lotus/issues/12044 * Add backport to changelog Add backport to changelog --------- Co-authored-by: Rod Vagg --- .github/workflows/check.yml | 2 +- CHANGELOG.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 8d19589f728..2f60cdde77a 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -57,7 +57,7 @@ jobs: submodules: 'recursive' - uses: ./.github/actions/install-system-dependencies - uses: ./.github/actions/install-go - - run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest + - run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.58.2 - run: make deps - run: golangci-lint run -v --timeout 10m --concurrency 4 check-fmt: diff --git a/CHANGELOG.md b/CHANGELOG.md index 39d4333a942..44583f883bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4071,6 +4071,7 @@ This is a **highly recommended** but optional Lotus v1.11.1 release that introd - Release Template: remove binary validation step ([filecoin-project/lotus#6709](https://github.com/filecoin-project/lotus/pull/6709)) - Reset of the interop network ([filecoin-project/lotus#6689](https://github.com/filecoin-project/lotus/pull/6689)) - Update version.go to 1.11.1 ([filecoin-project/lotus#6621](https://github.com/filecoin-project/lotus/pull/6621)) +- chore: pin golanglint-ci to v1.58.2 ([filecoin-project/lotus#12054](https://github.com/filecoin-project/lotus/pull/12054)) ## Contributors From 821836dc3e26899bf4ed05f0e912cbd66918821e Mon Sep 17 00:00:00 2001 From: Phi Date: Fri, 7 Jun 2024 10:28:43 +0200 Subject: [PATCH 26/48] Bump version - make gen/make docsgen Bump version - make gen/make docsgen --- build/version.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/version.go b/build/version.go index 4e8e24f30b4..6a942734fd3 100644 --- a/build/version.go +++ b/build/version.go @@ -50,7 +50,7 @@ func NodeUserVersion() BuildVersion { } // MinerBuildVersion is the local build version of the Lotus miner -const MinerBuildVersion = "1.27.1-dev" +const MinerBuildVersion = "1.27.1-rc1" func MinerUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 786c57856e0..d8f15e82363 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.1-dev + 1.27.1-rc1 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 0c8ba05b56b..af55aea0423 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.1-dev + 1.27.1-rc1 COMMANDS: run Start lotus worker From 961039c5d97fa78fa231911fc10891550864a3f9 Mon Sep 17 00:00:00 2001 From: Phi Date: Fri, 7 Jun 2024 15:49:12 +0200 Subject: [PATCH 27/48] Update changelog Update changelog --- CHANGELOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad2333fd56a..f4af5fe3a78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,17 @@ # UNRELEASED ## New features -- feat: Add trace transaction API supporting RPC method `trace_transaction` ([filecoin-project/lotus#12068](https://github.com/filecoin-project/lotus/pull/12068)) ## Improvements +# v1.27.1 / 2024-06-07 + +This is the first release candidate of the upcoming optional release of Lotus v1.27.1 + +## ☢️ Upgrade Warnings ☢️ + +There are no upgrade warnings for this release candidate. + ### JSON-RPC 2.0 Specification Conformance The JSON-RPC 2.0 specification requires that a `"result"` property be present in the case of no error from an API call. This release ensures that all API calls that return a result have a `"result"` property in the response. This is a behaviour change over Lotus v1.26 and will impact any API call that only has a single error return value, where no error has occurred. @@ -34,7 +41,78 @@ There is no change in the behaviour when a call returns an error, as the error o ## New features +- feat: Add trace transaction API supporting RPC method `trace_transaction` ([filecoin-project/lotus#12068](https://github.com/filecoin-project/lotus/pull/12068)) +- feat: Skeleton for nv23 (#11964) ([filecoin-project/lotus#11964](https://github.com/filecoin-project/lotus/pull/11964)) +- feat: state: Ignore market balance after nv23 (#11976) ([filecoin-project/lotus#11976](https://github.com/filecoin-project/lotus/pull/11976)) +- feat: ETH compatibility in Filecoin : Support Homestead and EIP-155 Ethereum transactions("legacy" transactions) in Filecoin after NV23 (#11969) ([filecoin-project/lotus#11969](https://github.com/filecoin-project/lotus/pull/11969)) +- fix: hello: avoid dialing when fetching hello tipset (#12032) ([filecoin-project/lotus#12032](https://github.com/filecoin-project/lotus/pull/12032)) +- feat: cli,events: speed up backfill with temporary index (#11953) ([filecoin-project/lotus#11953](https://github.com/filecoin-project/lotus/pull/11953)) + ## Improvements +- Event index should be unique for tipsets (#11952) ([filecoin-project/lotus#11952](https://github.com/filecoin-project/lotus/pull/11952)) +- cleanup: Lotus client: Remove markets and deal-making from Lotus Client (#11999) ([filecoin-project/lotus#11999](https://github.com/filecoin-project/lotus/pull/11999)) +- fix: ci: use filecoin-ffi hash to cache make deps outputs (#11961) ([filecoin-project/lotus#11961](https://github.com/filecoin-project/lotus/pull/11961)) +- add ETH addrs API to Gateway (#11979) ([filecoin-project/lotus#11979](https://github.com/filecoin-project/lotus/pull/11979)) +- chore: remove unmaintained bootstrappers (#11983) ([filecoin-project/lotus#11983](https://github.com/filecoin-project/lotus/pull/11983)) +- feat: api: add SectorNumber to MarketDealState (nv22) +- fix: copy Flags field from SectorOnChainInfo + +## Dependencies + +- chore: libp2p: update to v0.34.1 (#12027) ([filecoin-project/lotus#12027](https://github.com/filecoin-project/lotus/pull/12027)) +- chore: update drand (#12021) ([filecoin-project/lotus#12021](https://github.com/filecoin-project/lotus/pull/12021)) +- Bump pubsub-dep (#11966) ([filecoin-project/lotus#11966](https://github.com/filecoin-project/lotus/pull/11966)) +- fix: update go-jsonrpc to v0.3.2 +- Bump go-jsonrpc to v0.4.0 (#12034) ([filecoin-project/lotus#12034](https://github.com/filecoin-project/lotus/pull/12034)) +- docs: rpc: document go-jsonrpc behaviour change +- chore: update go-data-transfer and go-graphsync +- github.com/filecoin-project/go-jsonrpc (v0.3.1 -> v0.3.2) +- github.com/filecoin-project/go-state-types (v0.13.3 -> v0.14.0-dev) + +## Others +- ci: deprecate circle ci in favour of github actions (#11786) ([filecoin-project/lotus#11786](https://github.com/filecoin-project/lotus/pull/11786)) +- src: chain: remove C dependency from builtin types (#12015) ([filecoin-project/lotus#12015](https://github.com/filecoin-project/lotus/pull/12015)) +- chore: fix function names (#12043) ([filecoin-project/lotus#12043](https://github.com/filecoin-project/lotus/pull/12043)) +- chore: bump build version in master (#11946) ([filecoin-project/lotus#11946](https://github.com/filecoin-project/lotus/pull/11946)) +- fix: test: no snap deals in immutable deadlines (#12071) ([filecoin-project/lotus#12071](https://github.com/filecoin-project/lotus/pull/12071)) +- test: actors: manual CC onboarding and proving integration test (#12017) ([filecoin-project/lotus#12017](https://github.com/filecoin-project/lotus/pull/12017)) +- fix: ci: keep lotus checkout clean in the release workflow (#12028) ([filecoin-project/lotus#12028](https://github.com/filecoin-project/lotus/pull/12028)) +- feat!: build: separate miner and node version strings +- chore: lint: address feedback from reviews +- chore: lint: fix lint errors with new linting config +- chore: lint: update golangci lint config +- ci: fix when sorted pr checks workflow is executed +- doc: eth: restore comment lost in linter cleanup +- fix: ci: publish correct docker tags on workflow dispatch (#12060) ([filecoin-project/lotus#12060](https://github.com/filecoin-project/lotus/pull/12060)) +- feat: libp2p: Lotus stream cleanup (#11993) ([filecoin-project/lotus#11993](https://github.com/filecoin-project/lotus/pull/11993)) +- Update SupportedProofTypes (#11988) ([filecoin-project/lotus#11988](https://github.com/filecoin-project/lotus/pull/11988)) +- Revert "Update SupportedProofTypes (#11988)" (#11990) ([filecoin-project/lotus#11990](https://github.com/filecoin-project/lotus/pull/11990)) +- chore: docs: Update skeleton guide (#11960) ([filecoin-project/lotus#11960](https://github.com/filecoin-project/lotus/pull/11960)) +- chore: ci: request contents read permissions explicitly in gha (#12055) ([filecoin-project/lotus#12055](https://github.com/filecoin-project/lotus/pull/12055)) +- fix: ci: use custom GITHUB_TOKEN for GoReleaser (#12059) ([filecoin-project/lotus#12059](https://github.com/filecoin-project/lotus/pull/12059)) +- chore: pin golanglint-ci to v1.58.2 (#12054) ([filecoin-project/lotus#12054](https://github.com/filecoin-project/lotus/pull/12054)) +- chore: fix some function names (#12031) ([filecoin-project/lotus#12031](https://github.com/filecoin-project/lotus/pull/12031)) +- src: lint: bump golangci-lint to 1.59, address unchecked fmt.Fprint* + +## Contributors + +| Contributor | Commits | Lines ± | Files Changed | +|-------------|---------|---------|---------------| +| Aarsh Shah | 9 | +5710/-35899 | 201 | +| Łukasz Magiera | 21 | +1891/-33776 | 335 | +| LexLuthr | 9 | +4916/-1637 | 107 | +| Phi-rjan | 9 | +3544/-187 | 92 | +| Rod Vagg | 15 | +2183/-479 | 164 | +| Piotr Galar | 6 | +130/-2386 | 30 | +| Andrew Jackson (Ajax) | 6 | +1072/-533 | 63 | +| ZenGround0 | 1 | +235/-13 | 3 | +| Hubert Bugaj | 3 | +57/-37 | 5 | +| Steven Allen | 3 | +25/-15 | 6 | +| Peter Rabbitson | 1 | +16/-8 | 4 | +| tomfees | 1 | +6/-6 | 5 | +| imxyb | 1 | +6/-0 | 1 | +| yumeiyin | 1 | +2/-2 | 2 | +| galargh | 1 | +2/-2 | 1 | # v1.27.0 / 2024-05-27 @@ -55,7 +133,6 @@ This release includes a lot of improvements and fixes for indexers, RPC- and ETH - [Length check the array sent to eth_feeHistory RPC](https://github.com/filecoin-project/lotus/pull/11696) - [ETH subscribe tipsets API should only return tipsets that have been executed](https://github.com/filecoin-project/lotus/pull/11858) - [Adjust indexes in event index db to match query patterns](https://github.com/filecoin-project/lotus/pull/111934) -- ## ⭐️ Curio Beta Release ⭐️ @@ -177,7 +254,6 @@ Visit the Curio Official Website insert link - github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.10.1) - github.com/libp2p/go-libp2p (v0.33.2 -> v0.34.1) - ## Others - ci: ci: create gh workflow that runs go checks (#11761) ([filecoin-project/lotus#11761](https://github.com/filecoin-project/lotus/pull/11761)) From 8f2c4bb12a841de0220227c4bbd0b68bca53d24f Mon Sep 17 00:00:00 2001 From: Phi Date: Sun, 9 Jun 2024 21:19:23 +0100 Subject: [PATCH 28/48] Bump NodeBuildVersion to v1.27.1-rc1 Bump NodeBuildVersion to v1.27.1-rc1 --- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 2 +- documentation/en/cli-lotus.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/openrpc/full.json b/build/openrpc/full.json index a016909488c..a209bbc29ca 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-dev" + "version": "1.27.1-rc1" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 22bcb6136b6..1519f023a2e 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-dev" + "version": "1.27.1-rc1" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 09ee1edcd21..d740c8189be 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-dev" + "version": "1.27.1-rc1" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index b1343376b16..b5d90356c8f 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-dev" + "version": "1.27.1-rc1" }, "methods": [ { diff --git a/build/version.go b/build/version.go index 6a942734fd3..6914c70ec55 100644 --- a/build/version.go +++ b/build/version.go @@ -39,7 +39,7 @@ func BuildTypeString() string { } // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.27.1-dev" +const NodeBuildVersion string = "1.27.1-rc1" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 45e6150467e..b3bfea70c01 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.1-dev + 1.27.1-rc1 COMMANDS: daemon Start a lotus daemon process From 991c356eba97fe18775886ae7a8b2fc90cd6d971 Mon Sep 17 00:00:00 2001 From: Phi Date: Sun, 9 Jun 2024 21:22:14 +0100 Subject: [PATCH 29/48] Add Lotus-Miner / Curio related changes Add Lotus-Miner / Curio related changes --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4af5fe3a78..0423689fcc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,6 +69,37 @@ There is no change in the behaviour when a call returns an error, as the error o - github.com/filecoin-project/go-jsonrpc (v0.3.1 -> v0.3.2) - github.com/filecoin-project/go-state-types (v0.13.3 -> v0.14.0-dev) +## Lotus-Miner / Curio related changes + +- fix logs (#12036) ([filecoin-project/lotus#12036](https://github.com/filecoin-project/lotus/pull/12036)) +- feat: curioweb: Improve task_history indexes (#11911) ([filecoin-project/lotus#11911](https://github.com/filecoin-project/lotus/pull/11911)) +- fix: curio taskstorage: Don't try to free reservations by nulled TaskID (#12018) ([filecoin-project/lotus#12018](https://github.com/filecoin-project/lotus/pull/12018)) +- fix actor string (#12019) ([filecoin-project/lotus#12019](https://github.com/filecoin-project/lotus/pull/12019)) +- fix: curio: Update pgx imports, fix db_storage alloc +- feat: curioweb: Show piece info on the sector page (#11955) ([filecoin-project/lotus#11955](https://github.com/filecoin-project/lotus/pull/11955)) +- curio: feat: break trees task into TreeD(prefetch) and TreeRC (#11895) ([filecoin-project/lotus#11895](https://github.com/filecoin-project/lotus/pull/11895)) +- fix: curio: node UI & darwin gpu count (#11950) ([filecoin-project/lotus#11950](https://github.com/filecoin-project/lotus/pull/11950)) +- feat: curio: Keep more sector metadata in the DB long-term (#11933) ([filecoin-project/lotus#11933](https://github.com/filecoin-project/lotus/pull/11933)) +- fix: curio/lmrpc: Check ParkPiece success before creating sectors (#11975) ([filecoin-project/lotus#11975](https://github.com/filecoin-project/lotus/pull/11975)) +- feat: curio: docker devnet (#11954) ([filecoin-project/lotus#11954](https://github.com/filecoin-project/lotus/pull/11954)) +- feat: curio: alertManager (#11926) ([filecoin-project/lotus#11926](https://github.com/filecoin-project/lotus/pull/11926)) +- curio cfg edit: ux cleanups (#11985) ([filecoin-project/lotus#11985](https://github.com/filecoin-project/lotus/pull/11985)) +- fix: curio: Drop FKs from pipeline to fix retry loops (#11973) ([filecoin-project/lotus#11973](https://github.com/filecoin-project/lotus/pull/11973)) +- Produce DEB files for amd64 for openCL and cuda (#11885) ([filecoin-project/lotus#11885](https://github.com/filecoin-project/lotus/pull/11885)) +- gui-listen fix (#12013) ([filecoin-project/lotus#12013](https://github.com/filecoin-project/lotus/pull/12013)) +- feat: curio: allow multiple pieces per sector (#11935) ([filecoin-project/lotus#11935](https://github.com/filecoin-project/lotus/pull/11935)) +- chore: update yugabyte deps (#12022) ([filecoin-project/lotus#12022](https://github.com/filecoin-project/lotus/pull/12022)) +- fix: harmonydb: Use timestampz instead of timestamp across the schema (#12030) ([filecoin-project/lotus#12030](https://github.com/filecoin-project/lotus/pull/12030)) +- cleanup: miner: remove markets and deal-making from Lotus Miner (#12005) ([filecoin-project/lotus#12005](https://github.com/filecoin-project/lotus/pull/12005)) +- fix non existing sector (#12012) ([filecoin-project/lotus#12012](https://github.com/filecoin-project/lotus/pull/12012)) +- feat: curio ffiselect: Isolate gpu calls in a subprocess (#11994) ([filecoin-project/lotus#11994](https://github.com/filecoin-project/lotus/pull/11994)) +- feat: curio: jsonrpc in webui (#11904) ([filecoin-project/lotus#11904](https://github.com/filecoin-project/lotus/pull/11904)) +- fix: itests: Fix flaky curio itest (#12037) ([filecoin-project/lotus#12037](https://github.com/filecoin-project/lotus/pull/12037)) +- feat: curio: wdPost and wnPost alerts (#12029) ([filecoin-project/lotus#12029](https://github.com/filecoin-project/lotus/pull/12029)) +- fix: storage: Fix a race in GenerateWindowPoStAdv (#12064) ([filecoin-project/lotus#12064](https://github.com/filecoin-project/lotus/pull/12064)) +- Remove "provider" relics (#11992) ([filecoin-project/lotus#11992](https://github.com/filecoin-project/lotus/pull/11992)) +- fix sector UI (#12016) ([filecoin-project/lotus#12016](https://github.com/filecoin-project/lotus/pull/12016)) + ## Others - ci: deprecate circle ci in favour of github actions (#11786) ([filecoin-project/lotus#11786](https://github.com/filecoin-project/lotus/pull/11786)) - src: chain: remove C dependency from builtin types (#12015) ([filecoin-project/lotus#12015](https://github.com/filecoin-project/lotus/pull/12015)) From 018bda1de77488001c41d6630ee08d2c45602fec Mon Sep 17 00:00:00 2001 From: Phi Date: Sun, 9 Jun 2024 21:24:46 +0100 Subject: [PATCH 30/48] Update date and upgrade warnings Update date and upgrade warnings --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0423689fcc1..c52494ed225 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ ## Improvements -# v1.27.1 / 2024-06-07 +# v1.27.1 / 2024-06-10 This is the first release candidate of the upcoming optional release of Lotus v1.27.1 From 7f4e3166ab647f852948b22342fdb6bf8ff3e5c8 Mon Sep 17 00:00:00 2001 From: Piotr Galar Date: Fri, 14 Jun 2024 08:20:50 +0200 Subject: [PATCH 31/48] fix: ci: do not use deprecated --debug goreleaser flag (#12086) --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ce3ba6e9807..12ea6e3f90e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -119,8 +119,8 @@ jobs: - uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0 with: distribution: goreleaser-pro - version: latest - args: release --clean --debug ${{ env.PUBLISH == 'false' && '--snapshot' || '' }} + version: 2.0.1 + args: release --clean ${{ env.PUBLISH == 'false' && '--snapshot' || '' }} workdir: lotus env: GITHUB_TOKEN: ${{ env.PUBLISH == 'true' && secrets.GORELEASER_GITUB_TOKEN || github.token || '' }} From 6f1fc67f7857cc2c0edfaf8c44cb4e8c3aabc013 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Fri, 14 Jun 2024 03:33:31 +0200 Subject: [PATCH 32/48] chore: deals: remove forgotten graphsync references (#12084) --- metrics/metrics.go | 79 ---------------------------------------------- node/builder.go | 1 - 2 files changed, 80 deletions(-) diff --git a/metrics/metrics.go b/metrics/metrics.go index 85b9d82ec20..c47642dc4a2 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -74,22 +74,6 @@ var ( PeerCount = stats.Int64("peer/count", "Current number of FIL peers", stats.UnitDimensionless) APIRequestDuration = stats.Float64("api/request_duration_ms", "Duration of API requests", stats.UnitMilliseconds) - // graphsync - - GraphsyncReceivingPeersCount = stats.Int64("graphsync/receiving_peers", "number of peers we are receiving graphsync data from", stats.UnitDimensionless) - GraphsyncReceivingActiveCount = stats.Int64("graphsync/receiving_active", "number of active receiving graphsync transfers", stats.UnitDimensionless) - GraphsyncReceivingCountCount = stats.Int64("graphsync/receiving_pending", "number of pending receiving graphsync transfers", stats.UnitDimensionless) - GraphsyncReceivingTotalMemoryAllocated = stats.Int64("graphsync/receiving_total_allocated", "amount of block memory allocated for receiving graphsync data", stats.UnitBytes) - GraphsyncReceivingTotalPendingAllocations = stats.Int64("graphsync/receiving_pending_allocations", "amount of block memory on hold being received pending allocation", stats.UnitBytes) - GraphsyncReceivingPeersPending = stats.Int64("graphsync/receiving_peers_pending", "number of peers we can't receive more data from cause of pending allocations", stats.UnitDimensionless) - - GraphsyncSendingPeersCount = stats.Int64("graphsync/sending_peers", "number of peers we are sending graphsync data to", stats.UnitDimensionless) - GraphsyncSendingActiveCount = stats.Int64("graphsync/sending_active", "number of active sending graphsync transfers", stats.UnitDimensionless) - GraphsyncSendingCountCount = stats.Int64("graphsync/sending_pending", "number of pending sending graphsync transfers", stats.UnitDimensionless) - GraphsyncSendingTotalMemoryAllocated = stats.Int64("graphsync/sending_total_allocated", "amount of block memory allocated for sending graphsync data", stats.UnitBytes) - GraphsyncSendingTotalPendingAllocations = stats.Int64("graphsync/sending_pending_allocations", "amount of block memory on hold from sending pending allocation", stats.UnitBytes) - GraphsyncSendingPeersPending = stats.Int64("graphsync/sending_peers_pending", "number of peers we can't send more data to cause of pending allocations", stats.UnitDimensionless) - // chain ChainNodeHeight = stats.Int64("chain/node_height", "Current Height of the node", stats.UnitDimensionless) ChainNodeHeightExpected = stats.Int64("chain/node_height_expected", "Expected Height of the node", stats.UnitDimensionless) @@ -580,56 +564,6 @@ var ( Aggregation: view.Sum(), } - // graphsync - GraphsyncReceivingPeersCountView = &view.View{ - Measure: GraphsyncReceivingPeersCount, - Aggregation: view.LastValue(), - } - GraphsyncReceivingActiveCountView = &view.View{ - Measure: GraphsyncReceivingActiveCount, - Aggregation: view.LastValue(), - } - GraphsyncReceivingCountCountView = &view.View{ - Measure: GraphsyncReceivingCountCount, - Aggregation: view.LastValue(), - } - GraphsyncReceivingTotalMemoryAllocatedView = &view.View{ - Measure: GraphsyncReceivingTotalMemoryAllocated, - Aggregation: view.LastValue(), - } - GraphsyncReceivingTotalPendingAllocationsView = &view.View{ - Measure: GraphsyncReceivingTotalPendingAllocations, - Aggregation: view.LastValue(), - } - GraphsyncReceivingPeersPendingView = &view.View{ - Measure: GraphsyncReceivingPeersPending, - Aggregation: view.LastValue(), - } - GraphsyncSendingPeersCountView = &view.View{ - Measure: GraphsyncSendingPeersCount, - Aggregation: view.LastValue(), - } - GraphsyncSendingActiveCountView = &view.View{ - Measure: GraphsyncSendingActiveCount, - Aggregation: view.LastValue(), - } - GraphsyncSendingCountCountView = &view.View{ - Measure: GraphsyncSendingCountCount, - Aggregation: view.LastValue(), - } - GraphsyncSendingTotalMemoryAllocatedView = &view.View{ - Measure: GraphsyncSendingTotalMemoryAllocated, - Aggregation: view.LastValue(), - } - GraphsyncSendingTotalPendingAllocationsView = &view.View{ - Measure: GraphsyncSendingTotalPendingAllocations, - Aggregation: view.LastValue(), - } - GraphsyncSendingPeersPendingView = &view.View{ - Measure: GraphsyncSendingPeersPending, - Aggregation: view.LastValue(), - } - // rcmgr RcmgrAllowConnView = &view.View{ Measure: RcmgrAllowConn, @@ -710,19 +644,6 @@ var views = []*view.View{ PeerCountView, APIRequestDurationView, - GraphsyncReceivingPeersCountView, - GraphsyncReceivingActiveCountView, - GraphsyncReceivingCountCountView, - GraphsyncReceivingTotalMemoryAllocatedView, - GraphsyncReceivingTotalPendingAllocationsView, - GraphsyncReceivingPeersPendingView, - GraphsyncSendingPeersCountView, - GraphsyncSendingActiveCountView, - GraphsyncSendingCountCountView, - GraphsyncSendingTotalMemoryAllocatedView, - GraphsyncSendingTotalPendingAllocationsView, - GraphsyncSendingPeersPendingView, - RcmgrAllowConnView, RcmgrBlockConnView, RcmgrAllowStreamView, diff --git a/node/builder.go b/node/builder.go index cadd5c64ce1..2ea9dcac55c 100644 --- a/node/builder.go +++ b/node/builder.go @@ -99,7 +99,6 @@ const ( RunHelloKey RunChainExchangeKey - RunChainGraphsync RunPeerMgrKey HandleIncomingBlocksKey From ab1cd85afdb550cae7f1b3224b413a9668b554a5 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Mon, 17 Jun 2024 08:01:20 +0200 Subject: [PATCH 33/48] chore: types: remove more items forgotten after markets (#12095) * chore: cleanup: remove more items forgotten after markets * .gz somehow reappeared after https://github.com/filecoin-project/lotus/pull/11625 --- .github/pull_request_template.md | 2 +- api/api_full.go | 23 ----------- api/docgen/docgen.go | 6 --- api/types.go | 30 -------------- build/openrpc/full.json.gz | Bin 35935 -> 0 bytes build/openrpc/gateway.json.gz | Bin 12258 -> 0 bytes build/openrpc/miner.json.gz | Bin 16475 -> 0 bytes build/openrpc/worker.json.gz | Bin 6048 -> 0 bytes cmd/lotus-miner/main.go | 38 +----------------- go.mod | 1 - go.sum | 12 ------ itests/kit/node_opts.go | 9 ----- lib/promise/promise.go | 53 ------------------------- lib/promise/promise_test.go | 65 ------------------------------- node/modules/storageminer.go | 4 -- node/repo/fsrepo.go | 36 ----------------- node/repo/fsrepo_ds.go | 15 ++++--- node/repo/memrepo.go | 8 ---- scripts/generate-lotus-cli.py | 2 +- 19 files changed, 13 insertions(+), 291 deletions(-) delete mode 100644 build/openrpc/full.json.gz delete mode 100644 build/openrpc/gateway.json.gz delete mode 100644 build/openrpc/miner.json.gz delete mode 100644 build/openrpc/worker.json.gz delete mode 100644 lib/promise/promise.go delete mode 100644 lib/promise/promise_test.go diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index b5843c5b38e..6422093501b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -15,7 +15,7 @@ Before you mark the PR ready for review, please make sure that: - [ ] PR title is in the form of of `: : ` - 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 + - `area`, e.g. api, chain, state, 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) diff --git a/api/api_full.go b/api/api_full.go index b82b172eb51..5d2f6d4176e 100644 --- a/api/api_full.go +++ b/api/api_full.go @@ -6,7 +6,6 @@ import ( "fmt" "time" - "github.com/google/uuid" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" @@ -1052,8 +1051,6 @@ type MarketDeal struct { State MarketDealState } -type RemoteStoreID = uuid.UUID - type InvocResult struct { MsgCid cid.Cid Msg *types.Message @@ -1064,11 +1061,6 @@ type InvocResult struct { Duration time.Duration } -type MethodCall struct { - types.MessageReceipt - Error string -} - type IpldObject struct { Cid cid.Cid Obj interface{} @@ -1180,21 +1172,6 @@ type BlockTemplate struct { WinningPoStProof []builtin.PoStProof } -type DataSize struct { - PayloadSize int64 - PieceSize abi.PaddedPieceSize -} - -type DataCIDSize struct { - PayloadSize int64 - PieceSize abi.PaddedPieceSize - PieceCID cid.Cid -} - -type CommPRet struct { - Root cid.Cid - Size abi.UnpaddedPieceSize -} type HeadChange struct { Type string Val *types.TipSet diff --git a/api/docgen/docgen.go b/api/docgen/docgen.go index eace7a9a19c..cba7bb6b5b3 100644 --- a/api/docgen/docgen.go +++ b/api/docgen/docgen.go @@ -16,7 +16,6 @@ import ( "github.com/google/uuid" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" - 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" @@ -91,9 +90,6 @@ func init() { addExample(pid) addExample(&pid) - textSelExample := textselector.Expression("Links/21/Hash/Links/42/Hash") - apiSelExample := api.Selector("Links/21/Hash/Links/42/Hash") - block := blocks.Block(&blocks.BasicBlock{}) ExampleValues[reflect.TypeOf(&block).Elem()] = block @@ -124,8 +120,6 @@ func init() { addExample(api.PCHInbound) addExample(time.Minute) - addExample(&textSelExample) - addExample(&apiSelExample) addExample(network.ReachabilityPublic) addExample(build.TestNetworkVersion) allocationId := verifreg.AllocationId(0) diff --git a/api/types.go b/api/types.go index a79615f12ec..61f6cb8bafe 100644 --- a/api/types.go +++ b/api/types.go @@ -1,7 +1,6 @@ package api import ( - "encoding/json" "time" "github.com/google/uuid" @@ -9,7 +8,6 @@ import ( 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" "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" @@ -19,27 +17,6 @@ import ( "github.com/filecoin-project/lotus/node/modules/dtypes" ) -type MultiaddrSlice []ma.Multiaddr - -func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error) { - var temp []string - if err := json.Unmarshal(raw, &temp); err != nil { - return err - } - - res := make([]ma.Multiaddr, len(temp)) - for i, str := range temp { - res[i], err = ma.NewMultiaddr(str) - if err != nil { - return err - } - } - *m = res - return nil -} - -var _ json.Unmarshaler = new(MultiaddrSlice) - type ObjStat struct { Size uint64 Links uint64 @@ -158,13 +135,6 @@ type MessagePrototype struct { ValidNonce bool } -// 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 -type Selector string - type MinerInfo struct { Owner address.Address // Must be an ID-address. Worker address.Address // Must be an ID-address. diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz deleted file mode 100644 index 08dda7784c666f634566edc12e0a9ce7f8908c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35935 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 GW|mFzH5i0Jg&5vrzzQ5b7V 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%0AaDkS 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 B3_kz> diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz deleted file mode 100644 index 0f3cb11c7a3140dc8227754c0ab7a27965626b96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6048 zcmV;R7hmWfiwFP!00000|Lk3TbECGp|0){Ye>OYB#(>{4vww86ZEx<`?a4`+cFsvM zXJwFW8W2>7B;Jg_`yBzc!GHrcB-*T|Gus&S^5}W}NqQunpyy*keG{I*UPtQ;paN|& z_29`9WHxg!Jb|A*76#zr{1p6jeg+kIk7;0gB(5>&=y0h(7qhu%1@Pqh2@>S;YQNYH zHa(kkezL4{8=Dv^(87U9ZJ))}zkdBX^KQsABqn$lfcJlT^bXTYMnjVwfmOA4z6wl_ zF#O0mr}6(4;P*hlJZevoi946rWFEc1Qw8`MxV}XbyK_Z+WLY?F;?n+x72xZj?2VCX z?Gs|?2)x@oI7NiryFv^>?sI3XM|x&kh2~k`0xP`+lh> zJb_SwKBCBtc^OhJkICZL_X0cOeeyaZFTa-)Pyvg#y9vxWb`e(>{D@rN!Eu{spZKFM zHo+90^i)+<;BTQj;lIX91)fvSoBqD=F+3S9Zxx6vDlp-r&`PZ$j` z7l%)=i5Pzp4Q{Dy~=rG=PLfy7| z+Cl5OKovg_`;DExfEzSahw*>M1^=x6gL`?3M4g{1Deto$!bOi~af7{q0$rP=ekFxt zEnh0Bv5V)e_I5w{XWUleIQ7Xh3po9&&F0|*Q0#gP1IH$JP=O(J;0c^F<_9O;?kpr?M>@!uIHotgJPpNGAn&c~F;9^9}_ zZL22qNNSZKk1`aY9fl&3UfTi@n?bEGL@{>QbP_X#cNN@_h9Jdv>ALfgR=RHKx~1!G z#C4C164&iL5XVDSEQ`d+M3EP>%L*w_kkrOvDMS>;7}( zwiXGB7?Yk@%1Nalwl2b?k{dxK0rA#T!Isy7$WVxzS5jXlY^>1ezFI56 zkOV_-4GfL@#bD@Xf+h~GJC99j6~LY&@Gb^7<#;5iTns{Dj@7^%8&VDi7e#iT1gTev zTweNNgWf40<)SH**h|QD7>1~*w%!u({JPX$Z(h;$3VdoVm z=zK?%I!yjxPIFqU_Bb?`vo#c>HDScm%e{5->;90egChRV2W7c z@cw}pzfjNJV^_Ykox015rfqdjZL4NTW9Q;wqSw!_6-Guv z7&x;qVfNH6ST{ViEkJqq0Va$)=m0y@~dzfWRN|*$)LEaOzpu1n(Z^wmAnjv1~p>-iI4H%r^PkV;`A!*jo3(nRNsZu>b;J zc&RxG=AG@ruK*aJ~f`cFf2R4LV zL`Gc&7;NfPLIm4g?1c?74BXyX%)gg z)$eTI=VQ4p1-G{~5o?y7eJWP7x%Akcpo=X#;?2Y+h%SC6re|?;=Dst)10&^8c4f`3 z`LSQ(?u*TSv(E9Y0pUUKSs+YoGCK?juUdF1C|n4EuWxqN$|;m0;&#o<(uJzb$^O?1*t#pOrrdVUqe zfBhQ$b)6;PcB?Dj3t0DF?LI_vPk&{$YBHJmf?bafRa1?T0>7Zg?1Nv=udbNw*x%xF zoF~1g%sHYwN;-Dn7Cid({0g3^3jBxyT-3v-mkR7{kuuUpqk)>GX8o)| zg3|ruXcCD(LNZ9(BC4kj^`X%lX-0;w-k_%rdfHGQG)mg0H?^2NeTzI@(|VfLH-?&; zrBBt>;aKbSd#X{1!sB8R2RRaTL+_7=`bZy?aM0KyabOsl(O1WYu|=Xb8X04?HyVx9 zW=R~3hP|;d97NJ7AW>`?i!WmFCEORs%?$+fazmjFU?jW&j0HD>?%RMzFm>NXJ3^`ZQi(1D z;7|uymLJ^$zdy`TMT0p95Yz_DX@x&RGN|er!49QAfV8dNo<%%{Ha5nCp*9|5s7pV7 zLF%^S+@sgVK2-^NA?$NFe}rUEJ0Y?vX?3xWSkyJJHqah*LJL-C zxe6`T=CIGf4y|eI(}X{32m3T6y9U;N+9R%km7lhV%VQr+Zf~`QeSX~SEwQ%7tLOi$ z=~Eltd2THKM^g>8r;d$5e<1UJ_R0TwH4%$1VYvnNBjo?QngLYJ|9LF~NP!~@F=X0S z5jGNPnQa>kh((;(tP`7e+tF4m>V)2L$zds>s1sVSLd#WXv2J50p@`c?Q$i894XcDA z?z`G#6NtDJmYPQ2H7Y<-J=GZXhl8y}vE*5UD`F*!0%B1k7;^;UPJZp-RmsV3y1Xhm z`E8chBu6Y+i6ttrB(;rMUYD9}kn+0JkkDs> zc=kR39>`z6IQH3OI2{8$`fSr1X<%sCH4uj<#KteKxA3bNA!_% zPCXw}X5#>!Opy~{1^TH+>F?Y>LALNW-@Av)f=}JA%S=4a!HDoenb$RXj=yvN1ewho z-Xsa#38qk4b&>pDM!btk+6=ovA)(0wL@8SE-VkJHt4JQfDsiQ`SW zE(#c?UF6$cpL&mr|IRS!%)I~kJk&-yAJY?zeGU92X{GbUyT_NzqiBYqvPIa}uU}{0 z4Vi|-1n&ay{!fqIVS34EXtE=as`<`Wf$0&3A6e%#{=WkJ9tfC6?I|*G=Q7&=zra%k z_*(8cr{?#CkB`8+&8t)7IA@;}fGPFp5qP>GH_V=bpmRoIZl-AmA3gwLJ8`KSMllO1 z0q+TZ$hCN+fS)P-&109L?|YPCi`QB5f0Am&UA*&EJ}5qbqZ_ikAz#0Kg$fKp*F{`6 zAylA`C~{*4g*5Whi(}slB4@CA9l(?8wH*9jj_Uyj0*h^}Oltky4LpMya^v8Wj>Es+jkR#C>c#GpHI3)HUjjytHTK zwNmDCq2$@^-HWeO^ml^mrCG*c&L&wMpvNHu~9&T|A3q&Eqi|Xv3*7L47oW3j7n>vpIt&hNi&Jo{5~Oqt#3V z+#@ICe)klS%V@zl)@J^bd3^Z%_wx2uSviO6dNZa~vqjUeO(#WfW0#bhH>Ji<@OCxY z{Q_GmO2nS&yEb%P?Uxuj^-LTDmpBMwovvl^naahcABMKoxw_g7MY9dixrCE~&H_BlF-gkZ5I^n@1PoCY+>ir3 z$$HQ^@uc58?=7mKg^YRcgSB$t>b6S!e;a1j8o#Mq*H>S28E(T$U z4ej25X$+LWs@js#rDOz^j3Ff>l4RuSl3ZPSW2;NLHmr(<^8vgr8rB*{!wT^Gsk%vD ze;{Hz4vO$ia4=xjUJfv81%R0kQG#YcY+r)r9~=Nk(EJ@pMuKKhCDY##eTss2wfzLyKXb>9|%&yP|jPYGtOA^`TBHdoCW_~&#QV8$h-84A3#zv1}r{df0Q zEmmQB+~14t%gX>O1MFK1u*SG7z`EXj-F)P@Qdu}f6FUhBXP=JZ@K_ujc_YO^u}<(y zNa0-<$GcVDau@uQ%`vT&VzDa#rpH;)+DmM_p4ql*0X6l#$XEUrI!;0QNAxf?*IlQ6 zIL>!&Tm!YtxKgXCwQVd_w?1;^%6V>M6Q7Z(R~xscx^54(X2&Nns~Gk#7-r4raaF{+ z!l=5Yz^L+R%;YAPpY}(+X-al3^yRWsB?gulSYqIV!}PFM9HuWZa!#X9P}WVfOx3I# zqGR-koQo(cnBX9Yc9;3%C`KZa+4neC!q|@OTYJxOC#SYmcgHz3l(s^CmRoX%SqA@| z!9Q;y)iT#VK79DlPGXtih1(qG4iNpJrH{AUoH{2Oo$qjdxnEgy5ZK!QGtBPfSapHN-jzb5V1`a)V zkRfHq;e$TZQjgGU`WS1TD6*U%JdSY691&k|I&8NK8loXdI0 zEbpOqq)Dn3hMICSNopNzB%9ug&Et1!&t{l{ASrlobok-)#V9#Bot%35$+DuGkL#*U zws!gSoZ4izOOdke9IQ_{vdTSgWAo@}HL((+$lQ(Hb#@Ch?y&VMRk zN+q>kSFh<6w`w<}&1q^{xn2H;)1G0;dAtn64{(dA1`hR%siqoLC+Q#Gw1$t$jJqdV3rN?NYBa*?IK6;E11XO7e5<*KY{R{BE6 z3G7;kp{|eEJX*Ni@sYfS(vC$nhH+WyXsi(z*utiR=pj~-ZKKTTzfa3N+NXMMIijfb zhT=eu2vV7Xydgku;v z-FvlbM!St&O+vCmG`v@mCBbD9F9GkN;Bm#q^gC{@3H4qRCbj#A&~B|{|8pgix*q^s z*V{4G$O)dq=+I@LKmXqbQ!0 z>?~hpcCxZ7uB9u}I(b??GX>e1q42hI2l{%+HfVfoG)ix+X+5c$`)AHw5g%C=wmvQx zJ|h->Twg%3dJ}bUX@A4f#S?{x1NwV@5iB)=w({<>Op@14$OOEK33xffc>conIvFA9 z?@OzOs*j9)zcT&o-4Z!NZgC`96T`?~8u8{%YveCrke>yR-_nxFsxn!%F~Dh*bL1?;&|p=07AlS2e3J&7$AxPiIX)0Ktn>J6i=Du aQBSD`W4K)2F8@CO0RR7_KxV9MSOEZJF2+Ov diff --git a/cmd/lotus-miner/main.go b/cmd/lotus-miner/main.go index fd0ea62db28..76b8c0deb05 100644 --- a/cmd/lotus-miner/main.go +++ b/cmd/lotus-miner/main.go @@ -23,8 +23,7 @@ import ( var log = logging.Logger("main") const ( - FlagMinerRepo = "miner-repo" - FlagMarketsRepo = "markets-repo" + FlagMinerRepo = "miner-repo" ) // TODO remove after deprecation period @@ -77,21 +76,6 @@ func main() { } } - // adapt the Net* commands to always hit the node running the markets - // subsystem, as that is the only one that runs a libp2p node. - netCmd := *lcli.NetCmd // make a copy. - netCmd.Hidden = true - prev := netCmd.Before - netCmd.Before = func(c *cli.Context) error { - if prev != nil { - if err := prev(c); err != nil { - return err - } - } - c.App.Metadata["repoType"] = repo.Markets - return nil - } - app := &cli.App{ Name: "lotus-miner", Usage: "Filecoin decentralized storage network miner", @@ -129,27 +113,9 @@ func main() { Value: "~/.lotusminer", // TODO: Consider XDG_DATA_HOME Usage: fmt.Sprintf("Specify miner repo path. flag(%s) and env(LOTUS_STORAGE_PATH) are DEPRECATION, will REMOVE SOON", FlagMinerRepoDeprecation), }, - &cli.StringFlag{ - Name: FlagMarketsRepo, - EnvVars: []string{"LOTUS_MARKETS_PATH"}, - Hidden: true, - }, - &cli.BoolFlag{ - Name: "call-on-markets", - Usage: "(experimental; may be removed) call this command against a markets node; use only with common commands like net, auth, pprof, etc. whose target may be ambiguous", - Hidden: true, - }, cliutil.FlagVeryVerbose, }, - Commands: append(local, append(lcli.CommonCommands, &netCmd)...), - Before: func(c *cli.Context) error { - // this command is explicitly called on markets, inform - // common commands by overriding the repoType. - if c.Bool("call-on-markets") { - c.App.Metadata["repoType"] = repo.Markets - } - return nil - }, + Commands: append(local, lcli.CommonCommands...), After: func(c *cli.Context) error { if r := recover(); r != nil { // Generate report in LOTUS_PATH and re-raise panic diff --git a/go.mod b/go.mod index d47529e546a..76d5bb8c478 100644 --- a/go.mod +++ b/go.mod @@ -92,7 +92,6 @@ require ( github.com/ipld/go-car v0.6.2 github.com/ipld/go-car/v2 v2.13.1 github.com/ipld/go-ipld-prime v0.21.0 - github.com/ipld/go-ipld-selector-text-lite v0.0.1 github.com/ipni/go-libipni v0.0.8 github.com/jackc/pgerrcode v0.0.0-20240316143900-6e2875d9b438 github.com/kelseyhightower/envconfig v1.4.0 diff --git a/go.sum b/go.sum index 43c6e408563..d1d53543052 100644 --- a/go.sum +++ b/go.sum @@ -328,7 +328,6 @@ github.com/flynn/noise v1.1.0 h1:KjPQoQCEFdZDiP03phOvGi11+SVVhBG2wOWAorLsstg= github.com/flynn/noise v1.1.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= @@ -581,7 +580,6 @@ github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUP github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.4-0.20191112011718-79e75dffeb10/go.mod h1:/BYOuUoxkE+0f6tGzlzMvycuN+5l35VOR4Bpg2sCmds= -github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6-0.20200501230655-7c82f3b81c00/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= @@ -594,9 +592,7 @@ github.com/ipfs/go-cidutil v0.1.0 h1:RW5hO7Vcf16dplUU60Hs0AKDkQAVPVplr7lk97CFL+Q github.com/ipfs/go-cidutil v0.1.0/go.mod h1:e7OEVBMIv9JaOxt9zaGEmAoSlXW9jdFZ5lP/0PwcfpA= github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= -github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.1.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= -github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= github.com/ipfs/go-datastore v0.5.1/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= @@ -617,7 +613,6 @@ github.com/ipfs/go-fs-lock v0.0.6/go.mod h1:OTR+Rj9sHiRubJh3dRhD15Juhd/+w6VPOY28 github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U= github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= -github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE= github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7PTTDQNsQ= github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= @@ -662,7 +657,6 @@ github.com/ipfs/go-ipld-cbor v0.1.0 h1:dx0nS0kILVivGhfWuB6dUpMa/LAwElHPw1yOGYopo github.com/ipfs/go-ipld-cbor v0.1.0/go.mod h1:U2aYlmVrJr2wsUBU67K4KgepApSZddGRDWBYR0H4sCk= github.com/ipfs/go-ipld-format v0.0.1/go.mod h1:kyJtbkDALmFHv3QR6et67i35QzO3S0dCDnkOJhcZkms= github.com/ipfs/go-ipld-format v0.0.2/go.mod h1:4B6+FM2u9OJ9zCV+kSbgFAZlOrv1Hqbf0INGQgiKf9k= -github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= github.com/ipfs/go-ipld-format v0.3.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= github.com/ipfs/go-ipld-format v0.4.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U= @@ -685,7 +679,6 @@ github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= github.com/ipfs/go-merkledag v0.2.3/go.mod h1:SQiXrtSts3KGNmgOzMICy5c0POOpUNQLvB3ClKnBAlk= github.com/ipfs/go-merkledag v0.2.4/go.mod h1:SQiXrtSts3KGNmgOzMICy5c0POOpUNQLvB3ClKnBAlk= -github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= github.com/ipfs/go-merkledag v0.11.0 h1:DgzwK5hprESOzS4O1t/wi6JDpyVQdvm9Bs59N/jqfBY= github.com/ipfs/go-merkledag v0.11.0/go.mod h1:Q4f/1ezvBiJV0YCIXvt51W/9/kqJGH4I1LsA7+djsM4= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= @@ -706,20 +699,15 @@ github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc= github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8= github.com/ipld/go-car/v2 v2.13.1 h1:KnlrKvEPEzr5IZHKTXLAEub+tPrzeAFQVRlSQvuxBO4= github.com/ipld/go-car/v2 v2.13.1/go.mod h1:QkdjjFNGit2GIkpQ953KBwowuoukoM75nP/JI1iDJdo= -github.com/ipld/go-codec-dagpb v1.2.0/go.mod h1:6nBN7X7h8EOsEejZGqC7tej5drsdBAXbMHyBT+Fne5s= github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc= github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s= github.com/ipld/go-ipld-prime v0.0.2-0.20191108012745-28a82f04c785/go.mod h1:bDDSvVz7vaK12FNvMeRYnpRFkSUPNQOiCYQezMD/P3w= -github.com/ipld/go-ipld-prime v0.9.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= -github.com/ipld/go-ipld-prime v0.10.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= github.com/ipld/go-ipld-prime v0.19.0/go.mod h1:Q9j3BaVXwaA3o5JUDNvptDDr/x8+F7FG6XJ8WI3ILg4= github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E= github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ= github.com/ipld/go-ipld-prime-proto v0.0.0-20191113031812-e32bd156a1e5/go.mod h1:gcvzoEDBjwycpXt3LBE061wT9f46szXGHAmj9uoP6fU= github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20230102063945-1a409dc236dd h1:gMlw/MhNr2Wtp5RwGdsW23cs+yCuj9k2ON7i9MiJlRo= github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20230102063945-1a409dc236dd/go.mod h1:wZ8hH8UxeryOs4kJEJaiui/s00hDSbE37OKsL47g+Sw= -github.com/ipld/go-ipld-selector-text-lite v0.0.1 h1:lNqFsQpBHc3p5xHob2KvEg/iM5dIFn6iw4L/Hh+kS1Y= -github.com/ipld/go-ipld-selector-text-lite v0.0.1/go.mod h1:U2CQmFb+uWzfIEF3I1arrDa5rwtj00PrpiwwCO+k1RM= github.com/ipni/go-libipni v0.0.8 h1:0wLfZRSBG84swmZwmaLKul/iB/FlBkkl9ZcR1ub+Z+w= github.com/ipni/go-libipni v0.0.8/go.mod h1:paYP9U4N3/vOzGCuN9kU972vtvw9JUcQjOKyiCFGwRk= github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 h1:QG4CGBqCeuBo6aZlGAamSkxWdgWfZGeE49eUOWJPA4c= diff --git a/itests/kit/node_opts.go b/itests/kit/node_opts.go index 89aee322a51..89c04b1c766 100644 --- a/itests/kit/node_opts.go +++ b/itests/kit/node_opts.go @@ -43,7 +43,6 @@ type nodeOpts struct { disableLibp2p bool optBuilders []OptBuilder sectorSize abi.SectorSize - maxStagingDealsBytes int64 minerNoLocalSealing bool // use worker minerAssigner string disallowRemoteFinalize bool @@ -107,14 +106,6 @@ func WithSubsystems(systems ...MinerSubsystem) NodeOpt { return nil } } - -func WithMaxStagingDealsBytes(size int64) NodeOpt { - return func(opts *nodeOpts) error { - opts.maxStagingDealsBytes = size - return nil - } -} - func WithNoLocalSealing(nope bool) NodeOpt { return func(opts *nodeOpts) error { opts.minerNoLocalSealing = nope diff --git a/lib/promise/promise.go b/lib/promise/promise.go deleted file mode 100644 index 02e917ca121..00000000000 --- a/lib/promise/promise.go +++ /dev/null @@ -1,53 +0,0 @@ -package promise - -import ( - "context" - "sync" -) - -type Promise[T any] struct { - val T - done chan struct{} - mu sync.Mutex -} - -func (p *Promise[T]) Set(val T) { - p.mu.Lock() - defer p.mu.Unlock() - - // Set value - p.val = val - - // Initialize the done channel if it hasn't been initialized - if p.done == nil { - p.done = make(chan struct{}) - } - - // Signal that the value is set - close(p.done) -} - -func (p *Promise[T]) Val(ctx context.Context) T { - p.mu.Lock() - // Initialize the done channel if it hasn't been initialized - if p.done == nil { - p.done = make(chan struct{}) - } - p.mu.Unlock() - - select { - case <-ctx.Done(): - return *new(T) - case <-p.done: - p.mu.Lock() - val := p.val - p.mu.Unlock() - return val - } -} - -func (p *Promise[T]) IsSet() bool { - p.mu.Lock() - defer p.mu.Unlock() - return p.done != nil -} diff --git a/lib/promise/promise_test.go b/lib/promise/promise_test.go deleted file mode 100644 index c2e9b656e95..00000000000 --- a/lib/promise/promise_test.go +++ /dev/null @@ -1,65 +0,0 @@ -package promise - -import ( - "context" - "sync" - "testing" - "time" -) - -func TestPromiseSet(t *testing.T) { - p := &Promise[int]{} - - p.Set(42) - if p.val != 42 { - t.Fatalf("expected 42, got %v", p.val) - } -} - -func TestPromiseVal(t *testing.T) { - p := &Promise[int]{} - - p.Set(42) - - ctx := context.Background() - val := p.Val(ctx) - - if val != 42 { - t.Fatalf("expected 42, got %v", val) - } -} - -func TestPromiseValWaitsForSet(t *testing.T) { - p := &Promise[int]{} - var val int - - var wg sync.WaitGroup - wg.Add(1) - - go func() { - defer wg.Done() - ctx := context.Background() - val = p.Val(ctx) - }() - - time.Sleep(100 * time.Millisecond) // Give some time for the above goroutine to execute - p.Set(42) - wg.Wait() - - if val != 42 { - t.Fatalf("expected 42, got %v", val) - } -} - -func TestPromiseValContextCancel(t *testing.T) { - p := &Promise[int]{} - ctx, cancel := context.WithCancel(context.Background()) - cancel() // Cancel the context - - val := p.Val(ctx) - - var zeroValue int - if val != zeroValue { - t.Fatalf("expected zero-value, got %v", val) - } -} diff --git a/node/modules/storageminer.go b/node/modules/storageminer.go index dd39ec2ae6e..01f293b8f4a 100644 --- a/node/modules/storageminer.go +++ b/node/modules/storageminer.go @@ -44,10 +44,6 @@ import ( "github.com/filecoin-project/lotus/storage/wdpost" ) -var ( - StagingAreaDirName = "deal-staging" -) - type UuidWrapper struct { v1api.FullNode } diff --git a/node/repo/fsrepo.go b/node/repo/fsrepo.go index 1ffc1509fba..98d0bd01b47 100644 --- a/node/repo/fsrepo.go +++ b/node/repo/fsrepo.go @@ -74,11 +74,6 @@ type RepoType interface { APIInfoEnvVars() (string, []string, []string) } -// SupportsStagingDeals is a trait for services that support staging deals -type SupportsStagingDeals interface { - SupportsStagingDeals() -} - var FullNode fullNode type fullNode struct { @@ -108,8 +103,6 @@ var StorageMiner storageMiner type storageMiner struct{} -func (storageMiner) SupportsStagingDeals() {} - func (storageMiner) Type() string { return "StorageMiner" } @@ -131,35 +124,6 @@ func (storageMiner) APIInfoEnvVars() (primary string, fallbacks []string, deprec return "MINER_API_INFO", nil, []string{"STORAGE_API_INFO"} } -var Markets markets - -type markets struct{} - -func (markets) SupportsStagingDeals() {} - -func (markets) Type() string { - return "Markets" -} - -func (markets) Config() interface{} { - return config.DefaultStorageMiner() -} - -func (markets) APIFlags() []string { - // support split markets-miner and monolith deployments. - return []string{"markets-api-url", "miner-api-url"} -} - -func (markets) RepoFlags() []string { - // support split markets-miner and monolith deployments. - return []string{"markets-repo", "miner-repo"} -} - -func (markets) APIInfoEnvVars() (primary string, fallbacks []string, deprecated []string) { - // support split markets-miner and monolith deployments. - return "MARKETS_API_INFO", []string{"MINER_API_INFO"}, nil -} - type worker struct { } diff --git a/node/repo/fsrepo_ds.go b/node/repo/fsrepo_ds.go index a4415692aaf..87dd2b05241 100644 --- a/node/repo/fsrepo_ds.go +++ b/node/repo/fsrepo_ds.go @@ -5,9 +5,7 @@ import ( "os" "path/filepath" - dgbadger "github.com/dgraph-io/badger/v2" "github.com/ipfs/go-datastore" - badger "github.com/ipfs/go-ds-badger2" levelds "github.com/ipfs/go-ds-leveldb" measure "github.com/ipfs/go-ds-measure" ldbopts "github.com/syndtr/goleveldb/leveldb/opt" @@ -18,12 +16,15 @@ type dsCtor func(path string, readonly bool) (datastore.Batching, error) var fsDatastores = map[string]dsCtor{ "metadata": levelDs, +} - // Those need to be fast for large writes... but also need a really good GC :c - "staging": badgerDs, // miner specific +// Helper badgerDs() and its imports are unused +// Leaving here for completeness +// +/* - "client": badgerDs, // client specific -} +dgbadger "github.com/dgraph-io/badger/v2" +badger "github.com/ipfs/go-ds-badger2" func badgerDs(path string, readonly bool) (datastore.Batching, error) { opts := badger.DefaultOptions @@ -34,6 +35,8 @@ func badgerDs(path string, readonly bool) (datastore.Batching, error) { return badger.NewDatastore(path, &opts) } +*/ + func levelDs(path string, readonly bool) (datastore.Batching, error) { return levelds.NewDatastore(path, &levelds.Options{ Compression: ldbopts.NoCompression, diff --git a/node/repo/memrepo.go b/node/repo/memrepo.go index 6a4b416e204..d1e9b214b4a 100644 --- a/node/repo/memrepo.go +++ b/node/repo/memrepo.go @@ -107,14 +107,6 @@ func (lmem *lockedMemRepo) Path() string { panic(err) // only used in tests, probably fine } - if _, ok := lmem.t.(SupportsStagingDeals); ok { - // this is required due to the method makeDealStaging from cmd/lotus-storage-miner/init.go - // deal-staging is the directory deal files are staged in before being sealed into sectors - // for offline deal flow. - if err := os.MkdirAll(filepath.Join(t, "deal-staging"), 0755); err != nil { - panic(err) - } - } if lmem.t == StorageMiner || lmem.t == Worker { lmem.initSectorStore(t) } diff --git a/scripts/generate-lotus-cli.py b/scripts/generate-lotus-cli.py index f7ec70bbb1b..9158dc2e964 100644 --- a/scripts/generate-lotus-cli.py +++ b/scripts/generate-lotus-cli.py @@ -48,7 +48,7 @@ def get_cmd_recursively(cur_cmd): # When --help is generated one needs to make sure none of the # urfave-cli `EnvVars:` defaults get triggered # Unset everything we can find via: grep -ho 'EnvVars:.*' -r * | sort -u - for e in [ "LOTUS_PATH", "LOTUS_MARKETS_PATH", "LOTUS_MINER_PATH", "LOTUS_STORAGE_PATH", "LOTUS_WORKER_PATH", "WORKER_PATH", "LOTUS_PANIC_REPORT_PATH", "WALLET_PATH" ]: + for e in [ "LOTUS_PATH", "LOTUS_MINER_PATH", "LOTUS_STORAGE_PATH", "LOTUS_WORKER_PATH", "WORKER_PATH", "LOTUS_PANIC_REPORT_PATH", "WALLET_PATH" ]: os.environ.pop(e, None) # Set env var telling the binaries that we're generating docs From 9772b1c1a5689226c888aef197b32e6277c94357 Mon Sep 17 00:00:00 2001 From: Aarsh Shah Date: Tue, 11 Jun 2024 19:07:17 +0400 Subject: [PATCH 34/48] fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset (#11905) * fix eth call * tests * changes as per review * changes as per review * Update node/impl/full/eth.go Co-authored-by: Rod Vagg * fix as per review --------- Co-authored-by: Rod Vagg --- chain/stmgr/call.go | 92 +++++++++++++++++++++++++++---------------- chain/stmgr/forks.go | 2 +- node/impl/full/eth.go | 29 +++++++------- 3 files changed, 74 insertions(+), 49 deletions(-) diff --git a/chain/stmgr/call.go b/chain/stmgr/call.go index 61056528f11..7f2a57a6112 100644 --- a/chain/stmgr/call.go +++ b/chain/stmgr/call.go @@ -25,6 +25,14 @@ import ( "github.com/filecoin-project/lotus/chain/vm" ) +type execMessageStrategy int + +const ( + execNoMessages execMessageStrategy = iota // apply no prior or current tipset messages + execAllMessages // apply all prior and current tipset messages + execSameSenderMessages // apply all prior messages and any current tipset messages from the same sender +) + var ErrExpensiveFork = errors.New("refusing explicit call due to state fork at epoch") // Call applies the given message to the given tipset's parent state, at the epoch following the @@ -48,12 +56,24 @@ func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types. msg.Value = types.NewInt(0) } - return sm.callInternal(ctx, msg, nil, ts, cid.Undef, sm.GetNetworkVersion, false, false) + return sm.callInternal(ctx, msg, nil, ts, cid.Undef, sm.GetNetworkVersion, false, execSameSenderMessages) +} + +// ApplyOnStateWithGas applies the given message on top of the given state root with gas tracing enabled +func (sm *StateManager) ApplyOnStateWithGas(ctx context.Context, stateCid cid.Cid, msg *types.Message, ts *types.TipSet) (*api.InvocResult, error) { + return sm.callInternal(ctx, msg, nil, ts, stateCid, sm.GetNetworkVersion, true, execNoMessages) } // CallWithGas calculates the state for a given tipset, and then applies the given message on top of that state. func (sm *StateManager) CallWithGas(ctx context.Context, msg *types.Message, priorMsgs []types.ChainMsg, ts *types.TipSet, applyTsMessages bool) (*api.InvocResult, error) { - return sm.callInternal(ctx, msg, priorMsgs, ts, cid.Undef, sm.GetNetworkVersion, true, applyTsMessages) + var strategy execMessageStrategy + if applyTsMessages { + strategy = execAllMessages + } else { + strategy = execSameSenderMessages + } + + return sm.callInternal(ctx, msg, priorMsgs, ts, cid.Undef, sm.GetNetworkVersion, true, strategy) } // CallAtStateAndVersion allows you to specify a message to execute on the given stateCid and network version. @@ -64,14 +84,14 @@ func (sm *StateManager) CallAtStateAndVersion(ctx context.Context, msg *types.Me nvGetter := func(context.Context, abi.ChainEpoch) network.Version { return v } - - return sm.callInternal(ctx, msg, nil, nil, stateCid, nvGetter, true, false) + return sm.callInternal(ctx, msg, nil, nil, stateCid, nvGetter, true, execSameSenderMessages) } // - If no tipset is specified, the first tipset without an expensive migration or one in its parent is used. // - If executing a message at a given tipset or its parent would trigger an expensive migration, the call will // fail with ErrExpensiveFork. -func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, priorMsgs []types.ChainMsg, ts *types.TipSet, stateCid cid.Cid, nvGetter rand.NetworkVersionGetter, checkGas, applyTsMessages bool) (*api.InvocResult, error) { +func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, priorMsgs []types.ChainMsg, ts *types.TipSet, stateCid cid.Cid, + nvGetter rand.NetworkVersionGetter, checkGas bool, strategy execMessageStrategy) (*api.InvocResult, error) { ctx, span := trace.StartSpan(ctx, "statemanager.callInternal") defer span.End() @@ -95,7 +115,7 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr return nil, xerrors.Errorf("failed to find a non-forking epoch: %w", err) } // Checks for expensive forks from the parents to the tipset, including nil tipsets - if !sm.hasExpensiveForkBetween(pts.Height(), ts.Height()+1) { + if !sm.HasExpensiveForkBetween(pts.Height(), ts.Height()+1) { break } @@ -106,7 +126,7 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr if err != nil { return nil, xerrors.Errorf("failed to find a non-forking epoch: %w", err) } - if sm.hasExpensiveForkBetween(pts.Height(), ts.Height()+1) { + if sm.HasExpensiveForkBetween(pts.Height(), ts.Height()+1) { return nil, ErrExpensiveFork } } @@ -117,24 +137,6 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr if stateCid == cid.Undef { stateCid = ts.ParentState() } - tsMsgs, err := sm.cs.MessagesForTipset(ctx, ts) - if err != nil { - return nil, xerrors.Errorf("failed to lookup messages for parent tipset: %w", err) - } - - if applyTsMessages { - priorMsgs = append(tsMsgs, priorMsgs...) - } else { - var filteredTsMsgs []types.ChainMsg - for _, tsMsg := range tsMsgs { - //TODO we should technically be normalizing the filecoin address of from when we compare here - if tsMsg.VMMessage().From == msg.VMMessage().From { - filteredTsMsgs = append(filteredTsMsgs, tsMsg) - } - } - priorMsgs = append(filteredTsMsgs, priorMsgs...) - } - // Technically, the tipset we're passing in here should be ts+1, but that may not exist. stateCid, err = sm.HandleStateForks(ctx, stateCid, ts.Height(), nil, ts) if err != nil { @@ -169,18 +171,40 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr if err != nil { return nil, xerrors.Errorf("failed to set up vm: %w", err) } - for i, m := range priorMsgs { - _, err = vmi.ApplyMessage(ctx, m) + + switch strategy { + case execNoMessages: + // Do nothing + case execAllMessages, execSameSenderMessages: + tsMsgs, err := sm.cs.MessagesForTipset(ctx, ts) if err != nil { - return nil, xerrors.Errorf("applying prior message (%d, %s): %w", i, m.Cid(), err) + return nil, xerrors.Errorf("failed to lookup messages for parent tipset: %w", err) + } + if strategy == execAllMessages { + priorMsgs = append(tsMsgs, priorMsgs...) + } else if strategy == execSameSenderMessages { + var filteredTsMsgs []types.ChainMsg + for _, tsMsg := range tsMsgs { + //TODO we should technically be normalizing the filecoin address of from when we compare here + if tsMsg.VMMessage().From == msg.VMMessage().From { + filteredTsMsgs = append(filteredTsMsgs, tsMsg) + } + } + priorMsgs = append(filteredTsMsgs, priorMsgs...) + } + for i, m := range priorMsgs { + _, err = vmi.ApplyMessage(ctx, m) + if err != nil { + return nil, xerrors.Errorf("applying prior message (%d, %s): %w", i, m.Cid(), err) + } } - } - // We flush to get the VM's view of the state tree after applying the above messages - // This is needed to get the correct nonce from the actor state to match the VM - stateCid, err = vmi.Flush(ctx) - if err != nil { - return nil, xerrors.Errorf("flushing vm: %w", err) + // We flush to get the VM's view of the state tree after applying the above messages + // This is needed to get the correct nonce from the actor state to match the VM + stateCid, err = vmi.Flush(ctx) + if err != nil { + return nil, xerrors.Errorf("flushing vm: %w", err) + } } stTree, err := state.LoadStateTree(cbor.NewCborStore(buffStore), stateCid) diff --git a/chain/stmgr/forks.go b/chain/stmgr/forks.go index 9a236196187..c6c513e3a26 100644 --- a/chain/stmgr/forks.go +++ b/chain/stmgr/forks.go @@ -227,7 +227,7 @@ func (sm *StateManager) HandleStateForks(ctx context.Context, root cid.Cid, heig // Returns true executing tipsets between the specified heights would trigger an expensive // migration. NOTE: migrations occurring _at_ the target height are not included, as they're // executed _after_ the target height. -func (sm *StateManager) hasExpensiveForkBetween(parent, height abi.ChainEpoch) bool { +func (sm *StateManager) HasExpensiveForkBetween(parent, height abi.ChainEpoch) bool { for h := parent; h < height; h++ { if _, ok := sm.expensiveUpgrades[h]; ok { return true diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 3b6bb408fb5..82f272c6cff 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -1028,25 +1028,26 @@ func (a *EthModule) applyMessage(ctx context.Context, msg *types.Message, tsk ty return nil, xerrors.Errorf("cannot get tipset: %w", err) } - applyTsMessages := true - if os.Getenv("LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS") == "1" { - applyTsMessages = false - } - - // Try calling until we find a height with no migration. - for { - res, err = a.StateManager.CallWithGas(ctx, msg, []types.ChainMsg{}, ts, applyTsMessages) - if err != stmgr.ErrExpensiveFork { - break - } - ts, err = a.Chain.GetTipSetFromKey(ctx, ts.Parents()) + if ts.Height() > 0 { + pts, err := a.Chain.GetTipSetFromKey(ctx, ts.Parents()) if err != nil { - return nil, xerrors.Errorf("getting parent tipset: %w", err) + return nil, xerrors.Errorf("failed to find a non-forking epoch: %w", err) + } + // Check for expensive forks from the parents to the tipset, including nil tipsets + if a.StateManager.HasExpensiveForkBetween(pts.Height(), ts.Height()+1) { + return nil, stmgr.ErrExpensiveFork } } + + st, _, err := a.StateManager.TipSetState(ctx, ts) + if err != nil { + return nil, xerrors.Errorf("cannot get tipset state: %w", err) + } + res, err = a.StateManager.ApplyOnStateWithGas(ctx, st, msg, ts) if err != nil { - return nil, xerrors.Errorf("CallWithGas failed: %w", err) + return nil, xerrors.Errorf("ApplyWithGasOnState failed: %w", err) } + if res.MsgRct.ExitCode.IsError() { reason := parseEthRevert(res.MsgRct.Return) return nil, xerrors.Errorf("message execution failed: exit %s, revert reason: %s, vm error: %s", res.MsgRct.ExitCode, reason, res.Error) From 5414ca990b6b592dcc1032dade5be888809160c0 Mon Sep 17 00:00:00 2001 From: Phi Date: Mon, 17 Jun 2024 10:50:42 +0200 Subject: [PATCH 35/48] Update changelog to RC2 Update changelog to RC2 --- CHANGELOG.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c52494ed225..b9d19b83fe8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,14 @@ ## Improvements -# v1.27.1 / 2024-06-10 +# v1.27.1-rc2 / 2024-06-17 This is the first release candidate of the upcoming optional release of Lotus v1.27.1 ## ☢️ Upgrade Warnings ☢️ -There are no upgrade warnings for this release candidate. +- This Lotus release completely removes the Legacy Lotus/Lotus-Miner Markets sub-system from the codebase, which was announced to reach EOL on January 31, 2023. +- The **Curio Storage** software, designed to simplify the setup and operation of storage providers, has moved to their own Github-repository: https://github.com/filecoin-project/curio. ### JSON-RPC 2.0 Specification Conformance @@ -56,6 +57,7 @@ There is no change in the behaviour when a call returns an error, as the error o - chore: remove unmaintained bootstrappers (#11983) ([filecoin-project/lotus#11983](https://github.com/filecoin-project/lotus/pull/11983)) - feat: api: add SectorNumber to MarketDealState (nv22) - fix: copy Flags field from SectorOnChainInfo +- fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset ([filecoin-project/lotus#11905](https://github.com/filecoin-project/lotus/pull/11905)) ## Dependencies @@ -124,6 +126,9 @@ There is no change in the behaviour when a call returns an error, as the error o - chore: pin golanglint-ci to v1.58.2 (#12054) ([filecoin-project/lotus#12054](https://github.com/filecoin-project/lotus/pull/12054)) - chore: fix some function names (#12031) ([filecoin-project/lotus#12031](https://github.com/filecoin-project/lotus/pull/12031)) - src: lint: bump golangci-lint to 1.59, address unchecked fmt.Fprint* +- fix: ci: do not use deprecated --debug goreleaser flag ([filecoin-project/lotus#12086](https://github.com/filecoin-project/lotus/pull/12086)) +- chore: Remove forgotten graphsync references ([filecoin-project/lotus#12084](https://github.com/filecoin-project/lotus/pull/12084)) +- chore: types: remove more items forgotten after markets ([filecoin-project/lotus#12095](https://github.com/filecoin-project/lotus/pull/12095)) ## Contributors From 608184cb83f60ea8a13d6d547bfba2843d1fe0db Mon Sep 17 00:00:00 2001 From: Phi Date: Mon, 17 Jun 2024 11:05:45 +0200 Subject: [PATCH 36/48] Make gen / make docsgen-cli Make gen / make docsgen-cli --- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 4 ++-- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build/openrpc/full.json b/build/openrpc/full.json index a209bbc29ca..07aae7b3176 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc1" + "version": "1.27.1-rc2" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 1519f023a2e..55b9032494d 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc1" + "version": "1.27.1-rc2" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index d740c8189be..7154ab200c2 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc1" + "version": "1.27.1-rc2" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index b5d90356c8f..0014c9a5510 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc1" + "version": "1.27.1-rc2" }, "methods": [ { diff --git a/build/version.go b/build/version.go index 6914c70ec55..b4271e6e5c1 100644 --- a/build/version.go +++ b/build/version.go @@ -39,7 +39,7 @@ func BuildTypeString() string { } // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.27.1-rc1" +const NodeBuildVersion string = "1.27.1-rc2" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { @@ -50,7 +50,7 @@ func NodeUserVersion() BuildVersion { } // MinerBuildVersion is the local build version of the Lotus miner -const MinerBuildVersion = "1.27.1-rc1" +const MinerBuildVersion = "1.27.1-rc2" func MinerUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index d8f15e82363..db536a4dd05 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc1 + 1.27.1-rc2 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index af55aea0423..6bc4ef6fa1c 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc1 + 1.27.1-rc2 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index b3bfea70c01..65454899afd 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc1 + 1.27.1-rc2 COMMANDS: daemon Start a lotus daemon process From 03fb2e21e52d0efd59d55280e9cb7e0831d60249 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Sun, 16 Jun 2024 20:15:11 +0200 Subject: [PATCH 37/48] chore: api: the Net API/CLI now remains only on daemon The only part of this repository that does lp2p is now lotus-daemon Remove the CommonNet type, used exclusively bu the CLI stack Adjust the rest of struct-memebership to match what went where End result best seen in diff of `documentation/en/api-v0-methods-miner.md` --- api/api_net.go | 5 - api/api_storage.go | 1 - api/client/client.go | 4 +- api/proxy_gen.go | 22 - api/v0api/latest.go | 3 - build/openrpc/full.json | 438 +++++++++--------- build/openrpc/gateway.json | 198 ++++----- build/openrpc/miner.json | 176 ++++---- build/openrpc/worker.json | 74 ++-- cli/net.go | 44 +- cli/util/api.go | 2 +- documentation/en/api-v0-methods-curio.md | 369 --------------- documentation/en/api-v0-methods-miner.md | 542 ----------------------- 13 files changed, 468 insertions(+), 1410 deletions(-) delete mode 100644 documentation/en/api-v0-methods-curio.md diff --git a/api/api_net.go b/api/api_net.go index cfcd8d87e06..3dc19dbed59 100644 --- a/api/api_net.go +++ b/api/api_net.go @@ -66,11 +66,6 @@ type Net interface { ID(context.Context) (peer.ID, error) //perm:read } -type CommonNet interface { - Common - Net -} - type NatInfo struct { Reachability network.Reachability PublicAddrs []string diff --git a/api/api_storage.go b/api/api_storage.go index ae1c7ae36b3..fa10d28fc32 100644 --- a/api/api_storage.go +++ b/api/api_storage.go @@ -39,7 +39,6 @@ import ( // StorageMiner is a low-level interface to the Filecoin network storage miner node type StorageMiner interface { Common - Net ActorAddress(context.Context) (address.Address, error) //perm:read diff --git a/api/client/client.go b/api/client/client.go index 8b159c5b1c9..9722c41264d 100644 --- a/api/client/client.go +++ b/api/client/client.go @@ -16,8 +16,8 @@ import ( ) // NewCommonRPCV0 creates a new http jsonrpc client. -func NewCommonRPCV0(ctx context.Context, addr string, requestHeader http.Header) (api.CommonNet, jsonrpc.ClientCloser, error) { - var res v0api.CommonNetStruct +func NewCommonRPCV0(ctx context.Context, addr string, requestHeader http.Header) (api.Common, jsonrpc.ClientCloser, error) { + var res v0api.CommonStruct closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin", api.GetInternalStructs(&res), requestHeader, jsonrpc.WithErrors(api.RPCErrors)) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index e41b4fcbae8..1881a6f9dac 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -91,23 +91,6 @@ type CommonMethods struct { type CommonStub struct { } -type CommonNetStruct struct { - CommonStruct - - NetStruct - - Internal CommonNetMethods -} - -type CommonNetMethods struct { -} - -type CommonNetStub struct { - CommonStub - - NetStub -} - type EthSubscriberStruct struct { Internal EthSubscriberMethods } @@ -865,8 +848,6 @@ type SignableStub struct { type StorageMinerStruct struct { CommonStruct - NetStruct - Internal StorageMinerMethods } @@ -1050,8 +1031,6 @@ type StorageMinerMethods struct { type StorageMinerStub struct { CommonStub - - NetStub } type WalletStruct struct { @@ -6629,7 +6608,6 @@ func (s *WorkerStub) WaitQuiet(p0 context.Context) error { var _ ChainIO = new(ChainIOStruct) var _ Common = new(CommonStruct) -var _ CommonNet = new(CommonNetStruct) var _ EthSubscriber = new(EthSubscriberStruct) var _ FullNode = new(FullNodeStruct) var _ Gateway = new(GatewayStruct) diff --git a/api/v0api/latest.go b/api/v0api/latest.go index d423f57bc86..d5da794ebcb 100644 --- a/api/v0api/latest.go +++ b/api/v0api/latest.go @@ -6,14 +6,11 @@ import ( type Common = api.Common type Net = api.Net -type CommonNet = api.CommonNet type CommonStruct = api.CommonStruct type CommonStub = api.CommonStub type NetStruct = api.NetStruct type NetStub = api.NetStub -type CommonNetStruct = api.CommonNetStruct -type CommonNetStub = api.CommonNetStub type StorageMiner = api.StorageMiner type StorageMinerStruct = api.StorageMinerStruct diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 07aae7b3176..3c0931647cf 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -37,7 +37,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1328" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1307" } }, { @@ -60,7 +60,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1339" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1318" } }, { @@ -103,7 +103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1350" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1329" } }, { @@ -214,7 +214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1372" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1351" } }, { @@ -454,7 +454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1383" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1362" } }, { @@ -685,7 +685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1394" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1373" } }, { @@ -784,7 +784,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1405" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1384" } }, { @@ -816,7 +816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1416" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1395" } }, { @@ -922,7 +922,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1427" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1406" } }, { @@ -1019,7 +1019,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1438" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1417" } }, { @@ -1078,7 +1078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1449" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1428" } }, { @@ -1171,7 +1171,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1460" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1439" } }, { @@ -1255,7 +1255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1471" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1450" } }, { @@ -1355,7 +1355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1482" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1461" } }, { @@ -1411,7 +1411,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1493" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1472" } }, { @@ -1484,7 +1484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1504" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1483" } }, { @@ -1557,7 +1557,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1515" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1494" } }, { @@ -1604,7 +1604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1526" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1505" } }, { @@ -1636,7 +1636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1537" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1516" } }, { @@ -1691,7 +1691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1548" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1527" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1570" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1549" } }, { @@ -1780,7 +1780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1581" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1560" } }, { @@ -1827,7 +1827,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1592" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1571" } }, { @@ -1874,7 +1874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1603" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1582" } }, { @@ -1954,7 +1954,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1614" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1593" } }, { @@ -2006,7 +2006,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1625" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1604" } }, { @@ -2045,7 +2045,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1636" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1615" } }, { @@ -2092,7 +2092,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1647" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1626" } }, { @@ -2147,7 +2147,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1658" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1637" } }, { @@ -2176,7 +2176,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1669" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1648" } }, { @@ -2313,7 +2313,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1680" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1659" } }, { @@ -2342,7 +2342,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1691" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1670" } }, { @@ -2396,7 +2396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1702" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1681" } }, { @@ -2487,7 +2487,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1713" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1692" } }, { @@ -2515,7 +2515,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1724" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1703" } }, { @@ -2605,7 +2605,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1735" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1714" } }, { @@ -2861,7 +2861,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1746" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1725" } }, { @@ -3106,7 +3106,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1757" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1736" } }, { @@ -3162,7 +3162,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1768" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1747" } }, { @@ -3209,7 +3209,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1779" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1758" } }, { @@ -3307,7 +3307,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1790" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1769" } }, { @@ -3373,7 +3373,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1801" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1780" } }, { @@ -3439,7 +3439,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1812" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1791" } }, { @@ -3548,7 +3548,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1823" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1802" } }, { @@ -3606,7 +3606,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1834" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1813" } }, { @@ -3728,7 +3728,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1845" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1824" } }, { @@ -3937,7 +3937,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1856" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1835" } }, { @@ -4137,7 +4137,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1867" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1846" } }, { @@ -4329,7 +4329,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1878" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1857" } }, { @@ -4538,7 +4538,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1889" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1868" } }, { @@ -4629,7 +4629,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1900" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1879" } }, { @@ -4687,7 +4687,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1911" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1890" } }, { @@ -4945,7 +4945,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1922" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1901" } }, { @@ -5220,7 +5220,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1933" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1912" } }, { @@ -5248,7 +5248,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1944" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1923" } }, { @@ -5286,7 +5286,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1955" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1934" } }, { @@ -5394,7 +5394,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1966" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1945" } }, { @@ -5432,7 +5432,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1977" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1956" } }, { @@ -5461,7 +5461,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1988" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1967" } }, { @@ -5524,7 +5524,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1999" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1978" } }, { @@ -5587,7 +5587,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2010" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1989" } }, { @@ -5632,7 +5632,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2021" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2000" } }, { @@ -5754,7 +5754,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2032" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2011" } }, { @@ -5909,7 +5909,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2043" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2022" } }, { @@ -6031,7 +6031,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2054" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2033" } }, { @@ -6085,7 +6085,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2065" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2044" } }, { @@ -6139,7 +6139,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2076" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2055" } }, { @@ -6194,7 +6194,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2087" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2066" } }, { @@ -6337,7 +6337,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2098" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2077" } }, { @@ -6464,7 +6464,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2109" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2088" } }, { @@ -6566,7 +6566,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2120" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2099" } }, { @@ -6789,7 +6789,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2131" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2110" } }, { @@ -6972,7 +6972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2142" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2121" } }, { @@ -7052,7 +7052,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2153" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2132" } }, { @@ -7097,7 +7097,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2164" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2143" } }, { @@ -7153,7 +7153,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2175" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2154" } }, { @@ -7233,7 +7233,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2186" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2165" } }, { @@ -7313,7 +7313,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2197" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2176" } }, { @@ -7798,7 +7798,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2208" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2187" } }, { @@ -7992,7 +7992,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2219" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2198" } }, { @@ -8147,7 +8147,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2230" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2209" } }, { @@ -8396,7 +8396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2241" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2220" } }, { @@ -8551,7 +8551,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2252" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2231" } }, { @@ -8728,7 +8728,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2263" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2242" } }, { @@ -8826,7 +8826,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2274" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2253" } }, { @@ -8991,7 +8991,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2285" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2264" } }, { @@ -9030,7 +9030,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2296" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2275" } }, { @@ -9095,7 +9095,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2307" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2286" } }, { @@ -9141,7 +9141,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2318" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2297" } }, { @@ -9291,7 +9291,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2329" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2308" } }, { @@ -9428,7 +9428,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2340" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2319" } }, { @@ -9659,7 +9659,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2351" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2330" } }, { @@ -9796,7 +9796,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2362" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2341" } }, { @@ -9961,7 +9961,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2373" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2352" } }, { @@ -10038,7 +10038,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2384" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2363" } }, { @@ -10233,7 +10233,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2406" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2385" } }, { @@ -10412,7 +10412,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2417" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2396" } }, { @@ -10574,7 +10574,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2428" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2407" } }, { @@ -10722,7 +10722,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2439" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2418" } }, { @@ -10950,7 +10950,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2450" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2429" } }, { @@ -11098,7 +11098,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2461" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2440" } }, { @@ -11310,7 +11310,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2472" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2451" } }, { @@ -11516,7 +11516,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2483" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2462" } }, { @@ -11584,7 +11584,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2494" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2473" } }, { @@ -11701,7 +11701,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2505" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2484" } }, { @@ -11792,7 +11792,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2516" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2495" } }, { @@ -11878,7 +11878,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2527" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2506" } }, { @@ -12073,7 +12073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2538" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2517" } }, { @@ -12235,7 +12235,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2549" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2528" } }, { @@ -12431,7 +12431,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2560" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2539" } }, { @@ -12611,7 +12611,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2571" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2550" } }, { @@ -12774,7 +12774,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2582" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2561" } }, { @@ -12801,7 +12801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2593" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2572" } }, { @@ -12828,7 +12828,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2604" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2583" } }, { @@ -12927,7 +12927,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2615" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2594" } }, { @@ -12973,7 +12973,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2626" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2605" } }, { @@ -13073,7 +13073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2637" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2616" } }, { @@ -13189,7 +13189,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2648" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2627" } }, { @@ -13237,7 +13237,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2659" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2638" } }, { @@ -13329,7 +13329,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2670" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2649" } }, { @@ -13444,7 +13444,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2681" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2660" } }, { @@ -13492,7 +13492,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2692" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2671" } }, { @@ -13529,7 +13529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2703" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2682" } }, { @@ -13801,7 +13801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2714" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2693" } }, { @@ -13849,7 +13849,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2725" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2704" } }, { @@ -13907,7 +13907,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2736" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2715" } }, { @@ -14112,7 +14112,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2747" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2726" } }, { @@ -14315,7 +14315,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2758" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2737" } }, { @@ -14484,7 +14484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2769" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2748" } }, { @@ -14688,7 +14688,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2780" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2759" } }, { @@ -14855,7 +14855,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2791" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2770" } }, { @@ -15062,7 +15062,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2802" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2781" } }, { @@ -15130,7 +15130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2813" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2792" } }, { @@ -15182,7 +15182,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2824" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2803" } }, { @@ -15231,7 +15231,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2835" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2814" } }, { @@ -15322,7 +15322,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2846" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2825" } }, { @@ -15828,7 +15828,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2857" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2836" } }, { @@ -15934,7 +15934,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2868" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2847" } }, { @@ -15986,7 +15986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2879" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2858" } }, { @@ -16538,7 +16538,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2890" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2869" } }, { @@ -16652,7 +16652,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2901" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2880" } }, { @@ -16749,7 +16749,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2912" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2891" } }, { @@ -16849,7 +16849,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2923" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2902" } }, { @@ -16937,7 +16937,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2934" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2913" } }, { @@ -17037,7 +17037,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2945" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2924" } }, { @@ -17124,7 +17124,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2956" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2935" } }, { @@ -17215,7 +17215,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2967" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2946" } }, { @@ -17340,7 +17340,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2978" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2957" } }, { @@ -17449,7 +17449,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2989" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2968" } }, { @@ -17519,7 +17519,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3000" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2979" } }, { @@ -17622,7 +17622,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3011" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2990" } }, { @@ -17683,7 +17683,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3022" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3001" } }, { @@ -17813,7 +17813,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3033" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3012" } }, { @@ -17920,7 +17920,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3044" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3023" } }, { @@ -18134,7 +18134,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3055" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3034" } }, { @@ -18211,7 +18211,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3066" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3045" } }, { @@ -18288,7 +18288,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3077" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3056" } }, { @@ -18397,7 +18397,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3088" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3067" } }, { @@ -18506,7 +18506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3099" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3078" } }, { @@ -18567,7 +18567,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3110" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3089" } }, { @@ -18677,7 +18677,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3121" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3100" } }, { @@ -18738,7 +18738,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3132" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3111" } }, { @@ -18806,7 +18806,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3143" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3122" } }, { @@ -18874,7 +18874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3154" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3133" } }, { @@ -18955,7 +18955,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3165" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3144" } }, { @@ -19109,7 +19109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3176" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3155" } }, { @@ -19181,7 +19181,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3187" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3166" } }, { @@ -19345,7 +19345,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3198" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3177" } }, { @@ -19510,7 +19510,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3209" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3188" } }, { @@ -19580,7 +19580,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3220" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3199" } }, { @@ -19648,7 +19648,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3231" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3210" } }, { @@ -19741,7 +19741,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3242" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3221" } }, { @@ -19812,7 +19812,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3253" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3232" } }, { @@ -20013,7 +20013,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3264" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3243" } }, { @@ -20145,7 +20145,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3275" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3254" } }, { @@ -20282,7 +20282,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3286" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3265" } }, { @@ -20393,7 +20393,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3297" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3276" } }, { @@ -20525,7 +20525,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3308" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3287" } }, { @@ -20656,7 +20656,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3319" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3298" } }, { @@ -20727,7 +20727,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3330" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3309" } }, { @@ -20811,7 +20811,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3341" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3320" } }, { @@ -20897,7 +20897,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3352" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3331" } }, { @@ -21080,7 +21080,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3363" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3342" } }, { @@ -21107,7 +21107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3374" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3353" } }, { @@ -21160,7 +21160,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3385" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3364" } }, { @@ -21248,7 +21248,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3396" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3375" } }, { @@ -21699,7 +21699,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3407" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3386" } }, { @@ -21866,7 +21866,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3418" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3397" } }, { @@ -21964,7 +21964,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3429" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3408" } }, { @@ -22137,7 +22137,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3440" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3419" } }, { @@ -22235,7 +22235,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3451" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3430" } }, { @@ -22386,7 +22386,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3462" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3441" } }, { @@ -22471,7 +22471,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3473" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3452" } }, { @@ -22539,7 +22539,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3484" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3463" } }, { @@ -22591,7 +22591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3495" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3474" } }, { @@ -22659,7 +22659,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3506" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3485" } }, { @@ -22820,7 +22820,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3517" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3496" } }, { @@ -22867,7 +22867,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3539" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3518" } }, { @@ -22914,7 +22914,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3550" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3529" } }, { @@ -22957,7 +22957,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3572" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3551" } }, { @@ -23053,7 +23053,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3583" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3562" } }, { @@ -23319,7 +23319,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3594" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3573" } }, { @@ -23342,7 +23342,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3605" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3584" } }, { @@ -23385,7 +23385,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3616" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3595" } }, { @@ -23436,7 +23436,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3627" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3606" } }, { @@ -23481,7 +23481,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3638" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3617" } }, { @@ -23509,7 +23509,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3649" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3628" } }, { @@ -23549,7 +23549,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3660" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3639" } }, { @@ -23608,7 +23608,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3671" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3650" } }, { @@ -23652,7 +23652,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3682" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3661" } }, { @@ -23711,7 +23711,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3693" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3672" } }, { @@ -23748,7 +23748,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3704" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3683" } }, { @@ -23792,7 +23792,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3715" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3694" } }, { @@ -23832,7 +23832,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3726" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3705" } }, { @@ -23907,7 +23907,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3737" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3716" } }, { @@ -24115,7 +24115,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3748" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3727" } }, { @@ -24159,7 +24159,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3759" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3738" } }, { @@ -24249,7 +24249,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3770" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3749" } }, { @@ -24276,7 +24276,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3781" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3760" } } ] diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 55b9032494d..bbd7f4b6bc1 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -242,7 +242,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3792" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3771" } }, { @@ -473,7 +473,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3803" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3782" } }, { @@ -572,7 +572,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3814" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3793" } }, { @@ -604,7 +604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3825" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3804" } }, { @@ -710,7 +710,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3836" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3815" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3847" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3826" } }, { @@ -887,7 +887,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3858" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3837" } }, { @@ -987,7 +987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3869" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3848" } }, { @@ -1043,7 +1043,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3880" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3859" } }, { @@ -1116,7 +1116,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3891" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3870" } }, { @@ -1189,7 +1189,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3902" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3881" } }, { @@ -1236,7 +1236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3913" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3892" } }, { @@ -1268,7 +1268,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3924" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3903" } }, { @@ -1305,7 +1305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3946" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3925" } }, { @@ -1352,7 +1352,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3957" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3936" } }, { @@ -1392,7 +1392,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3968" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3947" } }, { @@ -1439,7 +1439,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3979" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3958" } }, { @@ -1494,7 +1494,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3990" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3969" } }, { @@ -1523,7 +1523,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4001" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3980" } }, { @@ -1660,7 +1660,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4012" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3991" } }, { @@ -1689,7 +1689,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4023" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4002" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4034" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4013" } }, { @@ -1834,7 +1834,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4045" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4024" } }, { @@ -1862,7 +1862,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4056" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4035" } }, { @@ -1952,7 +1952,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4067" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4046" } }, { @@ -2208,7 +2208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4078" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4057" } }, { @@ -2453,7 +2453,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4089" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4068" } }, { @@ -2509,7 +2509,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4100" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4079" } }, { @@ -2556,7 +2556,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4111" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4090" } }, { @@ -2654,7 +2654,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4122" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4101" } }, { @@ -2720,7 +2720,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4133" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4112" } }, { @@ -2786,7 +2786,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4144" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4123" } }, { @@ -2895,7 +2895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4155" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4134" } }, { @@ -2953,7 +2953,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4166" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4145" } }, { @@ -3075,7 +3075,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4177" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4156" } }, { @@ -3267,7 +3267,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4188" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4167" } }, { @@ -3476,7 +3476,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4199" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4178" } }, { @@ -3567,7 +3567,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4210" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4189" } }, { @@ -3625,7 +3625,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4221" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4200" } }, { @@ -3883,7 +3883,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4232" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4211" } }, { @@ -4158,7 +4158,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4243" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4222" } }, { @@ -4186,7 +4186,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4254" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4233" } }, { @@ -4224,7 +4224,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4265" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4244" } }, { @@ -4332,7 +4332,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4276" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4255" } }, { @@ -4370,7 +4370,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4287" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4266" } }, { @@ -4399,7 +4399,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4298" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4277" } }, { @@ -4462,7 +4462,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4309" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4288" } }, { @@ -4525,7 +4525,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4320" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4299" } }, { @@ -4570,7 +4570,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4331" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4310" } }, { @@ -4692,7 +4692,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4342" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4321" } }, { @@ -4847,7 +4847,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4353" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4332" } }, { @@ -4969,7 +4969,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4364" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4343" } }, { @@ -5023,7 +5023,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4375" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4354" } }, { @@ -5077,7 +5077,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4386" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4365" } }, { @@ -5132,7 +5132,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4397" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4376" } }, { @@ -5234,7 +5234,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4408" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4387" } }, { @@ -5457,7 +5457,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4419" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4398" } }, { @@ -5640,7 +5640,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4430" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4409" } }, { @@ -5834,7 +5834,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4441" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4420" } }, { @@ -5880,7 +5880,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4452" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4431" } }, { @@ -6030,7 +6030,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4463" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4442" } }, { @@ -6167,7 +6167,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4474" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4453" } }, { @@ -6235,7 +6235,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4485" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4464" } }, { @@ -6352,7 +6352,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4496" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4475" } }, { @@ -6443,7 +6443,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4507" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4486" } }, { @@ -6529,7 +6529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4518" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4497" } }, { @@ -6556,7 +6556,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4529" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4508" } }, { @@ -6583,7 +6583,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4540" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4519" } }, { @@ -6651,7 +6651,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4551" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4530" } }, { @@ -7157,7 +7157,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4562" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4541" } }, { @@ -7254,7 +7254,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4573" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4552" } }, { @@ -7354,7 +7354,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4584" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4563" } }, { @@ -7454,7 +7454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4595" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4574" } }, { @@ -7579,7 +7579,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4606" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4585" } }, { @@ -7688,7 +7688,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4617" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4596" } }, { @@ -7791,7 +7791,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4628" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4607" } }, { @@ -7921,7 +7921,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4639" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4618" } }, { @@ -8028,7 +8028,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4650" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4629" } }, { @@ -8089,7 +8089,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4661" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4640" } }, { @@ -8157,7 +8157,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4672" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4651" } }, { @@ -8238,7 +8238,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4683" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4662" } }, { @@ -8402,7 +8402,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4694" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4673" } }, { @@ -8495,7 +8495,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4705" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4684" } }, { @@ -8696,7 +8696,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4716" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4695" } }, { @@ -8807,7 +8807,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4727" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4706" } }, { @@ -8938,7 +8938,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4738" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4717" } }, { @@ -9024,7 +9024,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4749" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4728" } }, { @@ -9051,7 +9051,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4760" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4739" } }, { @@ -9104,7 +9104,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4771" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4750" } }, { @@ -9192,7 +9192,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4782" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4761" } }, { @@ -9643,7 +9643,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4793" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4772" } }, { @@ -9810,7 +9810,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4804" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4783" } }, { @@ -9983,7 +9983,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4815" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4794" } }, { @@ -10051,7 +10051,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4826" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4805" } }, { @@ -10119,7 +10119,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4837" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4816" } }, { @@ -10280,7 +10280,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4848" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4827" } }, { @@ -10325,7 +10325,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4870" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4849" } }, { @@ -10370,7 +10370,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4881" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4860" } }, { @@ -10397,7 +10397,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4892" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4871" } } ] diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 7154ab200c2..77259c3e94f 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -30,7 +30,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5178" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5157" } }, { @@ -109,7 +109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5189" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5168" } }, { @@ -155,7 +155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5200" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5179" } }, { @@ -203,7 +203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5211" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5190" } }, { @@ -251,7 +251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5222" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5201" } }, { @@ -354,7 +354,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5233" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5212" } }, { @@ -428,7 +428,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5244" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5223" } }, { @@ -591,7 +591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5255" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5234" } }, { @@ -742,7 +742,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5266" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5245" } }, { @@ -781,7 +781,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5277" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5256" } }, { @@ -913,7 +913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5288" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5267" } }, { @@ -945,7 +945,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5299" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5278" } }, { @@ -986,7 +986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5310" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5289" } }, { @@ -1054,7 +1054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5321" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5300" } }, { @@ -1185,7 +1185,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5332" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5311" } }, { @@ -1316,7 +1316,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5343" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5322" } }, { @@ -1416,7 +1416,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5354" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5333" } }, { @@ -1516,7 +1516,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5365" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5344" } }, { @@ -1616,7 +1616,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5376" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5355" } }, { @@ -1716,7 +1716,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5387" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5366" } }, { @@ -1816,7 +1816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5398" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5377" } }, { @@ -1916,7 +1916,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5409" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5388" } }, { @@ -2040,7 +2040,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5420" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5399" } }, { @@ -2164,7 +2164,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5431" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5410" } }, { @@ -2279,7 +2279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5442" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5421" } }, { @@ -2379,7 +2379,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5453" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5432" } }, { @@ -2512,7 +2512,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5464" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5443" } }, { @@ -2636,7 +2636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5475" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5454" } }, { @@ -2760,7 +2760,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5486" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5465" } }, { @@ -2884,7 +2884,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5497" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5476" } }, { @@ -3017,7 +3017,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5508" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5487" } }, { @@ -3117,7 +3117,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5519" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5498" } }, { @@ -3157,7 +3157,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5530" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5509" } }, { @@ -3229,7 +3229,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5541" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5520" } }, { @@ -3279,7 +3279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5552" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5531" } }, { @@ -3323,7 +3323,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5563" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5542" } }, { @@ -3364,7 +3364,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5574" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5553" } }, { @@ -3608,7 +3608,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5585" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5564" } }, { @@ -3682,7 +3682,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5596" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5575" } }, { @@ -3732,7 +3732,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5607" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5586" } }, { @@ -3761,7 +3761,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5618" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5597" } }, { @@ -3790,7 +3790,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5629" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5608" } }, { @@ -3846,7 +3846,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5640" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5619" } }, { @@ -3869,7 +3869,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5651" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5630" } }, { @@ -3929,7 +3929,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5662" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5641" } }, { @@ -3968,7 +3968,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5673" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5652" } }, { @@ -4008,7 +4008,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5684" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5663" } }, { @@ -4081,7 +4081,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5695" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5674" } }, { @@ -4145,7 +4145,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5706" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5685" } }, { @@ -4208,7 +4208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5717" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5696" } }, { @@ -4258,7 +4258,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5728" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5707" } }, { @@ -4817,7 +4817,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5739" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5718" } }, { @@ -4858,7 +4858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5750" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5729" } }, { @@ -4899,7 +4899,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5761" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5740" } }, { @@ -4940,7 +4940,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5772" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5751" } }, { @@ -4981,7 +4981,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5783" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5762" } }, { @@ -5022,7 +5022,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5794" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5773" } }, { @@ -5053,7 +5053,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5805" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5784" } }, { @@ -5103,7 +5103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5816" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5795" } }, { @@ -5144,7 +5144,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5827" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5806" } }, { @@ -5183,7 +5183,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5838" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5817" } }, { @@ -5247,7 +5247,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5849" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5828" } }, { @@ -5305,7 +5305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5860" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5839" } }, { @@ -5752,7 +5752,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5871" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5850" } }, { @@ -5788,7 +5788,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5882" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5861" } }, { @@ -5931,7 +5931,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5893" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5872" } }, { @@ -5987,7 +5987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5904" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5883" } }, { @@ -6026,7 +6026,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5915" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5894" } }, { @@ -6203,7 +6203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5926" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5905" } }, { @@ -6255,7 +6255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5937" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5916" } }, { @@ -6447,7 +6447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5948" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5927" } }, { @@ -6547,7 +6547,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5959" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5938" } }, { @@ -6601,7 +6601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5970" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5949" } }, { @@ -6640,7 +6640,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5981" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5960" } }, { @@ -6725,7 +6725,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5992" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5971" } }, { @@ -6919,7 +6919,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6003" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5982" } }, { @@ -7017,7 +7017,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6014" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5993" } }, { @@ -7149,7 +7149,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6025" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6004" } }, { @@ -7203,7 +7203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6036" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6015" } }, { @@ -7237,7 +7237,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6047" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6026" } }, { @@ -7324,7 +7324,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6058" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6037" } }, { @@ -7378,7 +7378,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6069" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6048" } }, { @@ -7478,7 +7478,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6080" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6059" } }, { @@ -7555,7 +7555,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6091" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6070" } }, { @@ -7646,7 +7646,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6102" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6081" } }, { @@ -7685,7 +7685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6113" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6092" } }, { @@ -7801,7 +7801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6124" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6103" } }, { @@ -9901,7 +9901,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6135" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6114" } } ] diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 0014c9a5510..201dec42c20 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -161,7 +161,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6223" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6202" } }, { @@ -252,7 +252,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6234" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6213" } }, { @@ -420,7 +420,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6245" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6224" } }, { @@ -447,7 +447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6256" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6235" } }, { @@ -597,7 +597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6267" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6246" } }, { @@ -700,7 +700,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6278" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6257" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6289" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6268" } }, { @@ -925,7 +925,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6300" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6279" } }, { @@ -1135,7 +1135,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6311" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6290" } }, { @@ -1306,7 +1306,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6322" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6301" } }, { @@ -3350,7 +3350,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6333" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6312" } }, { @@ -3470,7 +3470,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6344" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6323" } }, { @@ -3531,7 +3531,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6355" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6334" } }, { @@ -3569,7 +3569,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6366" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6345" } }, { @@ -3729,7 +3729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6377" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6356" } }, { @@ -3913,7 +3913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6388" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6367" } }, { @@ -4054,7 +4054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6399" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6378" } }, { @@ -4107,7 +4107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6410" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6389" } }, { @@ -4250,7 +4250,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6421" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6400" } }, { @@ -4474,7 +4474,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6432" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6411" } }, { @@ -4601,7 +4601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6443" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6422" } }, { @@ -4768,7 +4768,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6454" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6433" } }, { @@ -4895,7 +4895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6465" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6444" } }, { @@ -4933,7 +4933,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6476" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6455" } }, { @@ -4972,7 +4972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6487" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6466" } }, { @@ -4995,7 +4995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6498" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6477" } }, { @@ -5034,7 +5034,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6509" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6488" } }, { @@ -5057,7 +5057,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6520" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6499" } }, { @@ -5096,7 +5096,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6531" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6510" } }, { @@ -5130,7 +5130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6542" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6521" } }, { @@ -5184,7 +5184,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6553" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6532" } }, { @@ -5223,7 +5223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6564" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6543" } }, { @@ -5262,7 +5262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6575" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6554" } }, { @@ -5297,7 +5297,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6586" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6565" } }, { @@ -5477,7 +5477,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6597" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6576" } }, { @@ -5506,7 +5506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6608" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6587" } }, { @@ -5529,7 +5529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6619" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6598" } } ] diff --git a/cli/net.go b/cli/net.go index 38a271a29c5..249a6c4b7db 100644 --- a/cli/net.go +++ b/cli/net.go @@ -66,7 +66,7 @@ var NetPeers = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -146,7 +146,7 @@ var NetPing = &cli.Command{ return IncorrectNumArgs(cctx) } - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -211,7 +211,7 @@ var NetScores = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -244,7 +244,7 @@ var NetListen = &cli.Command{ Name: "listen", Usage: "List listen addresses", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -268,7 +268,7 @@ var NetDisconnect = &cli.Command{ Usage: "Disconnect from a peer", ArgsUsage: "[peerID]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -299,7 +299,7 @@ var NetConnect = &cli.Command{ Usage: "Connect to a peer", ArgsUsage: "[peerMultiaddr|minerActorAddress]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -374,7 +374,7 @@ var NetId = &cli.Command{ Name: "id", Usage: "Get node identity", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -408,7 +408,7 @@ var NetFindPeer = &cli.Command{ return err } - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -431,7 +431,7 @@ var NetReachability = &cli.Command{ Name: "reachability", Usage: "Print information about reachability from the internet", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -466,7 +466,7 @@ var NetBandwidthCmd = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -585,7 +585,7 @@ var NetBlockAddPeer = &cli.Command{ Usage: "Block a peer", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -611,7 +611,7 @@ var NetBlockAddIP = &cli.Command{ Usage: "Block an IP address", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -627,7 +627,7 @@ var NetBlockAddSubnet = &cli.Command{ Usage: "Block an IP subnet", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -653,7 +653,7 @@ var NetBlockRemovePeer = &cli.Command{ Usage: "Unblock a peer", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -679,7 +679,7 @@ var NetBlockRemoveIP = &cli.Command{ Usage: "Unblock an IP address", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -695,7 +695,7 @@ var NetBlockRemoveSubnet = &cli.Command{ Usage: "Unblock an IP subnet", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -710,7 +710,7 @@ var NetBlockListCmd = &cli.Command{ Name: "list", Usage: "list connection gating rules", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -799,7 +799,7 @@ var NetStatCmd = &cli.Command{ - all -- reports the resource usage for all currently active scopes. `, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -906,7 +906,7 @@ var NetLimitCmd = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -951,7 +951,7 @@ var NetProtectAdd = &cli.Command{ Usage: "Add one or more peer IDs to the list of protected peer connections", ArgsUsage: " [...]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -981,7 +981,7 @@ var NetProtectRemove = &cli.Command{ Usage: "Remove one or more peer IDs from the list of protected peer connections.", ArgsUsage: " [...]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -1033,7 +1033,7 @@ var NetProtectList = &cli.Command{ Name: "list-protected", Usage: "List the peer IDs with protected connection.", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } diff --git a/cli/util/api.go b/cli/util/api.go index a734b23371e..39077e98e1d 100644 --- a/cli/util/api.go +++ b/cli/util/api.go @@ -179,7 +179,7 @@ func GetRawAPI(ctx *cli.Context, t repo.RepoType, version string) (string, http. return heads[0].addr, heads[0].header, nil } -func GetCommonAPI(ctx *cli.Context) (api.CommonNet, jsonrpc.ClientCloser, error) { +func GetCommonAPI(ctx *cli.Context) (api.Common, jsonrpc.ClientCloser, error) { ti, ok := ctx.App.Metadata["repoType"] if !ok { log.Errorf("unknown repo type, are you sure you want to use GetCommonAPI?") diff --git a/documentation/en/api-v0-methods-curio.md b/documentation/en/api-v0-methods-curio.md deleted file mode 100644 index 0bfe09af5cb..00000000000 --- a/documentation/en/api-v0-methods-curio.md +++ /dev/null @@ -1,369 +0,0 @@ -# Groups -* [](#) - * [Shutdown](#Shutdown) - * [Version](#Version) -* [Allocate](#Allocate) - * [AllocatePieceToSector](#AllocatePieceToSector) -* [Log](#Log) - * [LogList](#LogList) - * [LogSetLevel](#LogSetLevel) -* [Storage](#Storage) - * [StorageAddLocal](#StorageAddLocal) - * [StorageDetachLocal](#StorageDetachLocal) - * [StorageFindSector](#StorageFindSector) - * [StorageInfo](#StorageInfo) - * [StorageInit](#StorageInit) - * [StorageList](#StorageList) - * [StorageLocal](#StorageLocal) - * [StorageStat](#StorageStat) -## - - -### Shutdown -Trigger shutdown - - -Perms: admin - -Inputs: `null` - -Response: `{}` - -### Version - - -Perms: admin - -Inputs: `null` - -Response: `131840` - -## Allocate - - -### AllocatePieceToSector - - -Perms: write - -Inputs: -```json -[ - "f01234", - { - "PublishCid": { - "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" - }, - "DealID": 5432, - "DealProposal": { - "PieceCID": { - "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" - }, - "PieceSize": 1032, - "VerifiedDeal": true, - "Client": "f01234", - "Provider": "f01234", - "Label": "", - "StartEpoch": 10101, - "EndEpoch": 10101, - "StoragePricePerEpoch": "0", - "ProviderCollateral": "0", - "ClientCollateral": "0" - }, - "DealSchedule": { - "StartEpoch": 10101, - "EndEpoch": 10101 - }, - "PieceActivationManifest": { - "CID": { - "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" - }, - "Size": 2032, - "VerifiedAllocationKey": null, - "Notify": null - }, - "KeepUnsealed": true - }, - 9, - { - "Scheme": "string value", - "Opaque": "string value", - "User": {}, - "Host": "string value", - "Path": "string value", - "RawPath": "string value", - "OmitHost": true, - "ForceQuery": true, - "RawQuery": "string value", - "Fragment": "string value", - "RawFragment": "string value" - }, - { - "Authorization": [ - "Bearer ey.." - ] - } -] -``` - -Response: -```json -{ - "Sector": 9, - "Offset": 1032 -} -``` - -## Log - - -### LogList - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - "string value" -] -``` - -### LogSetLevel - - -Perms: admin - -Inputs: -```json -[ - "string value", - "string value" -] -``` - -Response: `{}` - -## Storage - - -### StorageAddLocal - - -Perms: admin - -Inputs: -```json -[ - "string value" -] -``` - -Response: `{}` - -### StorageDetachLocal - - -Perms: admin - -Inputs: -```json -[ - "string value" -] -``` - -Response: `{}` - -### StorageFindSector - - -Perms: admin - -Inputs: -```json -[ - { - "Miner": 1000, - "Number": 9 - }, - 1, - 34359738368, - true -] -``` - -Response: -```json -[ - { - "ID": "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8", - "URLs": [ - "string value" - ], - "BaseURLs": [ - "string value" - ], - "Weight": 42, - "CanSeal": true, - "CanStore": true, - "Primary": true, - "AllowTypes": [ - "string value" - ], - "DenyTypes": [ - "string value" - ], - "AllowMiners": [ - "string value" - ], - "DenyMiners": [ - "string value" - ] - } -] -``` - -### StorageInfo - - -Perms: admin - -Inputs: -```json -[ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8" -] -``` - -Response: -```json -{ - "ID": "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8", - "URLs": [ - "string value" - ], - "Weight": 42, - "MaxStorage": 42, - "CanSeal": true, - "CanStore": true, - "Groups": [ - "string value" - ], - "AllowTo": [ - "string value" - ], - "AllowTypes": [ - "string value" - ], - "DenyTypes": [ - "string value" - ], - "AllowMiners": [ - "string value" - ], - "DenyMiners": [ - "string value" - ] -} -``` - -### StorageInit - - -Perms: admin - -Inputs: -```json -[ - "string value", - { - "ID": "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8", - "Weight": 42, - "CanSeal": true, - "CanStore": true, - "MaxStorage": 42, - "Groups": [ - "string value" - ], - "AllowTo": [ - "string value" - ], - "AllowTypes": [ - "string value" - ], - "DenyTypes": [ - "string value" - ], - "AllowMiners": [ - "string value" - ], - "DenyMiners": [ - "string value" - ] - } -] -``` - -Response: `{}` - -### StorageList - - -Perms: admin - -Inputs: `null` - -Response: -```json -{ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8": [ - { - "Miner": 1000, - "Number": 100, - "SectorFileType": 2 - } - ] -} -``` - -### StorageLocal - - -Perms: admin - -Inputs: `null` - -Response: -```json -{ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8": "/data/path" -} -``` - -### StorageStat - - -Perms: admin - -Inputs: -```json -[ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8" -] -``` - -Response: -```json -{ - "Capacity": 9, - "Available": 9, - "FSAvailable": 9, - "Reserved": 9, - "Max": 9, - "Used": 9 -} -``` - diff --git a/documentation/en/api-v0-methods-miner.md b/documentation/en/api-v0-methods-miner.md index ce09667e5ed..0bf4d3325c8 100644 --- a/documentation/en/api-v0-methods-miner.md +++ b/documentation/en/api-v0-methods-miner.md @@ -23,8 +23,6 @@ * [ComputeWindowPoSt](#ComputeWindowPoSt) * [Create](#Create) * [CreateBackup](#CreateBackup) -* [I](#I) - * [ID](#ID) * [Log](#Log) * [LogAlerts](#LogAlerts) * [LogList](#LogList) @@ -33,30 +31,6 @@ * [MarketListDeals](#MarketListDeals) * [Mining](#Mining) * [MiningBase](#MiningBase) -* [Net](#Net) - * [NetAddrsListen](#NetAddrsListen) - * [NetAgentVersion](#NetAgentVersion) - * [NetAutoNatStatus](#NetAutoNatStatus) - * [NetBandwidthStats](#NetBandwidthStats) - * [NetBandwidthStatsByPeer](#NetBandwidthStatsByPeer) - * [NetBandwidthStatsByProtocol](#NetBandwidthStatsByProtocol) - * [NetBlockAdd](#NetBlockAdd) - * [NetBlockList](#NetBlockList) - * [NetBlockRemove](#NetBlockRemove) - * [NetConnect](#NetConnect) - * [NetConnectedness](#NetConnectedness) - * [NetDisconnect](#NetDisconnect) - * [NetFindPeer](#NetFindPeer) - * [NetLimit](#NetLimit) - * [NetPeerInfo](#NetPeerInfo) - * [NetPeers](#NetPeers) - * [NetPing](#NetPing) - * [NetProtectAdd](#NetProtectAdd) - * [NetProtectList](#NetProtectList) - * [NetProtectRemove](#NetProtectRemove) - * [NetPubsubScores](#NetPubsubScores) - * [NetSetLimit](#NetSetLimit) - * [NetStat](#NetStat) * [Pledge](#Pledge) * [PledgeSector](#PledgeSector) * [Recover](#Recover) @@ -507,18 +481,6 @@ Inputs: Response: `{}` -## I - - -### ID - - -Perms: read - -Inputs: `null` - -Response: `"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"` - ## Log @@ -639,510 +601,6 @@ Response: } ``` -## Net - - -### NetAddrsListen - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] -} -``` - -### NetAgentVersion - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `"string value"` - -### NetAutoNatStatus - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "Reachability": 1, - "PublicAddrs": [ - "string value" - ] -} -``` - -### NetBandwidthStats - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "TotalIn": 9, - "TotalOut": 9, - "RateIn": 12.3, - "RateOut": 12.3 -} -``` - -### NetBandwidthStatsByPeer - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "12D3KooWSXmXLJmBR1M7i9RW9GQPNUhZSzXKzxDHWtAgNuJAbyEJ": { - "TotalIn": 174000, - "TotalOut": 12500, - "RateIn": 100, - "RateOut": 50 - } -} -``` - -### NetBandwidthStatsByProtocol - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "/fil/hello/1.0.0": { - "TotalIn": 174000, - "TotalOut": 12500, - "RateIn": 100, - "RateOut": 50 - } -} -``` - -### NetBlockAdd - - -Perms: admin - -Inputs: -```json -[ - { - "Peers": [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ], - "IPAddrs": [ - "string value" - ], - "IPSubnets": [ - "string value" - ] - } -] -``` - -Response: `{}` - -### NetBlockList - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "Peers": [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ], - "IPAddrs": [ - "string value" - ], - "IPSubnets": [ - "string value" - ] -} -``` - -### NetBlockRemove - - -Perms: admin - -Inputs: -```json -[ - { - "Peers": [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ], - "IPAddrs": [ - "string value" - ], - "IPSubnets": [ - "string value" - ] - } -] -``` - -Response: `{}` - -### NetConnect - - -Perms: write - -Inputs: -```json -[ - { - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] - } -] -``` - -Response: `{}` - -### NetConnectedness - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `1` - -### NetDisconnect - - -Perms: write - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `{}` - -### NetFindPeer - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: -```json -{ - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] -} -``` - -### NetLimit - - -Perms: read - -Inputs: -```json -[ - "string value" -] -``` - -Response: -```json -{ - "Memory": 123, - "Streams": 3, - "StreamsInbound": 1, - "StreamsOutbound": 2, - "Conns": 4, - "ConnsInbound": 3, - "ConnsOutbound": 4, - "FD": 5 -} -``` - -### NetPeerInfo - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: -```json -{ - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Agent": "string value", - "Addrs": [ - "string value" - ], - "Protocols": [ - "string value" - ], - "ConnMgrMeta": { - "FirstSeen": "0001-01-01T00:00:00Z", - "Value": 123, - "Tags": { - "name": 42 - }, - "Conns": { - "name": "2021-03-08T22:52:18Z" - } - } -} -``` - -### NetPeers - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - { - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] - } -] -``` - -### NetPing - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `60000000000` - -### NetProtectAdd - - -Perms: admin - -Inputs: -```json -[ - [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ] -] -``` - -Response: `{}` - -### NetProtectList - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -### NetProtectRemove - - -Perms: admin - -Inputs: -```json -[ - [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ] -] -``` - -Response: `{}` - -### NetPubsubScores - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - { - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Score": { - "Score": 12.3, - "Topics": { - "/blocks": { - "TimeInMesh": 60000000000, - "FirstMessageDeliveries": 122, - "MeshMessageDeliveries": 1234, - "InvalidMessageDeliveries": 3 - } - }, - "AppSpecificScore": 12.3, - "IPColocationFactor": 12.3, - "BehaviourPenalty": 12.3 - } - } -] -``` - -### NetSetLimit - - -Perms: admin - -Inputs: -```json -[ - "string value", - { - "Memory": 123, - "Streams": 3, - "StreamsInbound": 1, - "StreamsOutbound": 2, - "Conns": 4, - "ConnsInbound": 3, - "ConnsOutbound": 4, - "FD": 5 - } -] -``` - -Response: `{}` - -### NetStat - - -Perms: read - -Inputs: -```json -[ - "string value" -] -``` - -Response: -```json -{ - "System": { - "NumStreamsInbound": 123, - "NumStreamsOutbound": 123, - "NumConnsInbound": 123, - "NumConnsOutbound": 123, - "NumFD": 123, - "Memory": 9 - }, - "Transient": { - "NumStreamsInbound": 123, - "NumStreamsOutbound": 123, - "NumConnsInbound": 123, - "NumConnsOutbound": 123, - "NumFD": 123, - "Memory": 9 - }, - "Services": { - "abc": { - "NumStreamsInbound": 1, - "NumStreamsOutbound": 2, - "NumConnsInbound": 3, - "NumConnsOutbound": 4, - "NumFD": 5, - "Memory": 123 - } - }, - "Protocols": { - "abc": { - "NumStreamsInbound": 1, - "NumStreamsOutbound": 2, - "NumConnsInbound": 3, - "NumConnsOutbound": 4, - "NumFD": 5, - "Memory": 123 - } - }, - "Peers": { - "abc": { - "NumStreamsInbound": 1, - "NumStreamsOutbound": 2, - "NumConnsInbound": 3, - "NumConnsOutbound": 4, - "NumFD": 5, - "Memory": 123 - } - } -} -``` - ## Pledge From 26235d753e92ec081fb2e3291e52c933bf4a3afc Mon Sep 17 00:00:00 2001 From: Phi Date: Mon, 17 Jun 2024 11:54:19 +0200 Subject: [PATCH 38/48] Update changelog Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9d19b83fe8..e41e67f98cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -129,6 +129,7 @@ There is no change in the behaviour when a call returns an error, as the error o - fix: ci: do not use deprecated --debug goreleaser flag ([filecoin-project/lotus#12086](https://github.com/filecoin-project/lotus/pull/12086)) - chore: Remove forgotten graphsync references ([filecoin-project/lotus#12084](https://github.com/filecoin-project/lotus/pull/12084)) - chore: types: remove more items forgotten after markets ([filecoin-project/lotus#12095](https://github.com/filecoin-project/lotus/pull/12095)) +- chore: api: the Net API/CLI now remains only on daemon ([filecoin-project/lotus#12100](https://github.com/filecoin-project/lotus/pull/12100)) ## Contributors From 2e781e6f64a5c1a5e4a9cb62e1b4641dc49884aa Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Sat, 15 Jun 2024 01:09:35 +1000 Subject: [PATCH 39/48] fix: events: sqlite db improvements (#12090) * fix: events: sqlite db improvements * fix unclosed multi-row query * tune options to limit wal growth Ref: https://github.com/filecoin-project/lotus/issues/12089 * fix: events: use correct context for CollectEvents transaction * fix: events: close prepared read statement * fix: events: close initial query; handle lint failures --- chain/events/filter/index.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/chain/events/filter/index.go b/chain/events/filter/index.go index 98cc54d2029..5ebb8fb580c 100644 --- a/chain/events/filter/index.go +++ b/chain/events/filter/index.go @@ -26,10 +26,11 @@ var pragmas = []string{ "PRAGMA temp_store = memory", "PRAGMA mmap_size = 30000000000", "PRAGMA page_size = 32768", - "PRAGMA auto_vacuum = NONE", // not useful until we implement GC + "PRAGMA auto_vacuum = NONE", "PRAGMA automatic_index = OFF", "PRAGMA journal_mode = WAL", - "PRAGMA read_uncommitted = ON", + "PRAGMA wal_autocheckpoint = 256", // checkpoint @ 256 pages + "PRAGMA journal_size_limit = 0", // always reset journal and wal files } // Any changes to this schema should be matched for the `lotus-shed indexes backfill-events` command @@ -438,6 +439,9 @@ func NewEventIndex(ctx context.Context, path string, chainStore *store.ChainStor eventIndex := EventIndex{db: db} q, err := db.QueryContext(ctx, "SELECT name FROM sqlite_master WHERE type='table' AND name='_meta';") + if q != nil { + defer func() { _ = q.Close() }() + } if errors.Is(err, sql.ErrNoRows) || !q.Next() { // empty database, create the schema for _, ddl := range ddls { @@ -521,7 +525,7 @@ func (ei *EventIndex) Close() error { } func (ei *EventIndex) CollectEvents(ctx context.Context, te *TipSetEvents, revert bool, resolver func(ctx context.Context, emitter abi.ActorID, ts *types.TipSet) (address.Address, bool)) error { - tx, err := ei.db.Begin() + tx, err := ei.db.BeginTx(ctx, nil) if err != nil { return xerrors.Errorf("begin transaction: %w", err) } @@ -743,6 +747,7 @@ func (ei *EventIndex) prefillFilter(ctx context.Context, f *eventFilter, exclude if err != nil { return xerrors.Errorf("prepare prefill query: %w", err) } + defer func() { _ = stmt.Close() }() q, err := stmt.QueryContext(ctx, values...) if err != nil { @@ -751,6 +756,7 @@ func (ei *EventIndex) prefillFilter(ctx context.Context, f *eventFilter, exclude } return xerrors.Errorf("exec prefill query: %w", err) } + defer func() { _ = q.Close() }() var ces []*CollectedEvent var currentID int64 = -1 @@ -839,7 +845,6 @@ func (ei *EventIndex) prefillFilter(ctx context.Context, f *eventFilter, exclude Codec: row.codec, Value: row.value, }) - } if ce != nil { From c0d760a9ca71387721222a3fe38d0a153795bc43 Mon Sep 17 00:00:00 2001 From: Phi Date: Mon, 17 Jun 2024 19:51:44 +0200 Subject: [PATCH 40/48] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e41e67f98cf..a2b0b791d6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ There is no change in the behaviour when a call returns an error, as the error o - feat: api: add SectorNumber to MarketDealState (nv22) - fix: copy Flags field from SectorOnChainInfo - fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset ([filecoin-project/lotus#11905](https://github.com/filecoin-project/lotus/pull/11905)) +- fix: events: sqlite db improvements ([filecoin-project/lotus#12090](https://github.com/filecoin-project/lotus/pull/12090)) ## Dependencies From b446a39a4017aa11e148e8c6d7e1ff60dc72763b Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Wed, 19 Jun 2024 16:28:57 +0200 Subject: [PATCH 41/48] build: release: v1.27.1-rc2 (#12101) * fix: ci: do not use deprecated --debug goreleaser flag (#12086) * chore: deals: remove forgotten graphsync references (#12084) * chore: types: remove more items forgotten after markets (#12095) * chore: cleanup: remove more items forgotten after markets * .gz somehow reappeared after https://github.com/filecoin-project/lotus/pull/11625 * fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset (#11905) * fix eth call * tests * changes as per review * changes as per review * Update node/impl/full/eth.go Co-authored-by: Rod Vagg * fix as per review --------- Co-authored-by: Rod Vagg * Update changelog to RC2 Update changelog to RC2 * Make gen / make docsgen-cli Make gen / make docsgen-cli * chore: api: the Net API/CLI now remains only on daemon The only part of this repository that does lp2p is now lotus-daemon Remove the CommonNet type, used exclusively bu the CLI stack Adjust the rest of struct-memebership to match what went where End result best seen in diff of `documentation/en/api-v0-methods-miner.md` * Update changelog Update changelog * fix: events: sqlite db improvements (#12090) * fix: events: sqlite db improvements * fix unclosed multi-row query * tune options to limit wal growth Ref: https://github.com/filecoin-project/lotus/issues/12089 * fix: events: use correct context for CollectEvents transaction * fix: events: close prepared read statement * fix: events: close initial query; handle lint failures * Update CHANGELOG.md --------- Co-authored-by: Piotr Galar Co-authored-by: Peter Rabbitson Co-authored-by: Aarsh Shah Co-authored-by: Rod Vagg Co-authored-by: Peter Rabbitson --- .github/pull_request_template.md | 2 +- .github/workflows/release.yml | 4 +- CHANGELOG.md | 11 +- api/api_full.go | 23 - api/api_net.go | 5 - api/api_storage.go | 1 - api/client/client.go | 4 +- api/docgen/docgen.go | 6 - api/proxy_gen.go | 22 - api/types.go | 30 -- api/v0api/latest.go | 3 - build/openrpc/full.json | 440 +++++++++--------- build/openrpc/full.json.gz | Bin 35935 -> 0 bytes build/openrpc/gateway.json | 200 ++++----- build/openrpc/gateway.json.gz | Bin 12258 -> 0 bytes build/openrpc/miner.json | 178 ++++---- build/openrpc/miner.json.gz | Bin 16475 -> 0 bytes build/openrpc/worker.json | 76 ++-- build/openrpc/worker.json.gz | Bin 6048 -> 0 bytes build/version.go | 4 +- chain/events/filter/index.go | 13 +- chain/stmgr/call.go | 92 ++-- chain/stmgr/forks.go | 2 +- cli/net.go | 44 +- cli/util/api.go | 2 +- cmd/lotus-miner/main.go | 38 +- documentation/en/api-v0-methods-curio.md | 369 --------------- documentation/en/api-v0-methods-miner.md | 542 ----------------------- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- go.mod | 1 - go.sum | 12 - itests/kit/node_opts.go | 9 - lib/promise/promise.go | 53 --- lib/promise/promise_test.go | 65 --- metrics/metrics.go | 79 ---- node/builder.go | 1 - node/impl/full/eth.go | 29 +- node/modules/storageminer.go | 4 - node/repo/fsrepo.go | 36 -- node/repo/fsrepo_ds.go | 15 +- node/repo/memrepo.go | 8 - scripts/generate-lotus-cli.py | 2 +- 44 files changed, 584 insertions(+), 1847 deletions(-) delete mode 100644 build/openrpc/full.json.gz delete mode 100644 build/openrpc/gateway.json.gz delete mode 100644 build/openrpc/miner.json.gz delete mode 100644 build/openrpc/worker.json.gz delete mode 100644 documentation/en/api-v0-methods-curio.md delete mode 100644 lib/promise/promise.go delete mode 100644 lib/promise/promise_test.go diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index b5843c5b38e..6422093501b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -15,7 +15,7 @@ Before you mark the PR ready for review, please make sure that: - [ ] PR title is in the form of of `: : ` - 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 + - `area`, e.g. api, chain, state, 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) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ce3ba6e9807..12ea6e3f90e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -119,8 +119,8 @@ jobs: - uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0 with: distribution: goreleaser-pro - version: latest - args: release --clean --debug ${{ env.PUBLISH == 'false' && '--snapshot' || '' }} + version: 2.0.1 + args: release --clean ${{ env.PUBLISH == 'false' && '--snapshot' || '' }} workdir: lotus env: GITHUB_TOKEN: ${{ env.PUBLISH == 'true' && secrets.GORELEASER_GITUB_TOKEN || github.token || '' }} diff --git a/CHANGELOG.md b/CHANGELOG.md index c52494ed225..a2b0b791d6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,14 @@ ## Improvements -# v1.27.1 / 2024-06-10 +# v1.27.1-rc2 / 2024-06-17 This is the first release candidate of the upcoming optional release of Lotus v1.27.1 ## ☢️ Upgrade Warnings ☢️ -There are no upgrade warnings for this release candidate. +- This Lotus release completely removes the Legacy Lotus/Lotus-Miner Markets sub-system from the codebase, which was announced to reach EOL on January 31, 2023. +- The **Curio Storage** software, designed to simplify the setup and operation of storage providers, has moved to their own Github-repository: https://github.com/filecoin-project/curio. ### JSON-RPC 2.0 Specification Conformance @@ -56,6 +57,8 @@ There is no change in the behaviour when a call returns an error, as the error o - chore: remove unmaintained bootstrappers (#11983) ([filecoin-project/lotus#11983](https://github.com/filecoin-project/lotus/pull/11983)) - feat: api: add SectorNumber to MarketDealState (nv22) - fix: copy Flags field from SectorOnChainInfo +- fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset ([filecoin-project/lotus#11905](https://github.com/filecoin-project/lotus/pull/11905)) +- fix: events: sqlite db improvements ([filecoin-project/lotus#12090](https://github.com/filecoin-project/lotus/pull/12090)) ## Dependencies @@ -124,6 +127,10 @@ There is no change in the behaviour when a call returns an error, as the error o - chore: pin golanglint-ci to v1.58.2 (#12054) ([filecoin-project/lotus#12054](https://github.com/filecoin-project/lotus/pull/12054)) - chore: fix some function names (#12031) ([filecoin-project/lotus#12031](https://github.com/filecoin-project/lotus/pull/12031)) - src: lint: bump golangci-lint to 1.59, address unchecked fmt.Fprint* +- fix: ci: do not use deprecated --debug goreleaser flag ([filecoin-project/lotus#12086](https://github.com/filecoin-project/lotus/pull/12086)) +- chore: Remove forgotten graphsync references ([filecoin-project/lotus#12084](https://github.com/filecoin-project/lotus/pull/12084)) +- chore: types: remove more items forgotten after markets ([filecoin-project/lotus#12095](https://github.com/filecoin-project/lotus/pull/12095)) +- chore: api: the Net API/CLI now remains only on daemon ([filecoin-project/lotus#12100](https://github.com/filecoin-project/lotus/pull/12100)) ## Contributors diff --git a/api/api_full.go b/api/api_full.go index b82b172eb51..5d2f6d4176e 100644 --- a/api/api_full.go +++ b/api/api_full.go @@ -6,7 +6,6 @@ import ( "fmt" "time" - "github.com/google/uuid" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" @@ -1052,8 +1051,6 @@ type MarketDeal struct { State MarketDealState } -type RemoteStoreID = uuid.UUID - type InvocResult struct { MsgCid cid.Cid Msg *types.Message @@ -1064,11 +1061,6 @@ type InvocResult struct { Duration time.Duration } -type MethodCall struct { - types.MessageReceipt - Error string -} - type IpldObject struct { Cid cid.Cid Obj interface{} @@ -1180,21 +1172,6 @@ type BlockTemplate struct { WinningPoStProof []builtin.PoStProof } -type DataSize struct { - PayloadSize int64 - PieceSize abi.PaddedPieceSize -} - -type DataCIDSize struct { - PayloadSize int64 - PieceSize abi.PaddedPieceSize - PieceCID cid.Cid -} - -type CommPRet struct { - Root cid.Cid - Size abi.UnpaddedPieceSize -} type HeadChange struct { Type string Val *types.TipSet diff --git a/api/api_net.go b/api/api_net.go index cfcd8d87e06..3dc19dbed59 100644 --- a/api/api_net.go +++ b/api/api_net.go @@ -66,11 +66,6 @@ type Net interface { ID(context.Context) (peer.ID, error) //perm:read } -type CommonNet interface { - Common - Net -} - type NatInfo struct { Reachability network.Reachability PublicAddrs []string diff --git a/api/api_storage.go b/api/api_storage.go index ae1c7ae36b3..fa10d28fc32 100644 --- a/api/api_storage.go +++ b/api/api_storage.go @@ -39,7 +39,6 @@ import ( // StorageMiner is a low-level interface to the Filecoin network storage miner node type StorageMiner interface { Common - Net ActorAddress(context.Context) (address.Address, error) //perm:read diff --git a/api/client/client.go b/api/client/client.go index 8b159c5b1c9..9722c41264d 100644 --- a/api/client/client.go +++ b/api/client/client.go @@ -16,8 +16,8 @@ import ( ) // NewCommonRPCV0 creates a new http jsonrpc client. -func NewCommonRPCV0(ctx context.Context, addr string, requestHeader http.Header) (api.CommonNet, jsonrpc.ClientCloser, error) { - var res v0api.CommonNetStruct +func NewCommonRPCV0(ctx context.Context, addr string, requestHeader http.Header) (api.Common, jsonrpc.ClientCloser, error) { + var res v0api.CommonStruct closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin", api.GetInternalStructs(&res), requestHeader, jsonrpc.WithErrors(api.RPCErrors)) diff --git a/api/docgen/docgen.go b/api/docgen/docgen.go index eace7a9a19c..cba7bb6b5b3 100644 --- a/api/docgen/docgen.go +++ b/api/docgen/docgen.go @@ -16,7 +16,6 @@ import ( "github.com/google/uuid" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" - 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" @@ -91,9 +90,6 @@ func init() { addExample(pid) addExample(&pid) - textSelExample := textselector.Expression("Links/21/Hash/Links/42/Hash") - apiSelExample := api.Selector("Links/21/Hash/Links/42/Hash") - block := blocks.Block(&blocks.BasicBlock{}) ExampleValues[reflect.TypeOf(&block).Elem()] = block @@ -124,8 +120,6 @@ func init() { addExample(api.PCHInbound) addExample(time.Minute) - addExample(&textSelExample) - addExample(&apiSelExample) addExample(network.ReachabilityPublic) addExample(build.TestNetworkVersion) allocationId := verifreg.AllocationId(0) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index e41b4fcbae8..1881a6f9dac 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -91,23 +91,6 @@ type CommonMethods struct { type CommonStub struct { } -type CommonNetStruct struct { - CommonStruct - - NetStruct - - Internal CommonNetMethods -} - -type CommonNetMethods struct { -} - -type CommonNetStub struct { - CommonStub - - NetStub -} - type EthSubscriberStruct struct { Internal EthSubscriberMethods } @@ -865,8 +848,6 @@ type SignableStub struct { type StorageMinerStruct struct { CommonStruct - NetStruct - Internal StorageMinerMethods } @@ -1050,8 +1031,6 @@ type StorageMinerMethods struct { type StorageMinerStub struct { CommonStub - - NetStub } type WalletStruct struct { @@ -6629,7 +6608,6 @@ func (s *WorkerStub) WaitQuiet(p0 context.Context) error { var _ ChainIO = new(ChainIOStruct) var _ Common = new(CommonStruct) -var _ CommonNet = new(CommonNetStruct) var _ EthSubscriber = new(EthSubscriberStruct) var _ FullNode = new(FullNodeStruct) var _ Gateway = new(GatewayStruct) diff --git a/api/types.go b/api/types.go index a79615f12ec..61f6cb8bafe 100644 --- a/api/types.go +++ b/api/types.go @@ -1,7 +1,6 @@ package api import ( - "encoding/json" "time" "github.com/google/uuid" @@ -9,7 +8,6 @@ import ( 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" "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" @@ -19,27 +17,6 @@ import ( "github.com/filecoin-project/lotus/node/modules/dtypes" ) -type MultiaddrSlice []ma.Multiaddr - -func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error) { - var temp []string - if err := json.Unmarshal(raw, &temp); err != nil { - return err - } - - res := make([]ma.Multiaddr, len(temp)) - for i, str := range temp { - res[i], err = ma.NewMultiaddr(str) - if err != nil { - return err - } - } - *m = res - return nil -} - -var _ json.Unmarshaler = new(MultiaddrSlice) - type ObjStat struct { Size uint64 Links uint64 @@ -158,13 +135,6 @@ type MessagePrototype struct { ValidNonce bool } -// 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 -type Selector string - type MinerInfo struct { Owner address.Address // Must be an ID-address. Worker address.Address // Must be an ID-address. diff --git a/api/v0api/latest.go b/api/v0api/latest.go index d423f57bc86..d5da794ebcb 100644 --- a/api/v0api/latest.go +++ b/api/v0api/latest.go @@ -6,14 +6,11 @@ import ( type Common = api.Common type Net = api.Net -type CommonNet = api.CommonNet type CommonStruct = api.CommonStruct type CommonStub = api.CommonStub type NetStruct = api.NetStruct type NetStub = api.NetStub -type CommonNetStruct = api.CommonNetStruct -type CommonNetStub = api.CommonNetStub type StorageMiner = api.StorageMiner type StorageMinerStruct = api.StorageMinerStruct diff --git a/build/openrpc/full.json b/build/openrpc/full.json index a209bbc29ca..3c0931647cf 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc1" + "version": "1.27.1-rc2" }, "methods": [ { @@ -37,7 +37,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1328" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1307" } }, { @@ -60,7 +60,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1339" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1318" } }, { @@ -103,7 +103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1350" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1329" } }, { @@ -214,7 +214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1372" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1351" } }, { @@ -454,7 +454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1383" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1362" } }, { @@ -685,7 +685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1394" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1373" } }, { @@ -784,7 +784,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1405" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1384" } }, { @@ -816,7 +816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1416" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1395" } }, { @@ -922,7 +922,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1427" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1406" } }, { @@ -1019,7 +1019,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1438" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1417" } }, { @@ -1078,7 +1078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1449" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1428" } }, { @@ -1171,7 +1171,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1460" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1439" } }, { @@ -1255,7 +1255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1471" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1450" } }, { @@ -1355,7 +1355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1482" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1461" } }, { @@ -1411,7 +1411,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1493" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1472" } }, { @@ -1484,7 +1484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1504" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1483" } }, { @@ -1557,7 +1557,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1515" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1494" } }, { @@ -1604,7 +1604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1526" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1505" } }, { @@ -1636,7 +1636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1537" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1516" } }, { @@ -1691,7 +1691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1548" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1527" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1570" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1549" } }, { @@ -1780,7 +1780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1581" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1560" } }, { @@ -1827,7 +1827,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1592" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1571" } }, { @@ -1874,7 +1874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1603" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1582" } }, { @@ -1954,7 +1954,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1614" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1593" } }, { @@ -2006,7 +2006,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1625" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1604" } }, { @@ -2045,7 +2045,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1636" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1615" } }, { @@ -2092,7 +2092,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1647" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1626" } }, { @@ -2147,7 +2147,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1658" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1637" } }, { @@ -2176,7 +2176,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1669" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1648" } }, { @@ -2313,7 +2313,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1680" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1659" } }, { @@ -2342,7 +2342,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1691" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1670" } }, { @@ -2396,7 +2396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1702" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1681" } }, { @@ -2487,7 +2487,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1713" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1692" } }, { @@ -2515,7 +2515,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1724" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1703" } }, { @@ -2605,7 +2605,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1735" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1714" } }, { @@ -2861,7 +2861,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1746" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1725" } }, { @@ -3106,7 +3106,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1757" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1736" } }, { @@ -3162,7 +3162,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1768" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1747" } }, { @@ -3209,7 +3209,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1779" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1758" } }, { @@ -3307,7 +3307,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1790" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1769" } }, { @@ -3373,7 +3373,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1801" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1780" } }, { @@ -3439,7 +3439,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1812" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1791" } }, { @@ -3548,7 +3548,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1823" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1802" } }, { @@ -3606,7 +3606,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1834" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1813" } }, { @@ -3728,7 +3728,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1845" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1824" } }, { @@ -3937,7 +3937,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1856" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1835" } }, { @@ -4137,7 +4137,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1867" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1846" } }, { @@ -4329,7 +4329,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1878" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1857" } }, { @@ -4538,7 +4538,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1889" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1868" } }, { @@ -4629,7 +4629,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1900" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1879" } }, { @@ -4687,7 +4687,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1911" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1890" } }, { @@ -4945,7 +4945,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1922" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1901" } }, { @@ -5220,7 +5220,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1933" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1912" } }, { @@ -5248,7 +5248,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1944" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1923" } }, { @@ -5286,7 +5286,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1955" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1934" } }, { @@ -5394,7 +5394,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1966" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1945" } }, { @@ -5432,7 +5432,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1977" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1956" } }, { @@ -5461,7 +5461,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1988" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1967" } }, { @@ -5524,7 +5524,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1999" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1978" } }, { @@ -5587,7 +5587,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2010" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1989" } }, { @@ -5632,7 +5632,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2021" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2000" } }, { @@ -5754,7 +5754,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2032" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2011" } }, { @@ -5909,7 +5909,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2043" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2022" } }, { @@ -6031,7 +6031,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2054" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2033" } }, { @@ -6085,7 +6085,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2065" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2044" } }, { @@ -6139,7 +6139,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2076" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2055" } }, { @@ -6194,7 +6194,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2087" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2066" } }, { @@ -6337,7 +6337,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2098" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2077" } }, { @@ -6464,7 +6464,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2109" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2088" } }, { @@ -6566,7 +6566,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2120" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2099" } }, { @@ -6789,7 +6789,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2131" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2110" } }, { @@ -6972,7 +6972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2142" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2121" } }, { @@ -7052,7 +7052,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2153" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2132" } }, { @@ -7097,7 +7097,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2164" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2143" } }, { @@ -7153,7 +7153,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2175" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2154" } }, { @@ -7233,7 +7233,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2186" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2165" } }, { @@ -7313,7 +7313,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2197" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2176" } }, { @@ -7798,7 +7798,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2208" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2187" } }, { @@ -7992,7 +7992,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2219" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2198" } }, { @@ -8147,7 +8147,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2230" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2209" } }, { @@ -8396,7 +8396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2241" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2220" } }, { @@ -8551,7 +8551,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2252" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2231" } }, { @@ -8728,7 +8728,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2263" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2242" } }, { @@ -8826,7 +8826,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2274" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2253" } }, { @@ -8991,7 +8991,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2285" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2264" } }, { @@ -9030,7 +9030,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2296" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2275" } }, { @@ -9095,7 +9095,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2307" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2286" } }, { @@ -9141,7 +9141,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2318" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2297" } }, { @@ -9291,7 +9291,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2329" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2308" } }, { @@ -9428,7 +9428,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2340" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2319" } }, { @@ -9659,7 +9659,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2351" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2330" } }, { @@ -9796,7 +9796,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2362" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2341" } }, { @@ -9961,7 +9961,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2373" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2352" } }, { @@ -10038,7 +10038,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2384" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2363" } }, { @@ -10233,7 +10233,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2406" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2385" } }, { @@ -10412,7 +10412,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2417" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2396" } }, { @@ -10574,7 +10574,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2428" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2407" } }, { @@ -10722,7 +10722,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2439" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2418" } }, { @@ -10950,7 +10950,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2450" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2429" } }, { @@ -11098,7 +11098,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2461" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2440" } }, { @@ -11310,7 +11310,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2472" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2451" } }, { @@ -11516,7 +11516,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2483" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2462" } }, { @@ -11584,7 +11584,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2494" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2473" } }, { @@ -11701,7 +11701,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2505" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2484" } }, { @@ -11792,7 +11792,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2516" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2495" } }, { @@ -11878,7 +11878,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2527" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2506" } }, { @@ -12073,7 +12073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2538" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2517" } }, { @@ -12235,7 +12235,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2549" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2528" } }, { @@ -12431,7 +12431,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2560" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2539" } }, { @@ -12611,7 +12611,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2571" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2550" } }, { @@ -12774,7 +12774,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2582" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2561" } }, { @@ -12801,7 +12801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2593" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2572" } }, { @@ -12828,7 +12828,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2604" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2583" } }, { @@ -12927,7 +12927,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2615" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2594" } }, { @@ -12973,7 +12973,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2626" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2605" } }, { @@ -13073,7 +13073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2637" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2616" } }, { @@ -13189,7 +13189,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2648" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2627" } }, { @@ -13237,7 +13237,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2659" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2638" } }, { @@ -13329,7 +13329,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2670" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2649" } }, { @@ -13444,7 +13444,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2681" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2660" } }, { @@ -13492,7 +13492,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2692" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2671" } }, { @@ -13529,7 +13529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2703" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2682" } }, { @@ -13801,7 +13801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2714" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2693" } }, { @@ -13849,7 +13849,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2725" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2704" } }, { @@ -13907,7 +13907,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2736" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2715" } }, { @@ -14112,7 +14112,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2747" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2726" } }, { @@ -14315,7 +14315,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2758" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2737" } }, { @@ -14484,7 +14484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2769" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2748" } }, { @@ -14688,7 +14688,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2780" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2759" } }, { @@ -14855,7 +14855,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2791" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2770" } }, { @@ -15062,7 +15062,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2802" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2781" } }, { @@ -15130,7 +15130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2813" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2792" } }, { @@ -15182,7 +15182,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2824" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2803" } }, { @@ -15231,7 +15231,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2835" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2814" } }, { @@ -15322,7 +15322,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2846" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2825" } }, { @@ -15828,7 +15828,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2857" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2836" } }, { @@ -15934,7 +15934,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2868" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2847" } }, { @@ -15986,7 +15986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2879" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2858" } }, { @@ -16538,7 +16538,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2890" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2869" } }, { @@ -16652,7 +16652,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2901" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2880" } }, { @@ -16749,7 +16749,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2912" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2891" } }, { @@ -16849,7 +16849,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2923" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2902" } }, { @@ -16937,7 +16937,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2934" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2913" } }, { @@ -17037,7 +17037,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2945" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2924" } }, { @@ -17124,7 +17124,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2956" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2935" } }, { @@ -17215,7 +17215,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2967" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2946" } }, { @@ -17340,7 +17340,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2978" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2957" } }, { @@ -17449,7 +17449,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2989" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2968" } }, { @@ -17519,7 +17519,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3000" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2979" } }, { @@ -17622,7 +17622,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3011" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2990" } }, { @@ -17683,7 +17683,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3022" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3001" } }, { @@ -17813,7 +17813,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3033" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3012" } }, { @@ -17920,7 +17920,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3044" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3023" } }, { @@ -18134,7 +18134,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3055" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3034" } }, { @@ -18211,7 +18211,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3066" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3045" } }, { @@ -18288,7 +18288,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3077" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3056" } }, { @@ -18397,7 +18397,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3088" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3067" } }, { @@ -18506,7 +18506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3099" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3078" } }, { @@ -18567,7 +18567,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3110" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3089" } }, { @@ -18677,7 +18677,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3121" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3100" } }, { @@ -18738,7 +18738,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3132" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3111" } }, { @@ -18806,7 +18806,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3143" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3122" } }, { @@ -18874,7 +18874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3154" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3133" } }, { @@ -18955,7 +18955,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3165" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3144" } }, { @@ -19109,7 +19109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3176" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3155" } }, { @@ -19181,7 +19181,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3187" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3166" } }, { @@ -19345,7 +19345,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3198" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3177" } }, { @@ -19510,7 +19510,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3209" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3188" } }, { @@ -19580,7 +19580,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3220" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3199" } }, { @@ -19648,7 +19648,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3231" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3210" } }, { @@ -19741,7 +19741,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3242" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3221" } }, { @@ -19812,7 +19812,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3253" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3232" } }, { @@ -20013,7 +20013,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3264" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3243" } }, { @@ -20145,7 +20145,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3275" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3254" } }, { @@ -20282,7 +20282,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3286" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3265" } }, { @@ -20393,7 +20393,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3297" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3276" } }, { @@ -20525,7 +20525,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3308" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3287" } }, { @@ -20656,7 +20656,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3319" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3298" } }, { @@ -20727,7 +20727,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3330" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3309" } }, { @@ -20811,7 +20811,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3341" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3320" } }, { @@ -20897,7 +20897,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3352" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3331" } }, { @@ -21080,7 +21080,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3363" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3342" } }, { @@ -21107,7 +21107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3374" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3353" } }, { @@ -21160,7 +21160,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3385" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3364" } }, { @@ -21248,7 +21248,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3396" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3375" } }, { @@ -21699,7 +21699,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3407" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3386" } }, { @@ -21866,7 +21866,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3418" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3397" } }, { @@ -21964,7 +21964,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3429" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3408" } }, { @@ -22137,7 +22137,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3440" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3419" } }, { @@ -22235,7 +22235,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3451" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3430" } }, { @@ -22386,7 +22386,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3462" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3441" } }, { @@ -22471,7 +22471,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3473" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3452" } }, { @@ -22539,7 +22539,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3484" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3463" } }, { @@ -22591,7 +22591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3495" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3474" } }, { @@ -22659,7 +22659,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3506" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3485" } }, { @@ -22820,7 +22820,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3517" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3496" } }, { @@ -22867,7 +22867,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3539" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3518" } }, { @@ -22914,7 +22914,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3550" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3529" } }, { @@ -22957,7 +22957,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3572" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3551" } }, { @@ -23053,7 +23053,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3583" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3562" } }, { @@ -23319,7 +23319,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3594" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3573" } }, { @@ -23342,7 +23342,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3605" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3584" } }, { @@ -23385,7 +23385,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3616" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3595" } }, { @@ -23436,7 +23436,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3627" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3606" } }, { @@ -23481,7 +23481,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3638" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3617" } }, { @@ -23509,7 +23509,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3649" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3628" } }, { @@ -23549,7 +23549,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3660" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3639" } }, { @@ -23608,7 +23608,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3671" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3650" } }, { @@ -23652,7 +23652,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3682" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3661" } }, { @@ -23711,7 +23711,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3693" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3672" } }, { @@ -23748,7 +23748,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3704" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3683" } }, { @@ -23792,7 +23792,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3715" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3694" } }, { @@ -23832,7 +23832,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3726" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3705" } }, { @@ -23907,7 +23907,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3737" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3716" } }, { @@ -24115,7 +24115,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3748" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3727" } }, { @@ -24159,7 +24159,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3759" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3738" } }, { @@ -24249,7 +24249,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3770" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3749" } }, { @@ -24276,7 +24276,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3781" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3760" } } ] diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz deleted file mode 100644 index 08dda7784c666f634566edc12e0a9ce7f8908c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35935 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 GW|mFzH5i0Jg&5vrzzQ5b7V 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%0AaDkS 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 B3_kz> diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index b5d90356c8f..201dec42c20 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc1" + "version": "1.27.1-rc2" }, "methods": [ { @@ -161,7 +161,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6223" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6202" } }, { @@ -252,7 +252,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6234" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6213" } }, { @@ -420,7 +420,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6245" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6224" } }, { @@ -447,7 +447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6256" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6235" } }, { @@ -597,7 +597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6267" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6246" } }, { @@ -700,7 +700,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6278" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6257" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6289" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6268" } }, { @@ -925,7 +925,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6300" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6279" } }, { @@ -1135,7 +1135,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6311" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6290" } }, { @@ -1306,7 +1306,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6322" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6301" } }, { @@ -3350,7 +3350,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6333" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6312" } }, { @@ -3470,7 +3470,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6344" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6323" } }, { @@ -3531,7 +3531,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6355" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6334" } }, { @@ -3569,7 +3569,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6366" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6345" } }, { @@ -3729,7 +3729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6377" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6356" } }, { @@ -3913,7 +3913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6388" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6367" } }, { @@ -4054,7 +4054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6399" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6378" } }, { @@ -4107,7 +4107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6410" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6389" } }, { @@ -4250,7 +4250,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6421" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6400" } }, { @@ -4474,7 +4474,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6432" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6411" } }, { @@ -4601,7 +4601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6443" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6422" } }, { @@ -4768,7 +4768,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6454" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6433" } }, { @@ -4895,7 +4895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6465" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6444" } }, { @@ -4933,7 +4933,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6476" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6455" } }, { @@ -4972,7 +4972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6487" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6466" } }, { @@ -4995,7 +4995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6498" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6477" } }, { @@ -5034,7 +5034,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6509" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6488" } }, { @@ -5057,7 +5057,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6520" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6499" } }, { @@ -5096,7 +5096,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6531" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6510" } }, { @@ -5130,7 +5130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6542" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6521" } }, { @@ -5184,7 +5184,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6553" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6532" } }, { @@ -5223,7 +5223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6564" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6543" } }, { @@ -5262,7 +5262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6575" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6554" } }, { @@ -5297,7 +5297,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6586" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6565" } }, { @@ -5477,7 +5477,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6597" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6576" } }, { @@ -5506,7 +5506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6608" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6587" } }, { @@ -5529,7 +5529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6619" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6598" } } ] diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz deleted file mode 100644 index 0f3cb11c7a3140dc8227754c0ab7a27965626b96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6048 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 aQBSD`W4K)2F8@CO0RR7_KxV9MSOEZJF2+Ov diff --git a/build/version.go b/build/version.go index 6914c70ec55..b4271e6e5c1 100644 --- a/build/version.go +++ b/build/version.go @@ -39,7 +39,7 @@ func BuildTypeString() string { } // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.27.1-rc1" +const NodeBuildVersion string = "1.27.1-rc2" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { @@ -50,7 +50,7 @@ func NodeUserVersion() BuildVersion { } // MinerBuildVersion is the local build version of the Lotus miner -const MinerBuildVersion = "1.27.1-rc1" +const MinerBuildVersion = "1.27.1-rc2" func MinerUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/chain/events/filter/index.go b/chain/events/filter/index.go index 98cc54d2029..5ebb8fb580c 100644 --- a/chain/events/filter/index.go +++ b/chain/events/filter/index.go @@ -26,10 +26,11 @@ var pragmas = []string{ "PRAGMA temp_store = memory", "PRAGMA mmap_size = 30000000000", "PRAGMA page_size = 32768", - "PRAGMA auto_vacuum = NONE", // not useful until we implement GC + "PRAGMA auto_vacuum = NONE", "PRAGMA automatic_index = OFF", "PRAGMA journal_mode = WAL", - "PRAGMA read_uncommitted = ON", + "PRAGMA wal_autocheckpoint = 256", // checkpoint @ 256 pages + "PRAGMA journal_size_limit = 0", // always reset journal and wal files } // Any changes to this schema should be matched for the `lotus-shed indexes backfill-events` command @@ -438,6 +439,9 @@ func NewEventIndex(ctx context.Context, path string, chainStore *store.ChainStor eventIndex := EventIndex{db: db} q, err := db.QueryContext(ctx, "SELECT name FROM sqlite_master WHERE type='table' AND name='_meta';") + if q != nil { + defer func() { _ = q.Close() }() + } if errors.Is(err, sql.ErrNoRows) || !q.Next() { // empty database, create the schema for _, ddl := range ddls { @@ -521,7 +525,7 @@ func (ei *EventIndex) Close() error { } func (ei *EventIndex) CollectEvents(ctx context.Context, te *TipSetEvents, revert bool, resolver func(ctx context.Context, emitter abi.ActorID, ts *types.TipSet) (address.Address, bool)) error { - tx, err := ei.db.Begin() + tx, err := ei.db.BeginTx(ctx, nil) if err != nil { return xerrors.Errorf("begin transaction: %w", err) } @@ -743,6 +747,7 @@ func (ei *EventIndex) prefillFilter(ctx context.Context, f *eventFilter, exclude if err != nil { return xerrors.Errorf("prepare prefill query: %w", err) } + defer func() { _ = stmt.Close() }() q, err := stmt.QueryContext(ctx, values...) if err != nil { @@ -751,6 +756,7 @@ func (ei *EventIndex) prefillFilter(ctx context.Context, f *eventFilter, exclude } return xerrors.Errorf("exec prefill query: %w", err) } + defer func() { _ = q.Close() }() var ces []*CollectedEvent var currentID int64 = -1 @@ -839,7 +845,6 @@ func (ei *EventIndex) prefillFilter(ctx context.Context, f *eventFilter, exclude Codec: row.codec, Value: row.value, }) - } if ce != nil { diff --git a/chain/stmgr/call.go b/chain/stmgr/call.go index 61056528f11..7f2a57a6112 100644 --- a/chain/stmgr/call.go +++ b/chain/stmgr/call.go @@ -25,6 +25,14 @@ import ( "github.com/filecoin-project/lotus/chain/vm" ) +type execMessageStrategy int + +const ( + execNoMessages execMessageStrategy = iota // apply no prior or current tipset messages + execAllMessages // apply all prior and current tipset messages + execSameSenderMessages // apply all prior messages and any current tipset messages from the same sender +) + var ErrExpensiveFork = errors.New("refusing explicit call due to state fork at epoch") // Call applies the given message to the given tipset's parent state, at the epoch following the @@ -48,12 +56,24 @@ func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types. msg.Value = types.NewInt(0) } - return sm.callInternal(ctx, msg, nil, ts, cid.Undef, sm.GetNetworkVersion, false, false) + return sm.callInternal(ctx, msg, nil, ts, cid.Undef, sm.GetNetworkVersion, false, execSameSenderMessages) +} + +// ApplyOnStateWithGas applies the given message on top of the given state root with gas tracing enabled +func (sm *StateManager) ApplyOnStateWithGas(ctx context.Context, stateCid cid.Cid, msg *types.Message, ts *types.TipSet) (*api.InvocResult, error) { + return sm.callInternal(ctx, msg, nil, ts, stateCid, sm.GetNetworkVersion, true, execNoMessages) } // CallWithGas calculates the state for a given tipset, and then applies the given message on top of that state. func (sm *StateManager) CallWithGas(ctx context.Context, msg *types.Message, priorMsgs []types.ChainMsg, ts *types.TipSet, applyTsMessages bool) (*api.InvocResult, error) { - return sm.callInternal(ctx, msg, priorMsgs, ts, cid.Undef, sm.GetNetworkVersion, true, applyTsMessages) + var strategy execMessageStrategy + if applyTsMessages { + strategy = execAllMessages + } else { + strategy = execSameSenderMessages + } + + return sm.callInternal(ctx, msg, priorMsgs, ts, cid.Undef, sm.GetNetworkVersion, true, strategy) } // CallAtStateAndVersion allows you to specify a message to execute on the given stateCid and network version. @@ -64,14 +84,14 @@ func (sm *StateManager) CallAtStateAndVersion(ctx context.Context, msg *types.Me nvGetter := func(context.Context, abi.ChainEpoch) network.Version { return v } - - return sm.callInternal(ctx, msg, nil, nil, stateCid, nvGetter, true, false) + return sm.callInternal(ctx, msg, nil, nil, stateCid, nvGetter, true, execSameSenderMessages) } // - If no tipset is specified, the first tipset without an expensive migration or one in its parent is used. // - If executing a message at a given tipset or its parent would trigger an expensive migration, the call will // fail with ErrExpensiveFork. -func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, priorMsgs []types.ChainMsg, ts *types.TipSet, stateCid cid.Cid, nvGetter rand.NetworkVersionGetter, checkGas, applyTsMessages bool) (*api.InvocResult, error) { +func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, priorMsgs []types.ChainMsg, ts *types.TipSet, stateCid cid.Cid, + nvGetter rand.NetworkVersionGetter, checkGas bool, strategy execMessageStrategy) (*api.InvocResult, error) { ctx, span := trace.StartSpan(ctx, "statemanager.callInternal") defer span.End() @@ -95,7 +115,7 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr return nil, xerrors.Errorf("failed to find a non-forking epoch: %w", err) } // Checks for expensive forks from the parents to the tipset, including nil tipsets - if !sm.hasExpensiveForkBetween(pts.Height(), ts.Height()+1) { + if !sm.HasExpensiveForkBetween(pts.Height(), ts.Height()+1) { break } @@ -106,7 +126,7 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr if err != nil { return nil, xerrors.Errorf("failed to find a non-forking epoch: %w", err) } - if sm.hasExpensiveForkBetween(pts.Height(), ts.Height()+1) { + if sm.HasExpensiveForkBetween(pts.Height(), ts.Height()+1) { return nil, ErrExpensiveFork } } @@ -117,24 +137,6 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr if stateCid == cid.Undef { stateCid = ts.ParentState() } - tsMsgs, err := sm.cs.MessagesForTipset(ctx, ts) - if err != nil { - return nil, xerrors.Errorf("failed to lookup messages for parent tipset: %w", err) - } - - if applyTsMessages { - priorMsgs = append(tsMsgs, priorMsgs...) - } else { - var filteredTsMsgs []types.ChainMsg - for _, tsMsg := range tsMsgs { - //TODO we should technically be normalizing the filecoin address of from when we compare here - if tsMsg.VMMessage().From == msg.VMMessage().From { - filteredTsMsgs = append(filteredTsMsgs, tsMsg) - } - } - priorMsgs = append(filteredTsMsgs, priorMsgs...) - } - // Technically, the tipset we're passing in here should be ts+1, but that may not exist. stateCid, err = sm.HandleStateForks(ctx, stateCid, ts.Height(), nil, ts) if err != nil { @@ -169,18 +171,40 @@ func (sm *StateManager) callInternal(ctx context.Context, msg *types.Message, pr if err != nil { return nil, xerrors.Errorf("failed to set up vm: %w", err) } - for i, m := range priorMsgs { - _, err = vmi.ApplyMessage(ctx, m) + + switch strategy { + case execNoMessages: + // Do nothing + case execAllMessages, execSameSenderMessages: + tsMsgs, err := sm.cs.MessagesForTipset(ctx, ts) if err != nil { - return nil, xerrors.Errorf("applying prior message (%d, %s): %w", i, m.Cid(), err) + return nil, xerrors.Errorf("failed to lookup messages for parent tipset: %w", err) + } + if strategy == execAllMessages { + priorMsgs = append(tsMsgs, priorMsgs...) + } else if strategy == execSameSenderMessages { + var filteredTsMsgs []types.ChainMsg + for _, tsMsg := range tsMsgs { + //TODO we should technically be normalizing the filecoin address of from when we compare here + if tsMsg.VMMessage().From == msg.VMMessage().From { + filteredTsMsgs = append(filteredTsMsgs, tsMsg) + } + } + priorMsgs = append(filteredTsMsgs, priorMsgs...) + } + for i, m := range priorMsgs { + _, err = vmi.ApplyMessage(ctx, m) + if err != nil { + return nil, xerrors.Errorf("applying prior message (%d, %s): %w", i, m.Cid(), err) + } } - } - // We flush to get the VM's view of the state tree after applying the above messages - // This is needed to get the correct nonce from the actor state to match the VM - stateCid, err = vmi.Flush(ctx) - if err != nil { - return nil, xerrors.Errorf("flushing vm: %w", err) + // We flush to get the VM's view of the state tree after applying the above messages + // This is needed to get the correct nonce from the actor state to match the VM + stateCid, err = vmi.Flush(ctx) + if err != nil { + return nil, xerrors.Errorf("flushing vm: %w", err) + } } stTree, err := state.LoadStateTree(cbor.NewCborStore(buffStore), stateCid) diff --git a/chain/stmgr/forks.go b/chain/stmgr/forks.go index 9a236196187..c6c513e3a26 100644 --- a/chain/stmgr/forks.go +++ b/chain/stmgr/forks.go @@ -227,7 +227,7 @@ func (sm *StateManager) HandleStateForks(ctx context.Context, root cid.Cid, heig // Returns true executing tipsets between the specified heights would trigger an expensive // migration. NOTE: migrations occurring _at_ the target height are not included, as they're // executed _after_ the target height. -func (sm *StateManager) hasExpensiveForkBetween(parent, height abi.ChainEpoch) bool { +func (sm *StateManager) HasExpensiveForkBetween(parent, height abi.ChainEpoch) bool { for h := parent; h < height; h++ { if _, ok := sm.expensiveUpgrades[h]; ok { return true diff --git a/cli/net.go b/cli/net.go index 38a271a29c5..249a6c4b7db 100644 --- a/cli/net.go +++ b/cli/net.go @@ -66,7 +66,7 @@ var NetPeers = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -146,7 +146,7 @@ var NetPing = &cli.Command{ return IncorrectNumArgs(cctx) } - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -211,7 +211,7 @@ var NetScores = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -244,7 +244,7 @@ var NetListen = &cli.Command{ Name: "listen", Usage: "List listen addresses", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -268,7 +268,7 @@ var NetDisconnect = &cli.Command{ Usage: "Disconnect from a peer", ArgsUsage: "[peerID]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -299,7 +299,7 @@ var NetConnect = &cli.Command{ Usage: "Connect to a peer", ArgsUsage: "[peerMultiaddr|minerActorAddress]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -374,7 +374,7 @@ var NetId = &cli.Command{ Name: "id", Usage: "Get node identity", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -408,7 +408,7 @@ var NetFindPeer = &cli.Command{ return err } - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -431,7 +431,7 @@ var NetReachability = &cli.Command{ Name: "reachability", Usage: "Print information about reachability from the internet", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -466,7 +466,7 @@ var NetBandwidthCmd = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -585,7 +585,7 @@ var NetBlockAddPeer = &cli.Command{ Usage: "Block a peer", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -611,7 +611,7 @@ var NetBlockAddIP = &cli.Command{ Usage: "Block an IP address", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -627,7 +627,7 @@ var NetBlockAddSubnet = &cli.Command{ Usage: "Block an IP subnet", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -653,7 +653,7 @@ var NetBlockRemovePeer = &cli.Command{ Usage: "Unblock a peer", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -679,7 +679,7 @@ var NetBlockRemoveIP = &cli.Command{ Usage: "Unblock an IP address", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -695,7 +695,7 @@ var NetBlockRemoveSubnet = &cli.Command{ Usage: "Unblock an IP subnet", ArgsUsage: " ...", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -710,7 +710,7 @@ var NetBlockListCmd = &cli.Command{ Name: "list", Usage: "list connection gating rules", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -799,7 +799,7 @@ var NetStatCmd = &cli.Command{ - all -- reports the resource usage for all currently active scopes. `, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -906,7 +906,7 @@ var NetLimitCmd = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -951,7 +951,7 @@ var NetProtectAdd = &cli.Command{ Usage: "Add one or more peer IDs to the list of protected peer connections", ArgsUsage: " [...]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -981,7 +981,7 @@ var NetProtectRemove = &cli.Command{ Usage: "Remove one or more peer IDs from the list of protected peer connections.", ArgsUsage: " [...]", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } @@ -1033,7 +1033,7 @@ var NetProtectList = &cli.Command{ Name: "list-protected", Usage: "List the peer IDs with protected connection.", Action: func(cctx *cli.Context) error { - api, closer, err := GetAPI(cctx) + api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err } diff --git a/cli/util/api.go b/cli/util/api.go index a734b23371e..39077e98e1d 100644 --- a/cli/util/api.go +++ b/cli/util/api.go @@ -179,7 +179,7 @@ func GetRawAPI(ctx *cli.Context, t repo.RepoType, version string) (string, http. return heads[0].addr, heads[0].header, nil } -func GetCommonAPI(ctx *cli.Context) (api.CommonNet, jsonrpc.ClientCloser, error) { +func GetCommonAPI(ctx *cli.Context) (api.Common, jsonrpc.ClientCloser, error) { ti, ok := ctx.App.Metadata["repoType"] if !ok { log.Errorf("unknown repo type, are you sure you want to use GetCommonAPI?") diff --git a/cmd/lotus-miner/main.go b/cmd/lotus-miner/main.go index fd0ea62db28..76b8c0deb05 100644 --- a/cmd/lotus-miner/main.go +++ b/cmd/lotus-miner/main.go @@ -23,8 +23,7 @@ import ( var log = logging.Logger("main") const ( - FlagMinerRepo = "miner-repo" - FlagMarketsRepo = "markets-repo" + FlagMinerRepo = "miner-repo" ) // TODO remove after deprecation period @@ -77,21 +76,6 @@ func main() { } } - // adapt the Net* commands to always hit the node running the markets - // subsystem, as that is the only one that runs a libp2p node. - netCmd := *lcli.NetCmd // make a copy. - netCmd.Hidden = true - prev := netCmd.Before - netCmd.Before = func(c *cli.Context) error { - if prev != nil { - if err := prev(c); err != nil { - return err - } - } - c.App.Metadata["repoType"] = repo.Markets - return nil - } - app := &cli.App{ Name: "lotus-miner", Usage: "Filecoin decentralized storage network miner", @@ -129,27 +113,9 @@ func main() { Value: "~/.lotusminer", // TODO: Consider XDG_DATA_HOME Usage: fmt.Sprintf("Specify miner repo path. flag(%s) and env(LOTUS_STORAGE_PATH) are DEPRECATION, will REMOVE SOON", FlagMinerRepoDeprecation), }, - &cli.StringFlag{ - Name: FlagMarketsRepo, - EnvVars: []string{"LOTUS_MARKETS_PATH"}, - Hidden: true, - }, - &cli.BoolFlag{ - Name: "call-on-markets", - Usage: "(experimental; may be removed) call this command against a markets node; use only with common commands like net, auth, pprof, etc. whose target may be ambiguous", - Hidden: true, - }, cliutil.FlagVeryVerbose, }, - Commands: append(local, append(lcli.CommonCommands, &netCmd)...), - Before: func(c *cli.Context) error { - // this command is explicitly called on markets, inform - // common commands by overriding the repoType. - if c.Bool("call-on-markets") { - c.App.Metadata["repoType"] = repo.Markets - } - return nil - }, + Commands: append(local, lcli.CommonCommands...), After: func(c *cli.Context) error { if r := recover(); r != nil { // Generate report in LOTUS_PATH and re-raise panic diff --git a/documentation/en/api-v0-methods-curio.md b/documentation/en/api-v0-methods-curio.md deleted file mode 100644 index 0bfe09af5cb..00000000000 --- a/documentation/en/api-v0-methods-curio.md +++ /dev/null @@ -1,369 +0,0 @@ -# Groups -* [](#) - * [Shutdown](#Shutdown) - * [Version](#Version) -* [Allocate](#Allocate) - * [AllocatePieceToSector](#AllocatePieceToSector) -* [Log](#Log) - * [LogList](#LogList) - * [LogSetLevel](#LogSetLevel) -* [Storage](#Storage) - * [StorageAddLocal](#StorageAddLocal) - * [StorageDetachLocal](#StorageDetachLocal) - * [StorageFindSector](#StorageFindSector) - * [StorageInfo](#StorageInfo) - * [StorageInit](#StorageInit) - * [StorageList](#StorageList) - * [StorageLocal](#StorageLocal) - * [StorageStat](#StorageStat) -## - - -### Shutdown -Trigger shutdown - - -Perms: admin - -Inputs: `null` - -Response: `{}` - -### Version - - -Perms: admin - -Inputs: `null` - -Response: `131840` - -## Allocate - - -### AllocatePieceToSector - - -Perms: write - -Inputs: -```json -[ - "f01234", - { - "PublishCid": { - "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" - }, - "DealID": 5432, - "DealProposal": { - "PieceCID": { - "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" - }, - "PieceSize": 1032, - "VerifiedDeal": true, - "Client": "f01234", - "Provider": "f01234", - "Label": "", - "StartEpoch": 10101, - "EndEpoch": 10101, - "StoragePricePerEpoch": "0", - "ProviderCollateral": "0", - "ClientCollateral": "0" - }, - "DealSchedule": { - "StartEpoch": 10101, - "EndEpoch": 10101 - }, - "PieceActivationManifest": { - "CID": { - "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" - }, - "Size": 2032, - "VerifiedAllocationKey": null, - "Notify": null - }, - "KeepUnsealed": true - }, - 9, - { - "Scheme": "string value", - "Opaque": "string value", - "User": {}, - "Host": "string value", - "Path": "string value", - "RawPath": "string value", - "OmitHost": true, - "ForceQuery": true, - "RawQuery": "string value", - "Fragment": "string value", - "RawFragment": "string value" - }, - { - "Authorization": [ - "Bearer ey.." - ] - } -] -``` - -Response: -```json -{ - "Sector": 9, - "Offset": 1032 -} -``` - -## Log - - -### LogList - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - "string value" -] -``` - -### LogSetLevel - - -Perms: admin - -Inputs: -```json -[ - "string value", - "string value" -] -``` - -Response: `{}` - -## Storage - - -### StorageAddLocal - - -Perms: admin - -Inputs: -```json -[ - "string value" -] -``` - -Response: `{}` - -### StorageDetachLocal - - -Perms: admin - -Inputs: -```json -[ - "string value" -] -``` - -Response: `{}` - -### StorageFindSector - - -Perms: admin - -Inputs: -```json -[ - { - "Miner": 1000, - "Number": 9 - }, - 1, - 34359738368, - true -] -``` - -Response: -```json -[ - { - "ID": "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8", - "URLs": [ - "string value" - ], - "BaseURLs": [ - "string value" - ], - "Weight": 42, - "CanSeal": true, - "CanStore": true, - "Primary": true, - "AllowTypes": [ - "string value" - ], - "DenyTypes": [ - "string value" - ], - "AllowMiners": [ - "string value" - ], - "DenyMiners": [ - "string value" - ] - } -] -``` - -### StorageInfo - - -Perms: admin - -Inputs: -```json -[ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8" -] -``` - -Response: -```json -{ - "ID": "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8", - "URLs": [ - "string value" - ], - "Weight": 42, - "MaxStorage": 42, - "CanSeal": true, - "CanStore": true, - "Groups": [ - "string value" - ], - "AllowTo": [ - "string value" - ], - "AllowTypes": [ - "string value" - ], - "DenyTypes": [ - "string value" - ], - "AllowMiners": [ - "string value" - ], - "DenyMiners": [ - "string value" - ] -} -``` - -### StorageInit - - -Perms: admin - -Inputs: -```json -[ - "string value", - { - "ID": "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8", - "Weight": 42, - "CanSeal": true, - "CanStore": true, - "MaxStorage": 42, - "Groups": [ - "string value" - ], - "AllowTo": [ - "string value" - ], - "AllowTypes": [ - "string value" - ], - "DenyTypes": [ - "string value" - ], - "AllowMiners": [ - "string value" - ], - "DenyMiners": [ - "string value" - ] - } -] -``` - -Response: `{}` - -### StorageList - - -Perms: admin - -Inputs: `null` - -Response: -```json -{ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8": [ - { - "Miner": 1000, - "Number": 100, - "SectorFileType": 2 - } - ] -} -``` - -### StorageLocal - - -Perms: admin - -Inputs: `null` - -Response: -```json -{ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8": "/data/path" -} -``` - -### StorageStat - - -Perms: admin - -Inputs: -```json -[ - "76f1988b-ef30-4d7e-b3ec-9a627f4ba5a8" -] -``` - -Response: -```json -{ - "Capacity": 9, - "Available": 9, - "FSAvailable": 9, - "Reserved": 9, - "Max": 9, - "Used": 9 -} -``` - diff --git a/documentation/en/api-v0-methods-miner.md b/documentation/en/api-v0-methods-miner.md index ce09667e5ed..0bf4d3325c8 100644 --- a/documentation/en/api-v0-methods-miner.md +++ b/documentation/en/api-v0-methods-miner.md @@ -23,8 +23,6 @@ * [ComputeWindowPoSt](#ComputeWindowPoSt) * [Create](#Create) * [CreateBackup](#CreateBackup) -* [I](#I) - * [ID](#ID) * [Log](#Log) * [LogAlerts](#LogAlerts) * [LogList](#LogList) @@ -33,30 +31,6 @@ * [MarketListDeals](#MarketListDeals) * [Mining](#Mining) * [MiningBase](#MiningBase) -* [Net](#Net) - * [NetAddrsListen](#NetAddrsListen) - * [NetAgentVersion](#NetAgentVersion) - * [NetAutoNatStatus](#NetAutoNatStatus) - * [NetBandwidthStats](#NetBandwidthStats) - * [NetBandwidthStatsByPeer](#NetBandwidthStatsByPeer) - * [NetBandwidthStatsByProtocol](#NetBandwidthStatsByProtocol) - * [NetBlockAdd](#NetBlockAdd) - * [NetBlockList](#NetBlockList) - * [NetBlockRemove](#NetBlockRemove) - * [NetConnect](#NetConnect) - * [NetConnectedness](#NetConnectedness) - * [NetDisconnect](#NetDisconnect) - * [NetFindPeer](#NetFindPeer) - * [NetLimit](#NetLimit) - * [NetPeerInfo](#NetPeerInfo) - * [NetPeers](#NetPeers) - * [NetPing](#NetPing) - * [NetProtectAdd](#NetProtectAdd) - * [NetProtectList](#NetProtectList) - * [NetProtectRemove](#NetProtectRemove) - * [NetPubsubScores](#NetPubsubScores) - * [NetSetLimit](#NetSetLimit) - * [NetStat](#NetStat) * [Pledge](#Pledge) * [PledgeSector](#PledgeSector) * [Recover](#Recover) @@ -507,18 +481,6 @@ Inputs: Response: `{}` -## I - - -### ID - - -Perms: read - -Inputs: `null` - -Response: `"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"` - ## Log @@ -639,510 +601,6 @@ Response: } ``` -## Net - - -### NetAddrsListen - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] -} -``` - -### NetAgentVersion - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `"string value"` - -### NetAutoNatStatus - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "Reachability": 1, - "PublicAddrs": [ - "string value" - ] -} -``` - -### NetBandwidthStats - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "TotalIn": 9, - "TotalOut": 9, - "RateIn": 12.3, - "RateOut": 12.3 -} -``` - -### NetBandwidthStatsByPeer - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "12D3KooWSXmXLJmBR1M7i9RW9GQPNUhZSzXKzxDHWtAgNuJAbyEJ": { - "TotalIn": 174000, - "TotalOut": 12500, - "RateIn": 100, - "RateOut": 50 - } -} -``` - -### NetBandwidthStatsByProtocol - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "/fil/hello/1.0.0": { - "TotalIn": 174000, - "TotalOut": 12500, - "RateIn": 100, - "RateOut": 50 - } -} -``` - -### NetBlockAdd - - -Perms: admin - -Inputs: -```json -[ - { - "Peers": [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ], - "IPAddrs": [ - "string value" - ], - "IPSubnets": [ - "string value" - ] - } -] -``` - -Response: `{}` - -### NetBlockList - - -Perms: read - -Inputs: `null` - -Response: -```json -{ - "Peers": [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ], - "IPAddrs": [ - "string value" - ], - "IPSubnets": [ - "string value" - ] -} -``` - -### NetBlockRemove - - -Perms: admin - -Inputs: -```json -[ - { - "Peers": [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ], - "IPAddrs": [ - "string value" - ], - "IPSubnets": [ - "string value" - ] - } -] -``` - -Response: `{}` - -### NetConnect - - -Perms: write - -Inputs: -```json -[ - { - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] - } -] -``` - -Response: `{}` - -### NetConnectedness - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `1` - -### NetDisconnect - - -Perms: write - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `{}` - -### NetFindPeer - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: -```json -{ - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] -} -``` - -### NetLimit - - -Perms: read - -Inputs: -```json -[ - "string value" -] -``` - -Response: -```json -{ - "Memory": 123, - "Streams": 3, - "StreamsInbound": 1, - "StreamsOutbound": 2, - "Conns": 4, - "ConnsInbound": 3, - "ConnsOutbound": 4, - "FD": 5 -} -``` - -### NetPeerInfo - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: -```json -{ - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Agent": "string value", - "Addrs": [ - "string value" - ], - "Protocols": [ - "string value" - ], - "ConnMgrMeta": { - "FirstSeen": "0001-01-01T00:00:00Z", - "Value": 123, - "Tags": { - "name": 42 - }, - "Conns": { - "name": "2021-03-08T22:52:18Z" - } - } -} -``` - -### NetPeers - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - { - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Addrs": [ - "/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior" - ] - } -] -``` - -### NetPing - - -Perms: read - -Inputs: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -Response: `60000000000` - -### NetProtectAdd - - -Perms: admin - -Inputs: -```json -[ - [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ] -] -``` - -Response: `{}` - -### NetProtectList - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" -] -``` - -### NetProtectRemove - - -Perms: admin - -Inputs: -```json -[ - [ - "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf" - ] -] -``` - -Response: `{}` - -### NetPubsubScores - - -Perms: read - -Inputs: `null` - -Response: -```json -[ - { - "ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf", - "Score": { - "Score": 12.3, - "Topics": { - "/blocks": { - "TimeInMesh": 60000000000, - "FirstMessageDeliveries": 122, - "MeshMessageDeliveries": 1234, - "InvalidMessageDeliveries": 3 - } - }, - "AppSpecificScore": 12.3, - "IPColocationFactor": 12.3, - "BehaviourPenalty": 12.3 - } - } -] -``` - -### NetSetLimit - - -Perms: admin - -Inputs: -```json -[ - "string value", - { - "Memory": 123, - "Streams": 3, - "StreamsInbound": 1, - "StreamsOutbound": 2, - "Conns": 4, - "ConnsInbound": 3, - "ConnsOutbound": 4, - "FD": 5 - } -] -``` - -Response: `{}` - -### NetStat - - -Perms: read - -Inputs: -```json -[ - "string value" -] -``` - -Response: -```json -{ - "System": { - "NumStreamsInbound": 123, - "NumStreamsOutbound": 123, - "NumConnsInbound": 123, - "NumConnsOutbound": 123, - "NumFD": 123, - "Memory": 9 - }, - "Transient": { - "NumStreamsInbound": 123, - "NumStreamsOutbound": 123, - "NumConnsInbound": 123, - "NumConnsOutbound": 123, - "NumFD": 123, - "Memory": 9 - }, - "Services": { - "abc": { - "NumStreamsInbound": 1, - "NumStreamsOutbound": 2, - "NumConnsInbound": 3, - "NumConnsOutbound": 4, - "NumFD": 5, - "Memory": 123 - } - }, - "Protocols": { - "abc": { - "NumStreamsInbound": 1, - "NumStreamsOutbound": 2, - "NumConnsInbound": 3, - "NumConnsOutbound": 4, - "NumFD": 5, - "Memory": 123 - } - }, - "Peers": { - "abc": { - "NumStreamsInbound": 1, - "NumStreamsOutbound": 2, - "NumConnsInbound": 3, - "NumConnsOutbound": 4, - "NumFD": 5, - "Memory": 123 - } - } -} -``` - ## Pledge diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index d8f15e82363..db536a4dd05 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc1 + 1.27.1-rc2 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index af55aea0423..6bc4ef6fa1c 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc1 + 1.27.1-rc2 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index b3bfea70c01..65454899afd 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc1 + 1.27.1-rc2 COMMANDS: daemon Start a lotus daemon process diff --git a/go.mod b/go.mod index d47529e546a..76d5bb8c478 100644 --- a/go.mod +++ b/go.mod @@ -92,7 +92,6 @@ require ( github.com/ipld/go-car v0.6.2 github.com/ipld/go-car/v2 v2.13.1 github.com/ipld/go-ipld-prime v0.21.0 - github.com/ipld/go-ipld-selector-text-lite v0.0.1 github.com/ipni/go-libipni v0.0.8 github.com/jackc/pgerrcode v0.0.0-20240316143900-6e2875d9b438 github.com/kelseyhightower/envconfig v1.4.0 diff --git a/go.sum b/go.sum index 43c6e408563..d1d53543052 100644 --- a/go.sum +++ b/go.sum @@ -328,7 +328,6 @@ github.com/flynn/noise v1.1.0 h1:KjPQoQCEFdZDiP03phOvGi11+SVVhBG2wOWAorLsstg= github.com/flynn/noise v1.1.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= @@ -581,7 +580,6 @@ github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUP github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.4-0.20191112011718-79e75dffeb10/go.mod h1:/BYOuUoxkE+0f6tGzlzMvycuN+5l35VOR4Bpg2sCmds= -github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6-0.20200501230655-7c82f3b81c00/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= @@ -594,9 +592,7 @@ github.com/ipfs/go-cidutil v0.1.0 h1:RW5hO7Vcf16dplUU60Hs0AKDkQAVPVplr7lk97CFL+Q github.com/ipfs/go-cidutil v0.1.0/go.mod h1:e7OEVBMIv9JaOxt9zaGEmAoSlXW9jdFZ5lP/0PwcfpA= github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= -github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.1.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= -github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= github.com/ipfs/go-datastore v0.5.1/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= @@ -617,7 +613,6 @@ github.com/ipfs/go-fs-lock v0.0.6/go.mod h1:OTR+Rj9sHiRubJh3dRhD15Juhd/+w6VPOY28 github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U= github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= -github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE= github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7PTTDQNsQ= github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= @@ -662,7 +657,6 @@ github.com/ipfs/go-ipld-cbor v0.1.0 h1:dx0nS0kILVivGhfWuB6dUpMa/LAwElHPw1yOGYopo github.com/ipfs/go-ipld-cbor v0.1.0/go.mod h1:U2aYlmVrJr2wsUBU67K4KgepApSZddGRDWBYR0H4sCk= github.com/ipfs/go-ipld-format v0.0.1/go.mod h1:kyJtbkDALmFHv3QR6et67i35QzO3S0dCDnkOJhcZkms= github.com/ipfs/go-ipld-format v0.0.2/go.mod h1:4B6+FM2u9OJ9zCV+kSbgFAZlOrv1Hqbf0INGQgiKf9k= -github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= github.com/ipfs/go-ipld-format v0.3.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= github.com/ipfs/go-ipld-format v0.4.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U= @@ -685,7 +679,6 @@ github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= github.com/ipfs/go-merkledag v0.2.3/go.mod h1:SQiXrtSts3KGNmgOzMICy5c0POOpUNQLvB3ClKnBAlk= github.com/ipfs/go-merkledag v0.2.4/go.mod h1:SQiXrtSts3KGNmgOzMICy5c0POOpUNQLvB3ClKnBAlk= -github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= github.com/ipfs/go-merkledag v0.11.0 h1:DgzwK5hprESOzS4O1t/wi6JDpyVQdvm9Bs59N/jqfBY= github.com/ipfs/go-merkledag v0.11.0/go.mod h1:Q4f/1ezvBiJV0YCIXvt51W/9/kqJGH4I1LsA7+djsM4= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= @@ -706,20 +699,15 @@ github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc= github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8= github.com/ipld/go-car/v2 v2.13.1 h1:KnlrKvEPEzr5IZHKTXLAEub+tPrzeAFQVRlSQvuxBO4= github.com/ipld/go-car/v2 v2.13.1/go.mod h1:QkdjjFNGit2GIkpQ953KBwowuoukoM75nP/JI1iDJdo= -github.com/ipld/go-codec-dagpb v1.2.0/go.mod h1:6nBN7X7h8EOsEejZGqC7tej5drsdBAXbMHyBT+Fne5s= github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc= github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s= github.com/ipld/go-ipld-prime v0.0.2-0.20191108012745-28a82f04c785/go.mod h1:bDDSvVz7vaK12FNvMeRYnpRFkSUPNQOiCYQezMD/P3w= -github.com/ipld/go-ipld-prime v0.9.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= -github.com/ipld/go-ipld-prime v0.10.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= github.com/ipld/go-ipld-prime v0.19.0/go.mod h1:Q9j3BaVXwaA3o5JUDNvptDDr/x8+F7FG6XJ8WI3ILg4= github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E= github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ= github.com/ipld/go-ipld-prime-proto v0.0.0-20191113031812-e32bd156a1e5/go.mod h1:gcvzoEDBjwycpXt3LBE061wT9f46szXGHAmj9uoP6fU= github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20230102063945-1a409dc236dd h1:gMlw/MhNr2Wtp5RwGdsW23cs+yCuj9k2ON7i9MiJlRo= github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20230102063945-1a409dc236dd/go.mod h1:wZ8hH8UxeryOs4kJEJaiui/s00hDSbE37OKsL47g+Sw= -github.com/ipld/go-ipld-selector-text-lite v0.0.1 h1:lNqFsQpBHc3p5xHob2KvEg/iM5dIFn6iw4L/Hh+kS1Y= -github.com/ipld/go-ipld-selector-text-lite v0.0.1/go.mod h1:U2CQmFb+uWzfIEF3I1arrDa5rwtj00PrpiwwCO+k1RM= github.com/ipni/go-libipni v0.0.8 h1:0wLfZRSBG84swmZwmaLKul/iB/FlBkkl9ZcR1ub+Z+w= github.com/ipni/go-libipni v0.0.8/go.mod h1:paYP9U4N3/vOzGCuN9kU972vtvw9JUcQjOKyiCFGwRk= github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 h1:QG4CGBqCeuBo6aZlGAamSkxWdgWfZGeE49eUOWJPA4c= diff --git a/itests/kit/node_opts.go b/itests/kit/node_opts.go index 89aee322a51..89c04b1c766 100644 --- a/itests/kit/node_opts.go +++ b/itests/kit/node_opts.go @@ -43,7 +43,6 @@ type nodeOpts struct { disableLibp2p bool optBuilders []OptBuilder sectorSize abi.SectorSize - maxStagingDealsBytes int64 minerNoLocalSealing bool // use worker minerAssigner string disallowRemoteFinalize bool @@ -107,14 +106,6 @@ func WithSubsystems(systems ...MinerSubsystem) NodeOpt { return nil } } - -func WithMaxStagingDealsBytes(size int64) NodeOpt { - return func(opts *nodeOpts) error { - opts.maxStagingDealsBytes = size - return nil - } -} - func WithNoLocalSealing(nope bool) NodeOpt { return func(opts *nodeOpts) error { opts.minerNoLocalSealing = nope diff --git a/lib/promise/promise.go b/lib/promise/promise.go deleted file mode 100644 index 02e917ca121..00000000000 --- a/lib/promise/promise.go +++ /dev/null @@ -1,53 +0,0 @@ -package promise - -import ( - "context" - "sync" -) - -type Promise[T any] struct { - val T - done chan struct{} - mu sync.Mutex -} - -func (p *Promise[T]) Set(val T) { - p.mu.Lock() - defer p.mu.Unlock() - - // Set value - p.val = val - - // Initialize the done channel if it hasn't been initialized - if p.done == nil { - p.done = make(chan struct{}) - } - - // Signal that the value is set - close(p.done) -} - -func (p *Promise[T]) Val(ctx context.Context) T { - p.mu.Lock() - // Initialize the done channel if it hasn't been initialized - if p.done == nil { - p.done = make(chan struct{}) - } - p.mu.Unlock() - - select { - case <-ctx.Done(): - return *new(T) - case <-p.done: - p.mu.Lock() - val := p.val - p.mu.Unlock() - return val - } -} - -func (p *Promise[T]) IsSet() bool { - p.mu.Lock() - defer p.mu.Unlock() - return p.done != nil -} diff --git a/lib/promise/promise_test.go b/lib/promise/promise_test.go deleted file mode 100644 index c2e9b656e95..00000000000 --- a/lib/promise/promise_test.go +++ /dev/null @@ -1,65 +0,0 @@ -package promise - -import ( - "context" - "sync" - "testing" - "time" -) - -func TestPromiseSet(t *testing.T) { - p := &Promise[int]{} - - p.Set(42) - if p.val != 42 { - t.Fatalf("expected 42, got %v", p.val) - } -} - -func TestPromiseVal(t *testing.T) { - p := &Promise[int]{} - - p.Set(42) - - ctx := context.Background() - val := p.Val(ctx) - - if val != 42 { - t.Fatalf("expected 42, got %v", val) - } -} - -func TestPromiseValWaitsForSet(t *testing.T) { - p := &Promise[int]{} - var val int - - var wg sync.WaitGroup - wg.Add(1) - - go func() { - defer wg.Done() - ctx := context.Background() - val = p.Val(ctx) - }() - - time.Sleep(100 * time.Millisecond) // Give some time for the above goroutine to execute - p.Set(42) - wg.Wait() - - if val != 42 { - t.Fatalf("expected 42, got %v", val) - } -} - -func TestPromiseValContextCancel(t *testing.T) { - p := &Promise[int]{} - ctx, cancel := context.WithCancel(context.Background()) - cancel() // Cancel the context - - val := p.Val(ctx) - - var zeroValue int - if val != zeroValue { - t.Fatalf("expected zero-value, got %v", val) - } -} diff --git a/metrics/metrics.go b/metrics/metrics.go index 85b9d82ec20..c47642dc4a2 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -74,22 +74,6 @@ var ( PeerCount = stats.Int64("peer/count", "Current number of FIL peers", stats.UnitDimensionless) APIRequestDuration = stats.Float64("api/request_duration_ms", "Duration of API requests", stats.UnitMilliseconds) - // graphsync - - GraphsyncReceivingPeersCount = stats.Int64("graphsync/receiving_peers", "number of peers we are receiving graphsync data from", stats.UnitDimensionless) - GraphsyncReceivingActiveCount = stats.Int64("graphsync/receiving_active", "number of active receiving graphsync transfers", stats.UnitDimensionless) - GraphsyncReceivingCountCount = stats.Int64("graphsync/receiving_pending", "number of pending receiving graphsync transfers", stats.UnitDimensionless) - GraphsyncReceivingTotalMemoryAllocated = stats.Int64("graphsync/receiving_total_allocated", "amount of block memory allocated for receiving graphsync data", stats.UnitBytes) - GraphsyncReceivingTotalPendingAllocations = stats.Int64("graphsync/receiving_pending_allocations", "amount of block memory on hold being received pending allocation", stats.UnitBytes) - GraphsyncReceivingPeersPending = stats.Int64("graphsync/receiving_peers_pending", "number of peers we can't receive more data from cause of pending allocations", stats.UnitDimensionless) - - GraphsyncSendingPeersCount = stats.Int64("graphsync/sending_peers", "number of peers we are sending graphsync data to", stats.UnitDimensionless) - GraphsyncSendingActiveCount = stats.Int64("graphsync/sending_active", "number of active sending graphsync transfers", stats.UnitDimensionless) - GraphsyncSendingCountCount = stats.Int64("graphsync/sending_pending", "number of pending sending graphsync transfers", stats.UnitDimensionless) - GraphsyncSendingTotalMemoryAllocated = stats.Int64("graphsync/sending_total_allocated", "amount of block memory allocated for sending graphsync data", stats.UnitBytes) - GraphsyncSendingTotalPendingAllocations = stats.Int64("graphsync/sending_pending_allocations", "amount of block memory on hold from sending pending allocation", stats.UnitBytes) - GraphsyncSendingPeersPending = stats.Int64("graphsync/sending_peers_pending", "number of peers we can't send more data to cause of pending allocations", stats.UnitDimensionless) - // chain ChainNodeHeight = stats.Int64("chain/node_height", "Current Height of the node", stats.UnitDimensionless) ChainNodeHeightExpected = stats.Int64("chain/node_height_expected", "Expected Height of the node", stats.UnitDimensionless) @@ -580,56 +564,6 @@ var ( Aggregation: view.Sum(), } - // graphsync - GraphsyncReceivingPeersCountView = &view.View{ - Measure: GraphsyncReceivingPeersCount, - Aggregation: view.LastValue(), - } - GraphsyncReceivingActiveCountView = &view.View{ - Measure: GraphsyncReceivingActiveCount, - Aggregation: view.LastValue(), - } - GraphsyncReceivingCountCountView = &view.View{ - Measure: GraphsyncReceivingCountCount, - Aggregation: view.LastValue(), - } - GraphsyncReceivingTotalMemoryAllocatedView = &view.View{ - Measure: GraphsyncReceivingTotalMemoryAllocated, - Aggregation: view.LastValue(), - } - GraphsyncReceivingTotalPendingAllocationsView = &view.View{ - Measure: GraphsyncReceivingTotalPendingAllocations, - Aggregation: view.LastValue(), - } - GraphsyncReceivingPeersPendingView = &view.View{ - Measure: GraphsyncReceivingPeersPending, - Aggregation: view.LastValue(), - } - GraphsyncSendingPeersCountView = &view.View{ - Measure: GraphsyncSendingPeersCount, - Aggregation: view.LastValue(), - } - GraphsyncSendingActiveCountView = &view.View{ - Measure: GraphsyncSendingActiveCount, - Aggregation: view.LastValue(), - } - GraphsyncSendingCountCountView = &view.View{ - Measure: GraphsyncSendingCountCount, - Aggregation: view.LastValue(), - } - GraphsyncSendingTotalMemoryAllocatedView = &view.View{ - Measure: GraphsyncSendingTotalMemoryAllocated, - Aggregation: view.LastValue(), - } - GraphsyncSendingTotalPendingAllocationsView = &view.View{ - Measure: GraphsyncSendingTotalPendingAllocations, - Aggregation: view.LastValue(), - } - GraphsyncSendingPeersPendingView = &view.View{ - Measure: GraphsyncSendingPeersPending, - Aggregation: view.LastValue(), - } - // rcmgr RcmgrAllowConnView = &view.View{ Measure: RcmgrAllowConn, @@ -710,19 +644,6 @@ var views = []*view.View{ PeerCountView, APIRequestDurationView, - GraphsyncReceivingPeersCountView, - GraphsyncReceivingActiveCountView, - GraphsyncReceivingCountCountView, - GraphsyncReceivingTotalMemoryAllocatedView, - GraphsyncReceivingTotalPendingAllocationsView, - GraphsyncReceivingPeersPendingView, - GraphsyncSendingPeersCountView, - GraphsyncSendingActiveCountView, - GraphsyncSendingCountCountView, - GraphsyncSendingTotalMemoryAllocatedView, - GraphsyncSendingTotalPendingAllocationsView, - GraphsyncSendingPeersPendingView, - RcmgrAllowConnView, RcmgrBlockConnView, RcmgrAllowStreamView, diff --git a/node/builder.go b/node/builder.go index cadd5c64ce1..2ea9dcac55c 100644 --- a/node/builder.go +++ b/node/builder.go @@ -99,7 +99,6 @@ const ( RunHelloKey RunChainExchangeKey - RunChainGraphsync RunPeerMgrKey HandleIncomingBlocksKey diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 3b6bb408fb5..82f272c6cff 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -1028,25 +1028,26 @@ func (a *EthModule) applyMessage(ctx context.Context, msg *types.Message, tsk ty return nil, xerrors.Errorf("cannot get tipset: %w", err) } - applyTsMessages := true - if os.Getenv("LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS") == "1" { - applyTsMessages = false - } - - // Try calling until we find a height with no migration. - for { - res, err = a.StateManager.CallWithGas(ctx, msg, []types.ChainMsg{}, ts, applyTsMessages) - if err != stmgr.ErrExpensiveFork { - break - } - ts, err = a.Chain.GetTipSetFromKey(ctx, ts.Parents()) + if ts.Height() > 0 { + pts, err := a.Chain.GetTipSetFromKey(ctx, ts.Parents()) if err != nil { - return nil, xerrors.Errorf("getting parent tipset: %w", err) + return nil, xerrors.Errorf("failed to find a non-forking epoch: %w", err) + } + // Check for expensive forks from the parents to the tipset, including nil tipsets + if a.StateManager.HasExpensiveForkBetween(pts.Height(), ts.Height()+1) { + return nil, stmgr.ErrExpensiveFork } } + + st, _, err := a.StateManager.TipSetState(ctx, ts) + if err != nil { + return nil, xerrors.Errorf("cannot get tipset state: %w", err) + } + res, err = a.StateManager.ApplyOnStateWithGas(ctx, st, msg, ts) if err != nil { - return nil, xerrors.Errorf("CallWithGas failed: %w", err) + return nil, xerrors.Errorf("ApplyWithGasOnState failed: %w", err) } + if res.MsgRct.ExitCode.IsError() { reason := parseEthRevert(res.MsgRct.Return) return nil, xerrors.Errorf("message execution failed: exit %s, revert reason: %s, vm error: %s", res.MsgRct.ExitCode, reason, res.Error) diff --git a/node/modules/storageminer.go b/node/modules/storageminer.go index dd39ec2ae6e..01f293b8f4a 100644 --- a/node/modules/storageminer.go +++ b/node/modules/storageminer.go @@ -44,10 +44,6 @@ import ( "github.com/filecoin-project/lotus/storage/wdpost" ) -var ( - StagingAreaDirName = "deal-staging" -) - type UuidWrapper struct { v1api.FullNode } diff --git a/node/repo/fsrepo.go b/node/repo/fsrepo.go index 1ffc1509fba..98d0bd01b47 100644 --- a/node/repo/fsrepo.go +++ b/node/repo/fsrepo.go @@ -74,11 +74,6 @@ type RepoType interface { APIInfoEnvVars() (string, []string, []string) } -// SupportsStagingDeals is a trait for services that support staging deals -type SupportsStagingDeals interface { - SupportsStagingDeals() -} - var FullNode fullNode type fullNode struct { @@ -108,8 +103,6 @@ var StorageMiner storageMiner type storageMiner struct{} -func (storageMiner) SupportsStagingDeals() {} - func (storageMiner) Type() string { return "StorageMiner" } @@ -131,35 +124,6 @@ func (storageMiner) APIInfoEnvVars() (primary string, fallbacks []string, deprec return "MINER_API_INFO", nil, []string{"STORAGE_API_INFO"} } -var Markets markets - -type markets struct{} - -func (markets) SupportsStagingDeals() {} - -func (markets) Type() string { - return "Markets" -} - -func (markets) Config() interface{} { - return config.DefaultStorageMiner() -} - -func (markets) APIFlags() []string { - // support split markets-miner and monolith deployments. - return []string{"markets-api-url", "miner-api-url"} -} - -func (markets) RepoFlags() []string { - // support split markets-miner and monolith deployments. - return []string{"markets-repo", "miner-repo"} -} - -func (markets) APIInfoEnvVars() (primary string, fallbacks []string, deprecated []string) { - // support split markets-miner and monolith deployments. - return "MARKETS_API_INFO", []string{"MINER_API_INFO"}, nil -} - type worker struct { } diff --git a/node/repo/fsrepo_ds.go b/node/repo/fsrepo_ds.go index a4415692aaf..87dd2b05241 100644 --- a/node/repo/fsrepo_ds.go +++ b/node/repo/fsrepo_ds.go @@ -5,9 +5,7 @@ import ( "os" "path/filepath" - dgbadger "github.com/dgraph-io/badger/v2" "github.com/ipfs/go-datastore" - badger "github.com/ipfs/go-ds-badger2" levelds "github.com/ipfs/go-ds-leveldb" measure "github.com/ipfs/go-ds-measure" ldbopts "github.com/syndtr/goleveldb/leveldb/opt" @@ -18,12 +16,15 @@ type dsCtor func(path string, readonly bool) (datastore.Batching, error) var fsDatastores = map[string]dsCtor{ "metadata": levelDs, +} - // Those need to be fast for large writes... but also need a really good GC :c - "staging": badgerDs, // miner specific +// Helper badgerDs() and its imports are unused +// Leaving here for completeness +// +/* - "client": badgerDs, // client specific -} +dgbadger "github.com/dgraph-io/badger/v2" +badger "github.com/ipfs/go-ds-badger2" func badgerDs(path string, readonly bool) (datastore.Batching, error) { opts := badger.DefaultOptions @@ -34,6 +35,8 @@ func badgerDs(path string, readonly bool) (datastore.Batching, error) { return badger.NewDatastore(path, &opts) } +*/ + func levelDs(path string, readonly bool) (datastore.Batching, error) { return levelds.NewDatastore(path, &levelds.Options{ Compression: ldbopts.NoCompression, diff --git a/node/repo/memrepo.go b/node/repo/memrepo.go index 6a4b416e204..d1e9b214b4a 100644 --- a/node/repo/memrepo.go +++ b/node/repo/memrepo.go @@ -107,14 +107,6 @@ func (lmem *lockedMemRepo) Path() string { panic(err) // only used in tests, probably fine } - if _, ok := lmem.t.(SupportsStagingDeals); ok { - // this is required due to the method makeDealStaging from cmd/lotus-storage-miner/init.go - // deal-staging is the directory deal files are staged in before being sealed into sectors - // for offline deal flow. - if err := os.MkdirAll(filepath.Join(t, "deal-staging"), 0755); err != nil { - panic(err) - } - } if lmem.t == StorageMiner || lmem.t == Worker { lmem.initSectorStore(t) } diff --git a/scripts/generate-lotus-cli.py b/scripts/generate-lotus-cli.py index f7ec70bbb1b..9158dc2e964 100644 --- a/scripts/generate-lotus-cli.py +++ b/scripts/generate-lotus-cli.py @@ -48,7 +48,7 @@ def get_cmd_recursively(cur_cmd): # When --help is generated one needs to make sure none of the # urfave-cli `EnvVars:` defaults get triggered # Unset everything we can find via: grep -ho 'EnvVars:.*' -r * | sort -u - for e in [ "LOTUS_PATH", "LOTUS_MARKETS_PATH", "LOTUS_MINER_PATH", "LOTUS_STORAGE_PATH", "LOTUS_WORKER_PATH", "WORKER_PATH", "LOTUS_PANIC_REPORT_PATH", "WALLET_PATH" ]: + for e in [ "LOTUS_PATH", "LOTUS_MINER_PATH", "LOTUS_STORAGE_PATH", "LOTUS_WORKER_PATH", "WORKER_PATH", "LOTUS_PANIC_REPORT_PATH", "WALLET_PATH" ]: os.environ.pop(e, None) # Set env var telling the binaries that we're generating docs From 5fc21923dbaf3ae773849e8d18b8a740cd29244f Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Wed, 19 Jun 2024 10:56:42 -0400 Subject: [PATCH 42/48] small fix in changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2b0b791d6b..f1dd98ebde0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ # v1.27.1-rc2 / 2024-06-17 -This is the first release candidate of the upcoming optional release of Lotus v1.27.1 +This is the second release candidate of the upcoming optional release of Lotus v1.27.1 ## ☢️ Upgrade Warnings ☢️ From 9aa0f937565aa89eb8f56e45217a7481dc927b79 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 20 Jun 2024 10:35:31 +1000 Subject: [PATCH 43/48] fix: release: update goreleaser config file Fixes: https://github.com/filecoin-project/lotus/issues/12120 --- .goreleaser.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index bf620071457..7b94168c612 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,3 +1,7 @@ +# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json + +version: 2 + project_name: lotus universal_binaries: @@ -79,7 +83,7 @@ release: name_template: "v{{.Version}}" brews: - - tap: + - repository: owner: filecoin-project name: homebrew-lotus branch: master @@ -93,7 +97,7 @@ brews: system "#{bin}/lotus --version" system "#{bin}/lotus-miner --version" system "#{bin}/lotus-worker --version" - folder: Formula + directory: Formula homepage: "https://filecoin.io" description: "A homebrew cask for installing filecoin-project/lotus on MacOS" license: MIT From ac959732789975c9210f116af9667821165940db Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Thu, 20 Jun 2024 09:45:02 -0400 Subject: [PATCH 44/48] fix go releaser and test with rc3 --- CHANGELOG.md | 5 +++-- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 4 ++-- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 9 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1dd98ebde0..48027618165 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ ## Improvements -# v1.27.1-rc2 / 2024-06-17 +# v1.27.1-rc2 / 2024-06-20 -This is the second release candidate of the upcoming optional release of Lotus v1.27.1 +This is the third release candidate of the upcoming optional release of Lotus v1.27.1 ## ☢️ Upgrade Warnings ☢️ @@ -131,6 +131,7 @@ There is no change in the behaviour when a call returns an error, as the error o - chore: Remove forgotten graphsync references ([filecoin-project/lotus#12084](https://github.com/filecoin-project/lotus/pull/12084)) - chore: types: remove more items forgotten after markets ([filecoin-project/lotus#12095](https://github.com/filecoin-project/lotus/pull/12095)) - chore: api: the Net API/CLI now remains only on daemon ([filecoin-project/lotus#12100](https://github.com/filecoin-project/lotus/pull/12100)) +- fix: release: update goreleaser config filei #12120 ## Contributors diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 3c0931647cf..6b95b64875b 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc2" + "version": "1.27.1-rc3" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index bbd7f4b6bc1..9db28d0a19b 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc2" + "version": "1.27.1-rc3" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 77259c3e94f..aa0f9f90b17 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc2" + "version": "1.27.1-rc3" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 201dec42c20..0e50cf64085 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc2" + "version": "1.27.1-rc3" }, "methods": [ { diff --git a/build/version.go b/build/version.go index b4271e6e5c1..f31c5edd338 100644 --- a/build/version.go +++ b/build/version.go @@ -39,7 +39,7 @@ func BuildTypeString() string { } // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.27.1-rc2" +const NodeBuildVersion string = "1.27.1-rc3" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { @@ -50,7 +50,7 @@ func NodeUserVersion() BuildVersion { } // MinerBuildVersion is the local build version of the Lotus miner -const MinerBuildVersion = "1.27.1-rc2" +const MinerBuildVersion = "1.27.1-rc3" func MinerUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index db536a4dd05..28c83819fcb 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc2 + 1.27.1-rc3 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 6bc4ef6fa1c..b0ff13420ae 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc2 + 1.27.1-rc3 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 65454899afd..8ea8dc0c443 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc2 + 1.27.1-rc3 COMMANDS: daemon Start a lotus daemon process From efaa99862309ac2c9a2ea0b8b24f8a967da533f6 Mon Sep 17 00:00:00 2001 From: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> Date: Thu, 20 Jun 2024 10:13:49 -0400 Subject: [PATCH 45/48] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48027618165..8e0f0e28f88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ ## Improvements -# v1.27.1-rc2 / 2024-06-20 +# v1.27.1-rc3 / 2024-06-20 This is the third release candidate of the upcoming optional release of Lotus v1.27.1 From 8e7cd7d5d8a1fc79349ffa8d904dc22c803e1912 Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Mon, 24 Jun 2024 14:18:19 -0400 Subject: [PATCH 46/48] lotus v1.27.1 prep --- CHANGELOG.md | 4 ++-- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 4 ++-- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e0f0e28f88..868bf731116 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ ## Improvements -# v1.27.1-rc3 / 2024-06-20 +# v1.27.1 / 2024-06-24 -This is the third release candidate of the upcoming optional release of Lotus v1.27.1 +This release, v1.27.1, is an OPTIONAL lotus release. It is HIGHLY RECOMMENDED for node operators that are building Filecoin index off lotus! ## ☢️ Upgrade Warnings ☢️ diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 6b95b64875b..c56ded102fd 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc3" + "version": "1.27.1" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 9db28d0a19b..cc702401b35 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc3" + "version": "1.27.1" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index aa0f9f90b17..c5390cbe035 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc3" + "version": "1.27.1" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 0e50cf64085..d962d914484 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.27.1-rc3" + "version": "1.27.1" }, "methods": [ { diff --git a/build/version.go b/build/version.go index f31c5edd338..ed0e0c84051 100644 --- a/build/version.go +++ b/build/version.go @@ -39,7 +39,7 @@ func BuildTypeString() string { } // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.27.1-rc3" +const NodeBuildVersion string = "1.27.1" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { @@ -50,7 +50,7 @@ func NodeUserVersion() BuildVersion { } // MinerBuildVersion is the local build version of the Lotus miner -const MinerBuildVersion = "1.27.1-rc3" +const MinerBuildVersion = "1.27.1" func MinerUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 28c83819fcb..dbf8853ba33 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc3 + 1.27.1 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index b0ff13420ae..d5477b97796 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc3 + 1.27.1 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 8ea8dc0c443..f7e504f00c0 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.27.1-rc3 + 1.27.1 COMMANDS: daemon Start a lotus daemon process From f0dafcb961a5a3093acf44296e277b00bfb91dc1 Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Mon, 24 Jun 2024 21:15:23 -0400 Subject: [PATCH 47/48] address review - resolve one more conflicts - revert 2 new line added --- .github/workflows/release.yml | 8 -------- CHANGELOG.md | 1 - Makefile | 1 + scripts/version-check.sh | 1 - 4 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6e1f4fd15c3..12ea6e3f90e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -86,11 +86,7 @@ jobs: runs-on: ubuntu-latest needs: [build] env: -<<<<<<< HEAD - PUBLISH: ${{ startsWith(github.ref, 'refs/tags/') }} -======= PUBLISH: ${{ startsWith(inputs.ref || github.ref, 'refs/tags/') }} ->>>>>>> release/v1.27.1 steps: - uses: actions/checkout@v4 with: @@ -113,13 +109,9 @@ jobs: with: name: lotus-macOS-ARM64 path: darwin_arm64 -<<<<<<< HEAD - - uses: ./.github/actions/install-go -======= - uses: ./actions/.github/actions/install-go with: working-directory: lotus ->>>>>>> release/v1.27.1 - uses: ipfs/download-ipfs-distribution-action@v1 with: name: kubo diff --git a/CHANGELOG.md b/CHANGELOG.md index 92027d50d9e..868bf731116 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4217,7 +4217,6 @@ This is a **highly recommended** but optional Lotus v1.11.1 release that introd - Release Template: remove binary validation step ([filecoin-project/lotus#6709](https://github.com/filecoin-project/lotus/pull/6709)) - Reset of the interop network ([filecoin-project/lotus#6689](https://github.com/filecoin-project/lotus/pull/6689)) - Update version.go to 1.11.1 ([filecoin-project/lotus#6621](https://github.com/filecoin-project/lotus/pull/6621)) -- chore: pin golanglint-ci to v1.58.2 ([filecoin-project/lotus#12054](https://github.com/filecoin-project/lotus/pull/12054)) ## Contributors diff --git a/Makefile b/Makefile index d78737d8f8f..1a81ed4f08b 100644 --- a/Makefile +++ b/Makefile @@ -383,3 +383,4 @@ docsgen-cli: lotus lotus-miner lotus-worker print-%: @echo $*=$($*) + diff --git a/scripts/version-check.sh b/scripts/version-check.sh index d41317cb69c..4099c800ebb 100755 --- a/scripts/version-check.sh +++ b/scripts/version-check.sh @@ -32,7 +32,6 @@ function validate_lotus_version_matches_tag(){ _lotus_path=$1 - if [[ "$GITHUB_REF" == refs/tags/* ]]; then validate_lotus_version_matches_tag "${_lotus_path}" "${GITHUB_REF#refs/tags/}" else From 13f18157d67e51cc44cc6cd317bd389a1041753e Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Tue, 25 Jun 2024 11:49:06 +1000 Subject: [PATCH 48/48] doc: events: note events db migration impact --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 868bf731116..b8e06a3e485 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ This release, v1.27.1, is an OPTIONAL lotus release. It is HIGHLY RECOMMENDED fo - This Lotus release completely removes the Legacy Lotus/Lotus-Miner Markets sub-system from the codebase, which was announced to reach EOL on January 31, 2023. - The **Curio Storage** software, designed to simplify the setup and operation of storage providers, has moved to their own Github-repository: https://github.com/filecoin-project/curio. +- The events subsystem includes some minor correctness fixes and performance improvements. Nodes operators running Lotus with events turned on (off by default) may experience some delay in initial start-up as a minor database migration takes place and the write-ahead log is compacted. See [filecoin-project/lotus#11952](https://github.com/filecoin-project/lotus/pull/11952) and [filecoin-project/lotus#12090](https://github.com/filecoin-project/lotus/pull/12090) for full details. ### JSON-RPC 2.0 Specification Conformance