Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 7 commits into from
Mar 2, 2023
Merged

Conversation

Stebalien
Copy link
Member

@Stebalien Stebalien commented Mar 1, 2023

Related Issues

requires filecoin-project/filecoin-ffi#379
fixes #10370

Proposed Changes

Execution traces now match what we expose in the FVM. Changes include:

  1. Don't treat "trace" messages like off-chain messages. E.g., don't include CIDs, versions, etc.
  2. Include IPLD codecs where applicable.
  3. Remove fields that aren't filled by the FVM (some errors, code locations, etc.).
  4. Plumb through gas-charge timing information.
  5. Fix a couple of small display bugs in the HTML trace.

Note: this is a breaking change for anyone consuming this API, but it shouldn't be too involved.

Checklist

Before you mark the PR ready for review, please make sure that:

  • Commits have a clear commit message.
  • PR title is in the form of of <PR type>: <area>: <change being made>
    • example: fix: mempool: Introduce a cache for valid signatures
    • PR type: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, test
    • area, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps
  • Tests exist for new functionality or change in behavior
    • Manually tested
  • CI is green

@Stebalien Stebalien force-pushed the steb/new-exec-traces branch 5 times, most recently from 165e1c7 to 822cdce Compare March 1, 2023 01:38
@Stebalien Stebalien marked this pull request as ready for review March 1, 2023 01:40
@Stebalien Stebalien requested a review from a team as a code owner March 1, 2023 01:40
@Stebalien Stebalien requested a review from arajasek March 1, 2023 01:40
chain/types/execresult.go Outdated Show resolved Hide resolved
chain/types/execresult.go Outdated Show resolved Hide resolved
gen/main.go Show resolved Hide resolved
@arajasek
Copy link
Contributor

arajasek commented Mar 1, 2023

Thank you for the PR! This broadly looks good to me, but we are gonna need to discuss the breakages with some of our users -- we have important node operators with somewhat specific usages of the API endpoints here. I agree that it likely won't be too involved, but I think we should:

  • Write up a quick blurb describing the changes.
  • Include that in the 1.21.0 release notes (the release that will likely include this).
  • Reach out to known users of the endpoints here encouraging them to upgrade to 1.21.0 and integrate these changes ahead of the next mandatory release that forces them onto this.

@frrist
Copy link
Member

frrist commented Mar 1, 2023

@arajasek Is merging this into master blocked on your comment? Lily needs this change to collect execution traces successfully, and we plan to reference a commit from master once this is in.

@arajasek
Copy link
Contributor

arajasek commented Mar 1, 2023

@arajasek Is merging this into master blocked on your comment? Lily needs this change to collect execution traces successfully, and we plan to reference a commit from master once this is in.

Nope, I just wanna get general alignment on the plan here.

@Stebalien
Copy link
Member Author

The ExecutionTrace format is changing to account for changes introduced by the FVM.

Specifically:

  • The Msg field no longer matches the Filecoin message format as many of the message fields didn't make sense in on-chain sub-calls. Instead, it now has the fields To, From, Value, Method, Params, and ParamsCodec where ParamsCodec is a new field indicating the IPLD codec of the parameters.
    • Importantly, the Msg.CID field has been removed. This field is still present in top-level invocation results, just not inside the execution trace itself.
  • The MsgRct field no longer includes a GasUsed field and now has a ReturnCodec field to indicating the IPLD codec of the return value.
  • The Error and Duration fields have been removed as these are not set by the FVM. The top-level message "invocation result" retains the Error and Duration fields, they've only been removed from the trace itself.
  • Gas Charges no longer include "virtual" gas fields (those starting with v...) or source location information (loc) as neither field is set by the FVM.

A note on "codecs": FVM parameters and return values are IPLD blocks where the "codec" specifies the data encoding. The codec will generally be one of:

  • 0x51, 0x71 - CBOR or DagCBOR. You should generally treat these as equivalent.
  • 0x55 - Raw bytes.
  • 0x0 - Nothing. If the codec is 0x0, the parameter and/or return value should be empty and should be treated as "void" (not specified).
Old ExecutionTrace:
{
  "Msg": {
    "Version": 0,
    "To": "f01234",
    "From": "f04321",
    "Nonce": 1,
    "Value": "0",
    "GasLimit": 0,
    "GasFeeCap": "1234",
    "GasPremium": "1234",
    "Method": 42,
    "Params": "<base64-data-or-null>",
    "CID": {
        "/": "bafyxyz....."
    },
  },
  "MsgRct": {
    "ExitCode": 0,
    "Return": "<base64-data-or-null>",
    "GasUsed": 12345,
  },
  "Error": "",
  "Duration": 568191845,
  "GasCharges": [
    {
      "Name": "OnMethodInvocation",
      "loc": null,
      "tg": 23856,
      "cg": 23856,
      "sg": 0,
      "vtg": 0,
      "vcg": 0,
      "vsg": 0,
      "tt": 0
    },
    {
      "Name": "wasm_exec",
      "loc": null,
      "tg": 1764,
      "cg": 1764,
      "sg": 0,
      "vtg": 0,
      "vcg": 0,
      "vsg": 0,
      "tt": 0
    },
    {
      "Name": "OnSyscall",
      "loc": null,
      "tg": 14000,
      "cg": 14000,
      "sg": 0,
      "vtg": 0,
      "vcg": 0,
      "vsg": 0,
      "tt": 0
    },
  ],
  "Subcalls": [
    {
      "Msg": { },
      "MsgRct": { },
      "Error": "",
      "Duration": 1235,
      "GasCharges": [],
      "Subcalls": [],
    },
  ]
}
New ExecutionTrace:
{
  "Msg": {
    "To": "f01234",
    "From": "f04321",
    "Value": "0",
    "Method": 42,
    "Params": "<base64-data-or-null>",
    "ParamsCodec": 81
  },
  "MsgRct": {
    "ExitCode": 0,
    "Return": "<base64-data-or-null>",
    "ReturnCodec": 81
  },
  "GasCharges": [
    {
      "Name": "OnMethodInvocation",
      "loc": null,
      "tg": 23856,
      "cg": 23856,
      "tt": 0
    },
    {
      "Name": "wasm_exec",
      "loc": null,
      "tg": 1764,
      "cg": 1764,
      "sg": 0,
      "tt": 0
    },
    {
      "Name": "OnSyscall",
      "loc": null,
      "tg": 14000,
      "cg": 14000,
      "sg": 0,
      "tt": 0
    },
  ],
  "Subcalls": [
    {
      "Msg": { },
      "MsgRct": { },
      "GasCharges": [],
      "Subcalls": [],
    },
  ]
}

Copy link
Contributor

@arajasek arajasek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs the FFI PR merged and tagged in an alpha, but LGTM! This is much cleaner and nicer.

@arajasek
Copy link
Contributor

arajasek commented Mar 1, 2023

@Stebalien Thank you for the notes! Can we please:

This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
This is already specified.
@Stebalien Stebalien merged commit dbbcf4b into master Mar 2, 2023
@Stebalien Stebalien deleted the steb/new-exec-traces branch March 2, 2023 00:02
frrist added a commit to filecoin-project/lily that referenced this pull request Mar 2, 2023
Terryhung pushed a commit to filecoin-project/lily that referenced this pull request Mar 3, 2023
birdychang pushed a commit to filecoin-project/lily that referenced this pull request Mar 8, 2023
* deps: update to lotus 1.20.0-rc2

* chore: update actor gen

- clean up types, remove lily actors types, replace with go-state-types

* Frrist/receipt events schema (#1132)

* feat: implement actor event task and schema

- track the value of EventRoots contained in message receipts.

* feat: implement message param schema and task

- create a table that records raw message parameters

* feat: track raw receipt return value

* fix schema index's after rebase on master

* fix: use builtin lotus method to get events

- it handles the case of legacy events

* fixup! Frrist/receipt events schema (#1132)

* deps: replace deprecated blocks package

- use github.com/ipfs/go-libipfs/blocks instead

* deps: update to v1.20.0 release

* feat: track verifreg actor claim HAMT changes (#1141)

* feat: track verified registry actor claim HAMT changes

- addresses request made here: https://github.com/protocol/pldw/issues/177#issuecomment-1372920524

* fix: correctly diff new actor version (#1145)

* fix: correctly diff new actor version

- closes #1144

* chore: remove unused metrics

* metric: track GettActorStateChanges duration

* feat: update lotus deps to support vm para/ret marshal (#1150)

- use lotus deps from filecoin-project/lotus#10372

* fix: resolve the duplication issue of db migration version

---------

Co-authored-by: Terry <terry@TerrydeMacBook-Pro.local>
arajasek pushed a commit that referenced this pull request Apr 5, 2023
This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
arajasek pushed a commit that referenced this pull request Apr 5, 2023
This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
arajasek pushed a commit that referenced this pull request Apr 5, 2023
This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
ZenGround0 pushed a commit that referenced this pull request Apr 19, 2023
This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
Stebalien added a commit that referenced this pull request Apr 19, 2023
Stebalien added a commit that referenced this pull request Apr 19, 2023
ZenGround0 added a commit that referenced this pull request Apr 19, 2023
* chore: update ffi to increase execution parallelism

* Don't enforce walking receipt tree during compaction

* fix: build: drop drand incentinet servers

* chore: release lotus v1.20.4

* Apply suggestions from code review

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

* feat: Introduce nv19 skeleton

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

Introduce dummy v11 actor bundles

Make new actors adapters

Add upgrade to Upgrade Schedules

make jen

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

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

This is now "FVM" native. Changes include:

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

* feat: implement FIP-0061

* Address review

* Add and test the FIP-0061 migration

* Update actors bundles to fip/20230406

* Update to go-state-types master

* Update to actors v11.0.0-rc1

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

* ffi experiment

* Integration nv19 migration

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

* Post rebase fixup

* Fix

* gen

* nv19 invariant checking

* Try fixig blockstore so bundle is loaded

* Debug

* Fix

* Make butterfly upgrades happen

* Another ffi experiment

* Fix copy paste error

* Actually schedule migration (#10656)

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

* Butterfly artifacts

* Set calibration net upgrade height

* Review Response

* Fix state tree version assert

* Quick butterfly upgrade to sanity check (#10660)

* Quick butterfly upgrade to sanity check

* Update butterfly artifacts

* Revert fake fix

* Give butterfly net correct genesis

* Butterfly artifacts

* Give time before upgrade

---------

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

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

* Update butterfly artifacts

* register actors v11

* Update calibration upgrade time

* State inspection shed cmds

* Fix

* make gen

* Fix swallowed errors

* Lint fixup

---------

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

* v1.22.0-rc3

* bundle fix

* Feat/expedite nv19 (#10681)

* Update go-state-types

* Modify upgrade schedule and params

* Revert fip 0052

* Update gst

* docsgen

* fast butterfly migration to validate migration

* Correct epoch to match specified date

* Update actors v11

* Update changelog build version

* Update butterfly artifacts

* Fix lotus-miner init to work after upgrade

---------

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

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

* Point to stable ffi for stable lotus release

* go mod tidy

---------

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

* Update CHANGELOG.md

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

---------

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: jennijuju <jiayingw703@gmail.com>
Stebalien added a commit that referenced this pull request Apr 19, 2023
ZenGround0 pushed a commit that referenced this pull request Apr 19, 2023
dumikau pushed a commit to protofire/lotus that referenced this pull request Jun 8, 2023
* Fix the overzealous fix (filecoin-project#10366)

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

* chore: deps: update to actors v10.0.0

* build: v1.20.0: release prep (filecoin-project#10368)

* add upgrade epoch and bump version

* Update changelog

---------

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

* feat: stmgr: cache migrated stateroots

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

This is now "FVM" native. Changes include:

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

* fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct

* feat: update renew-sectors with FIP-0045 logic

* Hide `lotus-worker set` command

Hide the `lotus-worker set` command and print that this command will be deprecated.

* chain prune hot -- hotstore online gc

* remove accidental add

* fix: EthAPI: Correctly get parent hash

* make debugging windowPoSt-failures human readable

* make gen

* indent output

* post worker sched: Filter out disabled workers correctly

* itests: Test PoSt worker RPC error handling

* post worker sched: Retry on alternative worker on RPC errors

* make gen

* itests: Wait for both workers in TestWindowPostWorkerDisconnected

* Unbump api version as its not necessary

* deps: Update go-jsonrpc to v0.2.2

* Add command to trigger moving GC of hotstore manually

* Timing info and updated docs

* fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct

* fix: EthAPI: Correctly get parent hash

* v1.20.1 prep

* fix: state: short-circuit genesis state computation

* fix: state: short-circuit genesis state computation

* update changelog

* Begin account for size during walks

* Track size of dags relevant to compaction

* Plan out moving GC limiting

* GC respects target for max hotstore space

* lint

* rpcenc: More reliably failing TestReaderRedirectDrop

* rpcenc: Propagate closeOnce in beginPost

* fix: eth API: correct gateway restrictions, drop unimplemented methods

* refactor: EthAPI: Drop unnecessary param from newEthTxReceipt

* feat(deps): update to go-data-transfer v2, still wip

* chore(deps): update go-libipfs

* chore(deps): update to get to compile

* update minimum Go version to 1.19.7

* use go-libipfs/files instead of ipfs/go-ipfs-files

* fix drand test

* Update .github/ISSUE_TEMPLATE/service_developer_bug_report.yml

* Update .github/ISSUE_TEMPLATE/service_developer_bug_report.yml

* Update service_developer_bug_report.yml

* Update service_developer_bug_report.yml

* Update service_developer_bug_report.yml

* un-un-update filecoin-ffi

* try to add statenetworkname method

* add method implementation

* add MPoolGetNonce

* add two more methods: StateCall and StateDecodeParams

* fix logging

* deprecate MarketListRetrievalDeals, make gen

* Fix up approximation and logging

* run make gen

* small doc patch on how to make gen after api changes

* fix TestPrintGroupInfo

* Eth API: make block parameter parsing sounder.

* Eth API: fail when requesting future epochs.

* add a test to verify block parameter soundness.

* register rcmgr metrics

* replace make all with make deps according to review

* fix: EthAPI: use StateCompute for feeHistory; apply minimum gas premium (filecoin-project#10413)

* cid key size

* computing szPurge leads to deadlock and unneeded, remove

* Review Response

* Lint

* lint

* docsgen-cli

* only register metrics once

* lint

* fix: eth API: return correct txIdx around null blocks (filecoin-project#10419)

* fmt.

* lint

* feat:splitstore:Splitstore enabled by default (filecoin-project#10429)

Discard mode
---------

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

* Review Response

* fix lint.

* Configur buffer and threshold

* lint

* make gen

* fix TestEthBlockHashesCorrect_MultiBlockTipset: skip null rounds.

* switch to ChainAPI#ChainGetTipSetByHeight.

* review comments

* simplify test.

* feat: chain: make fetching tipset by height 1000x faster

* feat: mempool: Reduce minimum replace fee from 1.25x to 1.1x (filecoin-project#10416)

However, we're leaving the default at 1.25x for backwards compatibility, for now.

Also:

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

fixes filecoin-project#10415

* try to add statenetworkname method

* add method implementation

* add MPoolGetNonce

* add two more methods: StateCall and StateDecodeParams

* run make gen

* Eth API: make block parameter parsing sounder.

* Eth API: fail when requesting future epochs.

* add a test to verify block parameter soundness.

* fmt.

* fix lint.

* fix TestEthBlockHashesCorrect_MultiBlockTipset: skip null rounds.

* switch to ChainAPI#ChainGetTipSetByHeight.

* simplify test.

* fix: EthAPI: use StateCompute for feeHistory; apply minimum gas premium (filecoin-project#10413)

* fix: eth API: return correct txIdx around null blocks (filecoin-project#10419)

* feat: mempool: Reduce minimum replace fee from 1.25x to 1.1x (filecoin-project#10416)

However, we're leaving the default at 1.25x for backwards compatibility, for now.

Also:

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

fixes filecoin-project#10415

* make gen

* change log

* fiix bakcport error filecoin-project#10427

* retract v1.20.2

* go mod tidy

* make gen

* feat: cli: Add an EVM command to fetch a contract's bytecode

* feat: eth API: reject masked ID addresses embedded in f410f payloads

We'll never get an actor/account deployed to one of these
addresses (although we might get a placeholder). However, converting
such an address to an f4 address is definitely wrong.

* chore: update the FFI for release (filecoin-project#10435)

Specifically, this updates the proofs libraries and enables CUDA by default.

* feat: stmgr: skip tipset execution when possible

* feat: eth: optimize receipt reading

This optimizes the eth APIs (except the fee history one) to lookup the
tipset state/receipts instead of computing the state.

* feat: api: optimize ChainGetParentReceipts

Read the receipts all at once instead of fetching them one-by-one.

* test: eth: reduce chances of chain-reorgs affecting the test

Now that this API is _much_ faster, we're more likely to "catch up" to
the head faster than it can stabilize. I'm pretty sure the test was
intended to be written this way anyways.

* gateway: fix: drop overzealous guard on MsigGetVested

* eth_feeHistory: migrate to using TipSetState.

* Eth API: drop support for 'pending' block parameter.

After transitioning from using StateCompute to loading receipts,
we can no longer handle the 'pending' block without forcing
computation. Eth Core Devs are evaluating a proposal to remove
support on their end too.

* Eth API: make net_version return the chain ID.

* fix imports.

* remove superfluous filter.

* drop irrelevant test.

* Eth API: make eth_getTransactionByBlock* ops return ErrUnsupported.

* fix: itest: avoid failing the test when we race the miner

I've been seeing quite a few tests failing here, so I'm hoping this will
deflake them a bit.

* feat: eth: Avoid StateCompute in EthTxnReceipt lookup (filecoin-project#10460)

Instead:

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

fixes filecoin-project#10418

Co-authored-by: raulk <raul.kripalani@gmail.com>

* refactor: update cache to the new generic version (filecoin-project#10463)

- Adds type safety.
- Reduces allocations.
- Fixes the drand cache (was storing by value, but retrieving by pointer)

* fix: gateway: correctly apply the fee history lookback max

This fix ensures that the full fee-history range falls into the
allowable lookback rang.

* Plumb through a proper Flush() method on all blockstores

* feat: consensus: log ApplyBlock timing/gas stats

* fix: stmgr: don't attempt to lookup genesis state (filecoin-project#10472)

* fix: stmgr: don't attempt to lookup genesis state

* stmgr: More correct fix for genesis state compute

* Revert "Eth API: drop support for 'pending' block parameter."

This reverts commit 9412753.

* fix: build: drop drand incentinet servers

* feat: gateway: export StateVerifierStatus

* chore: update go-libp2p-pubsub to v0.9.2

* chore: update ffi to increase execution parallelism (filecoin-project#10480)

This changes the default validation parallelism from 1 to 4, and makes
it configurable with a LOTUS_FVM_CONCURRENCY environment variable.

* fix connection gater integration test

* chore: update go-libp2p to v0.26.2

* make mod-tidy ci happy

* update go-libp2p-pubsub to v0.9.3

* update go-jsonrpc to v0.2.3

* ethrpc: Buffer sub messages if subscriber is slow

* make lint happy

* feat: apply gateway lookback limit to eth API lookback

This change:

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

fixes filecoin-project#10412

* fix: actually apply limit

* feat: expose limited apis on the gateway

* fix: eth: handle a potential divide by zero in receipt handling

This isn't really possible to hit on-chain at this piont (message won't
be accepted) but we might as well be extra careful.

fixes filecoin-project#10471

* Don't enforce walking receipt tree during compaction

* Demote now common logs (filecoin-project#10516)

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

* feat:config:force existing users to opt into new defaults (filecoin-project#10488)

* Config default does not comment out EnableSplitstore

* Loadability check

* Remove test used for debugging

* regexp for properly safe check that config is set

* regexp for safely matching the EnableSpitstore field in the config

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

* UpdateConfig small docs and functional opts

* make gen

* Lint

* Fix

* nil pointer check on validate

* Unit testing of EnableSplitstore cases

* Address Review

---------

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

* release v1.21.0-rc1 prep

* chore: build: Update Changelog for v1.21.0

chore: build: Update Changelog for v1.21.0

* Add RPC API highlight

Add RPC API highlight

* Add callout to exchanges

Add callout to exchanges about the execution traces. Also moving the `execution trace format changes` section to above the contributors section.

* fix: miner: correctly count sector extensions

* fix: miner: call ExtendSectorExpiration2

* chore: all: bump go-libipfs

(cherry picked from commit f48c626)

* Initialize with same length as partition

Initialize the postParam.Partitions slice with the same length as i.Partitions before iterating over it in the loop.

* build: docker: Update GO-version

build: docker: Update GO-version

* build: release: v1.21.0-rc2

build: release: v1.21.0-rc2

* Update go.mod

Update go.mod

* Update changelog for v1.21.0-rc2

Update changelog for v1.21.0-rc2

* perf: eth: gas estimate set applyTsMessages false (filecoin-project#10546)

* have gas estimate call callInternal with applyTsMessages = false and other calls with applyTsMessages=true for gas caclulation optimization

* set applyTsMessages = true in CallWithGas call in shed

* update test with new callwithgas api optimization for eth call

* Update chain/stmgr/call.go

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

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

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

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

---------

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-0-4-29.us-east-2.compute.internal>

* feat: supply: drop genesis market locked funds

* feat: supply: only grab genesis msig locks for writes

* Update Changelog with backports

Update Changelog with backports

* Bump version in changelog

Bump version in changelog

* Add longer validation time cause to changelog

Add longer validation time cause to changelog

* refactor: stop using deprecated io/ioutil

* Fix error when injecting StateManager

* new actor bundle, fix ci, upgrade fx

* fix fx version

* upgrade go version circle ci

* make linter happy :)

* more go version fixing

* replace deprecated mac build

* removing support for macos build

* Fix ctrl-c for GOOD

---------

Co-authored-by: ZenGround0 <5515260+ZenGround0@users.noreply.github.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Jennifer Wang <jiayingw703@gmail.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Travis Person <travisperson@users.noreply.github.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Phi <orjan.roren@gmail.com>
Co-authored-by: beck <1504068285@qq.com>
Co-authored-by: Łukasz Magiera <magik6k@gmail.com>
Co-authored-by: hannahhoward <hannah@hannahhoward.net>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Co-authored-by: Arsenii Petrovich <arsenii@protofire.io>
Co-authored-by: Arsenii Petrovich <23522179+ArseniiPetrovich@users.noreply.github.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: ychiao <ychiaoli18@users.noreply.github.com>
Co-authored-by: Travis Person <165274+travisperson@users.noreply.github.com>
Co-authored-by: raulk <raul.kripalani@gmail.com>
Co-authored-by: Peter Rabbitson <ribasushi@leporine.io>
Co-authored-by: vyzo <vyzo@hackzen.org>
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
Co-authored-by: Mikers <snissn@gmail.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-0-4-29.us-east-2.compute.internal>
Co-authored-by: Henrique Moniz <1785239+hmoniz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Include codec in Lotus receipt
3 participants