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

Sync main to forcerelay-test branch #1617

Closed
wants to merge 71 commits into from
Closed

Sync main to forcerelay-test branch #1617

wants to merge 71 commits into from

Conversation

Flouse
Copy link
Contributor

@Flouse Flouse commented Dec 3, 2023

CI Settings

CI Usage

Tip: Check the CI you want to run below, and then comment /run-ci.

CI Switch

  • Web3 Compatible Tests
  • OpenZeppelin tests
  • v3 Core Tests

CI Description

CI Name Description
Web3 Compatible Test Test the Web3 compatibility of Axon
v3 Core Test Run the compatibility tests provided by Uniswap V3
OpenZeppelin tests Run the compatibility tests provided by OpenZeppelin, including OCT 1-5 | 6-10 | 11 | 12-15 | 16-19

dependabot bot and others added 30 commits October 24, 2023 02:38
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…res (#1504)

* chore(CI): RocksDB uses `-march=native`, Axon uses it too

* chore(CI): build a portable binary in CI for different CPU architectures
chore(CI): Remove `Somking test` because it was covered in `Axon start test` workflow
"Do NOT change a tag on a remote repository, unless sensitive data was leaked."
It's just commonly accepted convention in the open-source world.
* test in a random node

* Use test projects under axonweb3

* adjust sed command

* use axonweb3

* use axonweb3
Bumps [Namchee/conventional-pr](https://github.com/namchee/conventional-pr) from 0.14.1 to 0.15.1.
- [Release notes](https://github.com/namchee/conventional-pr/releases)
- [Commits](Namchee/conventional-pr@v0.14.1...v0.15.1)

---
updated-dependencies:
- dependency-name: Namchee/conventional-pr
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor: remove  limitation of set ckb related info

* style: add some annotation
* feat: move axon-tools to axon

* refactor: improve code organization

* test: add axon-tools unit test
* refactor: impl-serde & proof shouldn't be default features

* feat: add no-std version of axon-tools
Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.35.2 to 4.40.1.
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](mikefarah/yq@v4.35.2...v4.40.1)

---
updated-dependencies:
- dependency-name: mikefarah/yq
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(CI): refactor `v3_core_test` workflow

* chore(CI): remove `push` event in workflows/v3_core_test.yml

* chore(CI): rm duplicated code in .github/workflows/v3_core_test.yml
* chore: use a same default value for `max_payload_size`

* chore: remove the useless configuration field `client_version`
docs: eth get proof doc
* chore(CI): refactor `openzeppelin_test_1_5_and_12_15` workflow

* chore(CI): refactor `openzeppelin_test_6_10` workflow

* chore(CI): refactor `openzeppelin_test_11` workflow

* chore(CI): refactor `openzeppelin_test_16_19` workflow

* chore(CI): remove `push` and `pull_request` events in time consuming workflows
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@v6...v7)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
config(blockscan): update INDEXER_CATCHUP_BLOCKS_BATCH_SIZE and INDEXER_CATCHUP_BLOCKS_CONCURRENCY

# Batch size for blocks catchup fetcher, defaults to 10
INDEXER_CATCHUP_BLOCKS_BATCH_SIZE=1
# Concurrency for blocks catchup fetcher, defaults to 10
INDEXER_CATCHUP_BLOCKS_CONCURRENCY=2
Flouse and others added 27 commits November 17, 2023 16:54
* refactor: remove useless code in tests/e2e/config

* chore(CI): refactor `e2e_test` workflow

* chore(CI): rm `sleep 10` in workflows/axon-start-test

* Update .github/workflows/e2e_test.yml
Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.1 to 4.40.2.
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](mikefarah/yq@v4.40.1...v4.40.2)

---
updated-dependencies:
- dependency-name: mikefarah/yq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
set timeout-minutes of v3_core_test
* feat: support stop at specific height

* fix: fix fmt and clippy warnings
* chore: make some structs to be public

* chore: move constants to a lightweight crate
Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.2 to 4.40.3.
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](mikefarah/yq@v4.40.2...v4.40.3)

---
updated-dependencies:
- dependency-name: mikefarah/yq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix eth_getCode_9 failed

* remove spaces

* Update tests/e2e/src/eth_getCode.test.js

Co-authored-by: Flouse <[email protected]>

---------

Co-authored-by: Flouse <[email protected]>
* fix: add rlp encode for some key and value

* Update core/executor/src/adapter/backend/apply.rs

Co-authored-by: Flouse <[email protected]>

---------

Co-authored-by: Flouse <[email protected]>
* refactor!: call reserved system contract is forbidden

* refactor some code

* perf: improve is system contract address format
* chore(CI): fix the step of updating commit status

* chore: rm useless file - tests/e2e/docker-compose.yaml

* refactor(CI): only provide 1 checkbox for all OpenZeppelin tests

in the PR template

* chore(CI): remove pull_request event in v3_core_test
* feat: add ckb MMR proof verify system contract

* feat: add ckb mbt proof verify precompile

* enable CMBTVerify

* follow review opinion

* cargo fmt
fix: `eth_call` shouldn't set `estimate = true`
update openzeppelin-contracts version
* feat(axon-tools): add precompile payload codec

* make sort

* add verify proof function
* fix(axon-tools): cargo clippy --all-features

* refactor workflow
- compare test code: axonweb3/axon-test@df72c7e...5b50a53
- Update web3_compatible.yml
* refactor: change many U256 type to U64
* change some safe as_u64 to low_u64 & cargo fmt
* refactor the gas price and limit check
* refactor prepay gas calculation
* revert max gas limit
* fix e2e test
* Update eth_getBalance.test.js
* remove useless code

This PR is substitute for #1539

Some mainly changes:
* Change the type of `nonce` from `U256` to `U64` according to the [EIP-2681](https://eips.ethereum.org/EIPS/eip-2681) limit the account nonce to be between `0` and `2^64-1`.
 * Change the type of `gas_limit` from `U256` to `U64`. According to the current gas cost of the most complex ethereum transaction is on the order of million, `U64` is enough.
* Change the type of `chain_id` from `U256` to `U64` according to  [metamask limit](https://gist.github.com/rekmarks/a47bd5f2525936c4b8eee31a16345553). The [`ChainId` opcode](https://eips.ethereum.org/EIPS/eip-1344) returns a 256-bit value, so it should not larger than `U256::MAX / 2 - 35`.This issue does not lead to consensus in Ethereum community, however,  I think limit the max chain ID to `4503599627370476` is enough currently. Many temporary L2/L3 need a unique chain ID is the demand of variable-lenght chain ID in foreseeable future. But we do not have the demand now. If the day comes, we can change the chain ID type to `U256` even without hardfork.
* Set the [`Default Max Price`](https://github.com/ethereum/go-ethereum/blob/be65b47/eth/gasprice/gasprice.go#L38) as `500` Gwei that is same as go-ethereum. Meanwhile, change the type of `gas_price` from `U256` to `U64`.

---------

Co-authored-by: sunchengzhu <[email protected]>
Co-authored-by: Flouse <[email protected]>
@Flouse
Copy link
Contributor Author

Flouse commented Dec 4, 2023

Due to too many conflicts, I created a new branch forcerelay-dev (protected) for forcerealy.

@Flouse Flouse closed this Dec 4, 2023
@Flouse Flouse changed the title [Waiting for PR#1615] Sync main to forcerelay-test branch Sync main to forcerelay-test branch Dec 4, 2023
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.

7 participants