Skip to content

Commit

Permalink
Release 2.7.0. (#587)
Browse files Browse the repository at this point in the history
Feat(tracing): Implement callTracer (#538)

Add docker as a prerequisites (#542)

Update dependencies (#541)

Chore: Update js dependencies (#543)

Constant error messages (#535)

chore: Cargo make integration (#378)

Chore: PR template (#548)

Chore: Delete binaries (#553)

Chore(engine): Update to latest version of SputnikVM (#565)

Chore(CI): Update checkout to v3 (#566)

Chore: Disallow as_conversions (#561)

Chore: Update Rust crypto libraries (#568)

Fix(engine-transactions): Prevent panic on empty input (#573)

Feat(engine): Get promise results precompile (#575)

Fix(engine): Return correct value for get_bridge_prover function (#581)

Refactor(Tests): Move test contracts to test etc folder (#577)
Co-authored-by: Michael Birch <[email protected]>

Chore: Cleanup dead dependencies (#571)

Chore(Precompiles): Ripemd160 lib deprecated (#570)

Feat(precompiles): Use near host functions for alt_bn128 when compiling wasm artifact (#540)
Co-authored-by: Joshua J. Bouw <[email protected]>

Feat(engine): Cross contract calls (#560)

Chore(eth-contracts): Update openzeppelin to 4.7.3 (#584)

Fix: Make binaries on push (#585)

2.7.0 release prep
  • Loading branch information
joshuajbouw committed Aug 19, 2022
1 parent 7109e30 commit 22c176c
Show file tree
Hide file tree
Showing 124 changed files with 7,607 additions and 4,797 deletions.
47 changes: 47 additions & 0 deletions .env/custom_example.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# To create a new "custom.env" which is then invoked by `--profile custom`, the available
# environment values are below with an explanation.
#
# Simply remove the prefixed `#` to enable them.

# The cargo features should either be `mainnet`, `testnet` or something extra in order to make use
# of your own custom features.
#CARGO_FEATURES_BUILD = "mainnet"

# The cargo test features are used to build a test environment version of the engine WASM and test
# library. Either use `mainnet-test`, `testnet-test` or something extra in order to make use of your
# own custom features.
#CARGO_FEATURES_BUILD_TEST = "mainnet,integration-test"

# The cargo features to enable for the testing environment which will use the compiled binary for
# testing.
#CARGO_FEATURES_TEST

# The NEAR evm account where to deploy.
#
# For our own purposes, we have a special `aurora` TLD which only Aurora Labs can deploy to on both
# testnet and mainnet. Otherwise, use a name similar to `aurora-test.near` to deploy locally or
# elsewhere.
#NEAR_EVM_ACCOUNT = "aurora-test.near"

# The Aurora contract WASM file name.
#
# After building the binary, it will end up in the `bin` folder with this following name.
#WASM_FILE = "aurora-custom.wasm"

# The Aurora contract WASM test file name.
#
# To avoid confusion with the mainnet binary, it is wise to set this as something different as the
# test binary should never go to production and is only used in testing exclusively.
#
# After building the binary, it will end up in the `bin` folder with this following name.
#WASM_FILE_TEST = "aurora-custom-test.wasm"

# The NEAR CLI service name to use.
#
# For live purposes, this should be `near` however if you have setup a local development environment
# for the NEAR blockchain following https://docs.near.org/docs/tools/kurtosis-localnet, you should
# instead use `local-near`.
#NEAR_CLI = "local-near"

# The Rust compilier flags to use when compiling any binary. Does not work for the tests.
#RUSTC_FLAGS_BUILD = "-C link-arg=-s"
6 changes: 6 additions & 0 deletions .env/local.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CARGO_FEATURES_BUILD="testnet"
RUSTC_FLAGS_BUILD="-C link-arg=-s"
NEAR_EVM_ACCOUNT="aurora.test.near"
WASM_FILE="aurora-local.wasm"
NEAR_CLI="local_near"
IS_PROD=false
9 changes: 9 additions & 0 deletions .env/mainnet.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CARGO_FEATURES_BUILD="mainnet"
CARGO_FEATURES_BUILD_TEST="mainnet,integration-test"
CARGO_FEATURES_TEST="mainnet-test"
RUSTC_FLAGS_BUILD="-C link-arg=-s"
NEAR_EVM_ACCOUNT="aurora"
WASM_FILE="aurora-mainnet.wasm"
WASM_FILE_TEST="aurora-mainnet-test.wasm"
NEAR_CLI="near"
IS_PROD=true
9 changes: 9 additions & 0 deletions .env/testnet.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CARGO_FEATURES_BUILD="testnet"
CARGO_FEATURES_BUILD_TEST="testnet,integration-test"
CARGO_FEATURES_TEST="testnet-test"
RUSTC_FLAGS_BUILD="-C link-arg=-s"
NEAR_EVM_ACCOUNT="aurora"
WASM_FILE="aurora-testnet.wasm"
WASM_FILE_TEST="aurora-testnet-test.wasm"
NEAR_CLI="near"
IS_PROD=false
65 changes: 65 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<!--
Thanks for submitting a pull request! Here are some helpful tips:
* Always create branches on and target the `develop` branch.
* Run all the tests locally and ensure that they are passing.
* Run `make format` to ensure that the code is formatted.
* Run `make check` to ensure that all checks passed successfully.
* Small commits and contributions that attempt one single goal is preferable.
* If the idea changes or adds anything functional which will affect users, an
AIP discussion is required first on the Aurora forum:
https://forum.aurora.dev/discussions/AIPs%20(Aurora%20Improvement%20Proposals).
* Avoid breaking the public API (namely in engine/src/lib.rs) unless required.
* If your PR is a WIP, ensure that you enable "draft" mode.
* Your first PRs won't use the CI automatically unless a maintainer starts.
If this is not your first PR, please do NOT abuse the CI resources.
Checklist:
- [ ] I have performed a self-review of my code
- [ ] I have documented my code, particularly in the hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] I have added tests to prove my fix or new feature is effective and works
- [ ] Any dependent changes have been merged
- [ ] The PR is targeting the `develop` branch and not `master`
- [ ] I have pre-squashed my commits into a single commit and rebased.
-->

## Description

<!--
Provide a general summary of your changes. A clear overview along with an
in-depth explanation is beneficial.
If this PR closes any issues, be sure to add "closes #<number>" somewhere.
-->

## Performance / NEAR gas cost considerations

<!--
Performance regressions are not ideal, though we welcome performance
improvements. Any PR must be completely mindful of any gas cost increases. The
CI will fail if the gas costs change at all. Do update these tests to
accommodate for the new gas changes. It is good to explain
this change, if necessary.
-->

## Testing

<!--
Please describe the tests that you ran to verify your changes.
-->

## How should this be reviewed

<!--
Include any recommendations of areas to be careful of to ensure that the
reviewers use extra attention.
-->

## Additional information

<!--
Include any additional information which you think should be in this PR, such
as prior arts, future extensions, unresolved problems, or a TODO list which
should be followed up.
-->
45 changes: 15 additions & 30 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,34 @@ on:
push:
branches:
- master
name: Builds
name: Build
jobs:
release:
name: Release
runs-on: [self-hosted, heavy]
strategy:
matrix:
profile: [mainnet, testnet]
steps:
- name: Clone the repository
uses: actions/checkout@v2
- run: make release
- run: ls -lH mainnet-release.wasm
- name: Upload the mainnet-release.wasm artifact
uses: actions/checkout@v3
- run: cargo make --profile ${{ matrix.profile }} build
- run: ls -lH bin/aurora-${{ matrix.profile }}.wasm
- name: Upload the aurora-${{ matrix.profile }}.wasm artifact
uses: actions/upload-artifact@v2
with:
name: mainnet-release.wasm
path: mainnet-release.wasm
name: aurora-${{ matrix.profile }}.wasm
path: bin/aurora-${{ matrix.profile }}.wasm
- name: Update the latest release
uses: svenstaro/upload-release-action@v2
with:
tag: latest
file: mainnet-release.wasm
overwrite: true
repo_token: ${{ secrets.GITHUB_TOKEN }}
- name: Update the latest tag
uses: EndBug/latest-tag@latest
debug:
name: Debug
runs-on: [self-hosted, heavy]
steps:
- name: Clone the repository
uses: actions/checkout@v2
- run: make debug
- run: ls -lH mainnet-debug.wasm
- name: Upload the mainnet-debug.wasm artifact
uses: actions/upload-artifact@v2
with:
name: mainnet-debug.wasm
path: mainnet-debug.wasm
- name: Update the latest release
uses: svenstaro/upload-release-action@v2
with:
tag: latest
file: mainnet-debug.wasm
file: bin/aurora-${{ matrix.profile }}.wasm
overwrite: true
repo_token: ${{ secrets.GITHUB_TOKEN }}
- name: Update the latest tag
uses: EndBug/latest-tag@latest
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
RUSTC_WRAPPER: sccache
31 changes: 19 additions & 12 deletions .github/workflows/lints.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# See: https://github.com/actions-rs/example/blob/master/.github/workflows/nightly_lints.yml
---
on:
push:
Expand All @@ -10,31 +9,39 @@ on:
name: Lints
jobs:
fmt:
name: rustfmt
name: Format
runs-on: [self-hosted, light]
steps:
- name: Clone the repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Run cargo fmt
run: cargo fmt --all -- --check
run: cargo make check-fmt
clippy:
name: Clippy
runs-on: [self-hosted, heavy]
steps:
- name: Clone the repository
uses: actions/checkout@v2
- run: make etc/eth-contracts/res/EvmErc20.bin
uses: actions/checkout@v3
- run: cargo make build-contracts
- name: Run Contract cargo clippy
run: cargo clippy --no-default-features --features=contract -- -D warnings
run: cargo make clippy
- name: Run cargo clippy
run: cargo clippy

udeps:
name: Udeps
runs-on: [self-hosted, heavy]
steps:
- name: Clone the repository
uses: actions/checkout@v3
- name: Run udeps
run: cargo make udeps
contracts:
name: eth-contracts
name: Contracts
runs-on: [self-hosted, light]
steps:
- name: Clone the repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Run yarn lint
working-directory: etc/eth-contracts
run: yarn && yarn lint
run: cargo make check-contracts
- name: Check committed EvmErc20.bin
run: bash verify_evm_erc20.sh
6 changes: 3 additions & 3 deletions .github/workflows/scheduled_lints.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
on:
schedule:
- cron: '27 8 * * 1,4'
name: Scheduled_Lints
name: Scheduled lints
jobs:
clippy:
name: Nightly_Clippy
name: Nightly Clippy
runs-on: [self-hosted, heavy]
steps:
- name: Clone the repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- run: make etc/eth-contracts/res/EvmErc20.bin
- name: Update toolchain
run: rustup update nightly
Expand Down
40 changes: 13 additions & 27 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,43 +13,29 @@ jobs:
runs-on: [self-hosted, heavy]
steps:
- name: Clone the repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Restore cache
run: |
cache-util restore cargo_git cargo_registry sccache yarn_cache
cache-util restore aurora-engine-target@generic@${{ hashFiles('**/Cargo.lock') }}:target
- run: make mainnet-test-build
- name: List directories
run: ls -la target/wasm32-unknown-unknown/release && ls -la
- run: cargo test --features mainnet-test

- run: make testnet-test-build
- name: List directories
run: ls -la target/wasm32-unknown-unknown/release && ls -la
- run: cargo test --features testnet-test

- name: Build contracts
run: cargo make build-contracts
- name: Test contracts
run: cargo make test-contracts
- name: Build mainnet test WASM
run: cargo make --profile mainnet build-test
- name: Test mainnet
run: cargo make --profile mainnet test-workspace
- name: Build testnet test WASM
run: cargo make --profile testnet build-test
- name: Test testnet
run: cargo make --profile testnet test-workspace
- name: Save cache
run: |
cache-util save cargo_git cargo_registry sccache yarn_cache
cache-util msave aurora-engine-target@generic@${{ hashFiles('**/Cargo.lock') }}:target
bully-build:
name: Bully build
runs-on: [self-hosted, heavy]
steps:
- name: Clone the repository
uses: actions/checkout@v2
- name: Restore cache
run: |
cache-util restore cargo_git cargo_registry sccache yarn_cache
cache-util restore aurora-engine-target@bully@${{ hashFiles('**/Cargo.lock') }}:target
- run: make mainnet-debug evm-bully=yes
- run: ls -lH mainnet-debug.wasm
- name: Save cache
run: |
cache-util save cargo_git cargo_registry sccache yarn_cache
cache-util msave aurora-engine-target@bully@${{ hashFiles('**/Cargo.lock') }}:target
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
Expand Down
17 changes: 6 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,19 @@

# IDEA
.idea
.run/
# Editor backup files
*~

# ENV
.env/custom.env

# Rust artifacts
/*.wasm
bin/
target/
etc/tests/*/target/
etc/tests/*/Cargo.lock

# Solidity artifacts
artifacts/
cache/
node_modules/
etc/eth-contracts/res/

# Other
etc/state-migration-test/target/
etc/ft-receiver/target/
etc/self-contained-5bEgfRQ/target/

node_modules/*
cache
Loading

0 comments on commit 22c176c

Please sign in to comment.