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

Migrate go-bitswap #63

Merged
merged 1,208 commits into from
Jan 27, 2023
Merged

Migrate go-bitswap #63

merged 1,208 commits into from
Jan 27, 2023

Conversation

Jorropo
Copy link
Contributor

@Jorropo Jorropo commented Jan 26, 2023

Replace #6

Todo:

dirkmc and others added 30 commits March 6, 2020 10:55
This commit was moved from ipfs/go-bitswap@cc1224e
This commit was moved from ipfs/go-bitswap@568a984
Be less aggressive when pruning peers from session

This commit was moved from ipfs/go-bitswap@418d88c
…eers

Simulate DONT_HAVE when peer doesn't respond to want-block (new peers)

This commit was moved from ipfs/go-bitswap@3a82e57
We use these outside of bitswap for testing.


This commit was moved from ipfs/go-bitswap@b58f8fc
fix: re-export testinstance/testnet

This commit was moved from ipfs/go-bitswap@de62939
…ontHaveTimeoutMgrTimeout

fix flaky TestDontHaveTimeoutMgrTimeout

This commit was moved from ipfs/go-bitswap@df360b3
…itingRequests

fix flaky TestRateLimitingRequests

This commit was moved from ipfs/go-bitswap@12021fa
…t-wants

Fix order of session broadcast wants

This commit was moved from ipfs/go-bitswap@cd14e70
And expose a separate function for _just_ getting want-blocks. When the user
runs `ipfs bitswap wantlist`, they expect to see everything the node is
currently looking for.

Co-Authored-By: dirkmc <dirkmdev@gmail.com>


This commit was moved from ipfs/go-bitswap@808f5a0
feat: expose the full wantlist through GetWantlist

This commit was moved from ipfs/go-bitswap@694d2f8
This removes one goroutine per peer which tends to be a pretty big deal. This
brings go-ipfs down from 5.5 to 4.5 goroutines per peer.

This commit was moved from ipfs/go-bitswap@5a278ff
guseggert and others added 7 commits August 13, 2022 08:55
feat: split client and server

This commit was moved from ipfs/go-bitswap@5b013e0
This remove the github.com/libp2p/go-libp2p-loggables because AFAIT this is not usefull anymore (we use tracing now).

If people care about uuids in logs, we should log sessions in go-log instead.


This commit was moved from ipfs/go-bitswap@475c27c
@Jorropo Jorropo changed the base branch from migrate-go-bitswap to main January 26, 2023 22:36
@Jorropo Jorropo marked this pull request as ready for review January 26, 2023 22:36
@codecov
Copy link

codecov bot commented Jan 26, 2023

Codecov Report

Merging #63 (3080787) into main (cc954f1) will decrease coverage by 43.18%.
The diff coverage is 10.47%.

Impacted file tree graph

@@             Coverage Diff             @@
##             main      #63       +/-   ##
===========================================
- Coverage   63.77%   20.60%   -43.18%     
===========================================
  Files          33       81       +48     
  Lines        1720     8609     +6889     
===========================================
+ Hits         1097     1774      +677     
- Misses        485     6584     +6099     
- Partials      138      251      +113     
Impacted Files Coverage Δ
bitswap/bitswap.go 0.00% <0.00%> (ø)
bitswap/client/client.go 0.00% <0.00%> (ø)
...ernal/blockpresencemanager/blockpresencemanager.go 0.00% <0.00%> (ø)
bitswap/client/internal/getter/getter.go 0.00% <0.00%> (ø)
...client/internal/messagequeue/donthavetimeoutmgr.go 0.00% <0.00%> (ø)
...tswap/client/internal/messagequeue/messagequeue.go 0.00% <0.00%> (ø)
...wap/client/internal/notifications/notifications.go 0.00% <0.00%> (ø)
bitswap/client/internal/peermanager/peermanager.go 0.00% <0.00%> (ø)
...wap/client/internal/peermanager/peerwantmanager.go 0.00% <0.00%> (ø)
...ernal/providerquerymanager/providerquerymanager.go 0.00% <0.00%> (ø)
... and 38 more

internal/test/flaky.go Outdated Show resolved Hide resolved
I've applied the jackhammer approach, there is probably correct tests in
this set, but I'll leave finding them (and fixing bad ones) to someone
else (including potentially future me).

To enable flaky tests pass RUN_FLAKY_TESTS=1 environement variable.
@Jorropo Jorropo merged commit 9c1b718 into ipfs:main Jan 27, 2023
@Jorropo Jorropo deleted the migrate-go-bitswap branch January 27, 2023 21:44
Jorropo added a commit to Jorropo/lotus that referenced this pull request Jan 27, 2023
Jorropo added a commit to Jorropo/lotus that referenced this pull request Jan 27, 2023
@Jorropo
Copy link
Contributor Author

Jorropo commented Jan 27, 2023

Migrated issues:

$ python3.11 migrate.py issues   --source-repo ipfs/go-bitswap  --dest-repo ipfs/go-libipfs
Transferred issue from https://github.com/ipfs/go-bitswap/issues/599 to https://github.com/ipfs/go-libipfs/issues/66
Transferred issue from https://github.com/ipfs/go-bitswap/issues/592 to https://github.com/ipfs/go-libipfs/issues/67
Transferred issue from https://github.com/ipfs/go-bitswap/issues/591 to https://github.com/ipfs/go-libipfs/issues/68
Transferred issue from https://github.com/ipfs/go-bitswap/issues/589 to https://github.com/ipfs/go-libipfs/issues/69
Transferred issue from https://github.com/ipfs/go-bitswap/issues/587 to https://github.com/ipfs/go-libipfs/issues/70
Transferred issue from https://github.com/ipfs/go-bitswap/issues/586 to https://github.com/ipfs/go-libipfs/issues/71
Transferred issue from https://github.com/ipfs/go-bitswap/issues/576 to https://github.com/ipfs/go-libipfs/issues/72
Transferred issue from https://github.com/ipfs/go-bitswap/issues/560 to https://github.com/ipfs/go-libipfs/issues/73
Transferred issue from https://github.com/ipfs/go-bitswap/issues/559 to https://github.com/ipfs/go-libipfs/issues/74
Transferred issue from https://github.com/ipfs/go-bitswap/issues/557 to https://github.com/ipfs/go-libipfs/issues/75
Transferred issue from https://github.com/ipfs/go-bitswap/issues/556 to https://github.com/ipfs/go-libipfs/issues/76
Transferred issue from https://github.com/ipfs/go-bitswap/issues/555 to https://github.com/ipfs/go-libipfs/issues/77
Transferred issue from https://github.com/ipfs/go-bitswap/issues/554 to https://github.com/ipfs/go-libipfs/issues/78
Transferred issue from https://github.com/ipfs/go-bitswap/issues/550 to https://github.com/ipfs/go-libipfs/issues/79
Transferred issue from https://github.com/ipfs/go-bitswap/issues/548 to https://github.com/ipfs/go-libipfs/issues/80
Transferred issue from https://github.com/ipfs/go-bitswap/issues/533 to https://github.com/ipfs/go-libipfs/issues/81
Transferred issue from https://github.com/ipfs/go-bitswap/issues/532 to https://github.com/ipfs/go-libipfs/issues/82
Transferred issue from https://github.com/ipfs/go-bitswap/issues/525 to https://github.com/ipfs/go-libipfs/issues/83
Transferred issue from https://github.com/ipfs/go-bitswap/issues/510 to https://github.com/ipfs/go-libipfs/issues/84
Transferred issue from https://github.com/ipfs/go-bitswap/issues/501 to https://github.com/ipfs/go-libipfs/issues/85
Transferred issue from https://github.com/ipfs/go-bitswap/issues/493 to https://github.com/ipfs/go-libipfs/issues/86
Transferred issue from https://github.com/ipfs/go-bitswap/issues/467 to https://github.com/ipfs/go-libipfs/issues/87
Transferred issue from https://github.com/ipfs/go-bitswap/issues/443 to https://github.com/ipfs/go-libipfs/issues/88
Transferred issue from https://github.com/ipfs/go-bitswap/issues/428 to https://github.com/ipfs/go-libipfs/issues/89
Transferred issue from https://github.com/ipfs/go-bitswap/issues/419 to https://github.com/ipfs/go-libipfs/issues/90
Transferred issue from https://github.com/ipfs/go-bitswap/issues/397 to https://github.com/ipfs/go-libipfs/issues/91
Transferred issue from https://github.com/ipfs/go-bitswap/issues/391 to https://github.com/ipfs/go-libipfs/issues/92
Transferred issue from https://github.com/ipfs/go-bitswap/issues/372 to https://github.com/ipfs/go-libipfs/issues/93
Transferred issue from https://github.com/ipfs/go-bitswap/issues/370 to https://github.com/ipfs/go-libipfs/issues/94
Transferred issue from https://github.com/ipfs/go-bitswap/issues/368 to https://github.com/ipfs/go-libipfs/issues/95
Transferred issue from https://github.com/ipfs/go-bitswap/issues/109 to https://github.com/ipfs/go-libipfs/issues/96
Transferred issue from https://github.com/ipfs/go-bitswap/issues/108 to https://github.com/ipfs/go-libipfs/issues/97
Transferred issue from https://github.com/ipfs/go-bitswap/issues/81 to https://github.com/ipfs/go-libipfs/issues/98
Transferred issue from https://github.com/ipfs/go-bitswap/issues/67 to https://github.com/ipfs/go-libipfs/issues/99
Transferred issue from https://github.com/ipfs/go-bitswap/issues/55 to https://github.com/ipfs/go-libipfs/issues/100
Transferred issue from https://github.com/ipfs/go-bitswap/issues/20 to https://github.com/ipfs/go-libipfs/issues/101
Transferred issue from https://github.com/ipfs/go-bitswap/issues/1 to https://github.com/ipfs/go-libipfs/issues/102

@Jorropo
Copy link
Contributor Author

Jorropo commented Jan 27, 2023

$ python3.11 migrate.py clean-pull-requests   --source-repo ipfs/go-bitswap  --dest-repo ipfs/go-libipfs
Closing PR: https://github.com/ipfs/go-bitswap/pull/598
Closing PR: https://github.com/ipfs/go-bitswap/pull/593
Closing PR: https://github.com/ipfs/go-bitswap/pull/590
Closing PR: https://github.com/ipfs/go-bitswap/pull/581
Closing PR: https://github.com/ipfs/go-bitswap/pull/578
Closing PR: https://github.com/ipfs/go-bitswap/pull/575
Closing PR: https://github.com/ipfs/go-bitswap/pull/573
Closing PR: https://github.com/ipfs/go-bitswap/pull/561
Closing PR: https://github.com/ipfs/go-bitswap/pull/545
Closing PR: https://github.com/ipfs/go-bitswap/pull/543
Closing PR: https://github.com/ipfs/go-bitswap/pull/529
Closing PR: https://github.com/ipfs/go-bitswap/pull/522
Closing PR: https://github.com/ipfs/go-bitswap/pull/521
Closing PR: https://github.com/ipfs/go-bitswap/pull/520
Closing PR: https://github.com/ipfs/go-bitswap/pull/519
Closing PR: https://github.com/ipfs/go-bitswap/pull/518
Closing PR: https://github.com/ipfs/go-bitswap/pull/517
Closing PR: https://github.com/ipfs/go-bitswap/pull/515
Closing PR: https://github.com/ipfs/go-bitswap/pull/512
Closing PR: https://github.com/ipfs/go-bitswap/pull/511
Closing PR: https://github.com/ipfs/go-bitswap/pull/475
Closing PR: https://github.com/ipfs/go-bitswap/pull/459
Closing PR: https://github.com/ipfs/go-bitswap/pull/414
Closing PR: https://github.com/ipfs/go-bitswap/pull/407
Closing PR: https://github.com/ipfs/go-bitswap/pull/401
Closing PR: https://github.com/ipfs/go-bitswap/pull/389
Closing PR: https://github.com/ipfs/go-bitswap/pull/360
Closing PR: https://github.com/ipfs/go-bitswap/pull/327

@Jorropo
Copy link
Contributor Author

Jorropo commented Jan 27, 2023

Realised it didn't migrated everything, now it crashes with 5 issues remaining:

$ python3.11 migrate.py issues   --source-repo ipfs/go-bitswap  --dest-repo ipfs/go-libipfs
Transferred issue from https://github.com/ipfs/go-bitswap/issues/109 to https://github.com/ipfs/go-libipfs/issues/103
Transferred issue from https://github.com/ipfs/go-bitswap/issues/113 to https://github.com/ipfs/go-libipfs/issues/104
Transferred issue from https://github.com/ipfs/go-bitswap/issues/120 to https://github.com/ipfs/go-libipfs/issues/105
Transferred issue from https://github.com/ipfs/go-bitswap/issues/121 to https://github.com/ipfs/go-libipfs/issues/106
Transferred issue from https://github.com/ipfs/go-bitswap/issues/122 to https://github.com/ipfs/go-libipfs/issues/107
Transferred issue from https://github.com/ipfs/go-bitswap/issues/146 to https://github.com/ipfs/go-libipfs/issues/108
Transferred issue from https://github.com/ipfs/go-bitswap/issues/150 to https://github.com/ipfs/go-libipfs/issues/109
Transferred issue from https://github.com/ipfs/go-bitswap/issues/151 to https://github.com/ipfs/go-libipfs/issues/110
Transferred issue from https://github.com/ipfs/go-bitswap/issues/152 to https://github.com/ipfs/go-libipfs/issues/111
Transferred issue from https://github.com/ipfs/go-bitswap/issues/153 to https://github.com/ipfs/go-libipfs/issues/112
Transferred issue from https://github.com/ipfs/go-bitswap/issues/154 to https://github.com/ipfs/go-libipfs/issues/113
Transferred issue from https://github.com/ipfs/go-bitswap/issues/155 to https://github.com/ipfs/go-libipfs/issues/114
Transferred issue from https://github.com/ipfs/go-bitswap/issues/159 to https://github.com/ipfs/go-libipfs/issues/115
Transferred issue from https://github.com/ipfs/go-bitswap/issues/160 to https://github.com/ipfs/go-libipfs/issues/116
Transferred issue from https://github.com/ipfs/go-bitswap/issues/163 to https://github.com/ipfs/go-libipfs/issues/117
Transferred issue from https://github.com/ipfs/go-bitswap/issues/195 to https://github.com/ipfs/go-libipfs/issues/118
Transferred issue from https://github.com/ipfs/go-bitswap/issues/207 to https://github.com/ipfs/go-libipfs/issues/119
Transferred issue from https://github.com/ipfs/go-bitswap/issues/224 to https://github.com/ipfs/go-libipfs/issues/120
Transferred issue from https://github.com/ipfs/go-bitswap/issues/228 to https://github.com/ipfs/go-libipfs/issues/121
Transferred issue from https://github.com/ipfs/go-bitswap/issues/234 to https://github.com/ipfs/go-libipfs/issues/122
Transferred issue from https://github.com/ipfs/go-bitswap/issues/249 to https://github.com/ipfs/go-libipfs/issues/123
Transferred issue from https://github.com/ipfs/go-bitswap/issues/250 to https://github.com/ipfs/go-libipfs/issues/124
Transferred issue from https://github.com/ipfs/go-bitswap/issues/258 to https://github.com/ipfs/go-libipfs/issues/125
Transferred issue from https://github.com/ipfs/go-bitswap/issues/260 to https://github.com/ipfs/go-libipfs/issues/126
Transferred issue from https://github.com/ipfs/go-bitswap/issues/280 to https://github.com/ipfs/go-libipfs/issues/127
Transferred issue from https://github.com/ipfs/go-bitswap/issues/298 to https://github.com/ipfs/go-libipfs/issues/128
Transferred issue from https://github.com/ipfs/go-bitswap/issues/314 to https://github.com/ipfs/go-libipfs/issues/129
Transferred issue from https://github.com/ipfs/go-bitswap/issues/343 to https://github.com/ipfs/go-libipfs/issues/130
Traceback (most recent call last):
  File "/home/hugo/Documents/Scripts/repo-migration-tools/migrate.py", line 225, in <module>
    migrate()
  File "/home/hugo/.local/share/virtualenvs/repo-migration-tools-_sBQoFKO/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hugo/.local/share/virtualenvs/repo-migration-tools-_sBQoFKO/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/hugo/.local/share/virtualenvs/repo-migration-tools-_sBQoFKO/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hugo/.local/share/virtualenvs/repo-migration-tools-_sBQoFKO/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hugo/.local/share/virtualenvs/repo-migration-tools-_sBQoFKO/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hugo/Documents/Scripts/repo-migration-tools/migrate.py", line 195, in migrate_issues_cmd
    new_issue_number = transfer_issue(token, issue_id, repo_id)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hugo/Documents/Scripts/repo-migration-tools/migrate.py", line 44, in transfer_issue
    return requests.post(
           ^^^^^^^^^^^^^^
KeyError: 'data'

adlrocha added a commit to consensus-shipyard/lotus that referenced this pull request Feb 16, 2023
* Test and fix eth_FeeHistory

* Add test for eth_getStorageAt

* Add test for eth_call

* Change EthBlock.Extradata type to EthBytes

* fix: EthAPI: Drop hack in GetStorageAt

* Eth JSON-RPC: implement web3_clientVersion

* fix lint

* add genesis for ipc gateway

* Remove debug logging

* chore: cli

Standarize cli/code functions similar to: filecoin-project/lotus#9317

- cctx.NArg() instead of cctx.Args().xxx
- Add check for args and print help on functions that did not have it

* fix: rpcenc: Don't hang when source dies

* make docsgen-cli

make docsgen-cli

* fix: EthAPI: Handle EthCall return correctly

* feat: vm: Assert empty object CID when dumping state

* Update codeql to v2

* Enable code ql for release branches

* less strict ArgsCheck

Less strict ArgsCheck

* feat: wdpost: Emit more detailed errors

* Fix panic in EthGetCode

* Update codeql to v2

* Enable code ql for release branches

* Add actors to circ-supply

- Consider funds to EAM as locked
- Add evm, placeholder and ethaccount to circ supply

* devnets starts with nv17

* Use new kit.DisableEthRPC method in test

* make gen

* init git submodules in build-docker CI

* Remove old Snapcraft and AppDir folders

* Always include checked in files in docker context

The .dockerignore file is symlinked to the .gitignore file, and checked
in files should not be removed from our docker context otherwise they
result in dirty git state when we build our images.

* Check git state in Dockerfile to catch .dockerignore bugs

* make jen

- Add builtin.EthereumAddressManagerActorAddr to builtin.go.template and make jen
- Rename to EthereumAddressManagerActorAddr to match pattern of other actors (CronActorAddr/etc)

* chore: all: bump go-libipfs to replace go-block-format

Includes changes from:
- ipfs/go-block-format#37
- ipfs/boxo#58

* init git submodules in build-docker CI

* Remove old Snapcraft and AppDir folders

* Always include checked in files in docker context

The .dockerignore file is symlinked to the .gitignore file, and checked
in files should not be removed from our docker context otherwise they
result in dirty git state when we build our images.

* Check git state in Dockerfile to catch .dockerignore bugs

* Fix lint errors

* Skip some rpc conformance tests

* make gen

* Changed skip message

* fix: don't replace the method in EthSendRawTransaction (#10129)

This will just cause signature validation to fail.

* Remove stm: #integration comment

* Fix comment

* fix: devnets: default to starting from nv17

* Refactor to ensure conformance test can run in circleci

* go fmt

* Standardize path variable

* Update to go-state-types v0.10.0-alpha-11

* chore: node: migrate go-bitswap to go-libipfs/bitswap

This was migrated in ipfs/boxo#63.

* simplify transaction hash db queries, prevent fd leaks

* Refactor: Unify EthTx to FilecoinMessage methods v2 (#10095)

* Refactor: Unify EthTx to FilecoinMessage methods

* Filecoin messages can again be converted to Eth Txs

* All BLS messages should calculated tx hash with unsigned message

* Refactor newEthTxReceipt

* fill in from and to for non-eth transactions

* Hoist nil check out of newEthTxFromMessageLookup

---------

Co-authored-by: Aayush <arajasek94@gmail.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>

* Populate transaction hash database if the database has not been set up before

* rpc: Switch eth_subscribe to reverse calls

* gateway: eth_subscribe support

* itests: Fix TestEthSubscribeLogs

* ethtypes: Serialize EthFilterID/EthSubscriptionID correctly

* eth rpc: Params are optional in eth_subscribe

* fix: cli: add ArgsUsage

fix: cli: add ArgsUsage

* make libp2p user agent overridable

* move UserAgentOption upwards

* Eth JSON-RPC: from in eth_getTransactionByHash is not correctly populated #1614

* Move assigning `from` address to the API level

* Improve the error message

* Add test for EthGetTransactionByHash

* fix: should not serve non v0 api in v1

* Fix: typo

Fix: typo

* Fix: typos

Fix: typos

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typos

Fix: typos

* Fix: typos

Fix: typos

* test: fevm: add in tests for deploying, destroying contracts, recursive calls, sending value (#10082)

adds the following tests to itests/fevm_test.go:
 - recursive tests
 - delegate call tests
 - delegate call recursive tests
 - revert tests
 - destruct tests
 - contract deploy address tests
 - send value to contracts
 - gas limit on value transfer tests
 - sending value to destroyed contracts
adds the test to itests/fevm_address_test.go:
 - deploy contract and confirm address is different second deploy

* merge

* tests that use create2 and destroy to validate evm state

* wip: ipc_gateway in genesis

* deps: Update go-jsonrpc to v0.2.1

* Test: assert all fields returned from EthGetTransactionByHash have expected values

Related to  filecoin-project/lotus#10151 (comment)

* Fix merge conflicts

* Allow f4 address to send to all address types if ID address exists on chain

* fix: extend LOTUS_CHAIN_BADGERSTORE_DISABLE_FSYNC to the markset

Without doing this walking a badger markset on a non-nvme knocks the
node hopelessly out of sync during a compaction.

* review fixes

* gateway: Support all EthModule methods

* node builder: Use gateway eth module in lite mode

* feat: ethrpc: Support filtering by address in subscribe

* itests: Fix TestEthFilterAPIDisabledViaConfig

* Check decoding params for new methods

* Review fixes

* feat: evm: align events implementation with FIP-0049 and FIP-0054. (#10152)

- Event keys are now t1, t2, t3, t4 for topics; and d for data.
- ref-fvm no longer stores events in the blockstore for us. It just
  returns events to the client, who is now responsible for handling
  them as it wishes / according to its configuration.
- Add a flag to VMOpts to have the events AMT be written in the blockstore.
- Add a flag to the ChainStore to advertise to the rest of the system
  if the ChainStore is storing events.
- Enable that flag if the EthRPC is enabled (can also add an explicit
  configuration flag if wanted).

* cli: fix extend cmd to get the right sector number

* todo: rebase master to include release/v1.20.0

* feat: compute a better gas limit for recursive external contract calls

* make gen

* fix: ethtypes: Correct 'no uncles' hash in NewEthBlock

* LOTUS_FEVM_ENABLEETHRPC: Fix env variable name in error

* fix: ethtypes: Correct 'no transactions' hash in NewEthBlock

* fix: null rounds: pass correct timestamp to the FVM.

* itest: fix FEVM tests for upstream changes

* itest: fix: test comment

* itest: fix remaining fevm failures

* improve evm error handling in itests (#10161)

* use WithValue language for test

* clean up test for recursive delegate call count. improved readability (#10195)

* chain: explicitly check that gasLimit is above zero

* add bundle git tag from pack.sh into builtin_actors_gen

* fix: worker: add all task type flag

Add all flag for the `lotus-worker tasks enable/disable` cmd

* Update cmd/lotus-worker/tasks.go

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

* Update cmd/lotus-worker/tasks.go

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

* Update cmd/lotus-worker/tasks.go

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

* make docsgen-cli

make docsgen-cli

* retry make docsgen-cli

retry make docsgen-cli with the new usage

* remove bundle-gen from make gen - not actually useful today anyway

* fvm: chore: update FVM

This:

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

I've chose to:

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

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

However, I _am_ recording the codecs in the database so we don't have to
migrate it later.

* Option to set-seal-delay seconds

Add the option to set-seal-delay in seconds

* make docsgen-cli

make docsgen-cli

* Error if backup file exists

Error out if backup file already exists

* fix: ethrpc: Don't send sub notifs in array

* Update eth_subscribe itests to work with correct responses

* test: build: ignore git tags in embedded metadata

* fix: build: use actual v9 bundles for butterfly

* fix: ethrpc: emit correct bloom filters (#10194)

* skip problematic test vectors.

* feat: actors: Add bytecode getter

* itests: Test EVM bytecode getters, check bytecode hash

* ethrpc: Add missing fields to EthTx

* Update cli/backup.go

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

* feat: eth cli: Strip out empty spaces around contract bytes

* fix: chain: make sure the head is empty, not the code

* bump test vectors.

* remove test vectors bleeding edge job.

We no longer need it because specs-actors is deprecated.
v7 vectors have been merged to master.

* fix: Don't call WalletExport in msg signing flows

* updates butterflynet reset artifacts

* bootstrap node multiaddr
* new genesis file

these files are necessary for others to build lotus and join the new butterflynet, reset on February 08, 2023

* fix: gas: update ffi & correct the message inclusion cost in nv18 (#10228)

Co-authored-by: Raúl Kripalani <raul@protocol.ai>

* refactor: use EthHash for event topics

This ensures they're always 32 bytes and padded, as required.

* fix: eth: strict event parsing

We now enforce the following rules:

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

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

We _skip_ events with unknown keys. We _drop_ events that violate the
above rules.

* Apply suggestions from code review

Co-authored-by: raulk <raul@protocol.ai>

* fix: eth: log on unexpected events

We can remove these later as we add more event types, but this will aid
in debugging.

* fix: make gen

* fix config.yml

* implement itest and handle optional params

* fix typo

* fix: stmgr: make the tipset and height agree when estimating gas (#10216)

* fix: stmgr: make the tipset and height agree when estimating gas

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

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

* fix: stmgr: only apply tipset messages for CallWithGas

* fix: itest: window post dispute

* eth_feeHistory: parse block param correctly.

* add todo

* Update to FFI v1.20.0-rc1

* fix bad test.

* improve TODO.

* Update to go-state-types v0.10.0-rc2

* disable adding git tags to bundle metadata

* Update actors to v10.0.0-rc.1

* eth: FIP-0055: implement final version of transitory delegated signature. (#10239)

* make lint happy and re-generate devgen.car

* setup ipc gateway in genesis and assign initial balance

* override with ipc-actors type to load ipc bundle automatically

* set balance of reward actor according to network name and minor fix

* linter fixes

* make linter happy :)

* deploy ipc subnet actor

* fix config.yml

---------

Co-authored-by: Ian Davis <nospam@iandavis.com>
Co-authored-by: Aayush <arajasek94@gmail.com>
Co-authored-by: ychiao <ychiaoli18@users.noreply.github.com>
Co-authored-by: cryptoAtwill <willes.lau@protocol.ai>
Co-authored-by: Phi <orjan.roren@gmail.com>
Co-authored-by: Łukasz Magiera <magik6k@gmail.com>
Co-authored-by: Geoff Stuart <geoff.vball@gmail.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Geoff Stuart <geoffrey.stuart@protocol.ai>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Jennifer Wang <jiayingw703@gmail.com>
Co-authored-by: Ian Davis <jungziege@gmail.com>
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: Richard Guan <richard.guan@protocol.ai>
Co-authored-by: Maciej Witowski <maciej.witowski@protocol.ai>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: snissn <snissn@gmail.com>
Co-authored-by: Peter Rabbitson <ribasushi@protocol.ai>
Co-authored-by: 0x5459 <0x5459@protonmail.com>
Co-authored-by: Travis Person <travisperson@users.noreply.github.com>
Co-authored-by: Anton Evangelatov <anton.evangelatov@gmail.com>
Co-authored-by: ognots <ognots@protonmail.com>
Jorropo added a commit to Jorropo/lotus that referenced this pull request Feb 17, 2023
This was migrated in ipfs/boxo#63.

(cherry picked from commit d060df2)
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.