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

Tethys upgrade #68

Closed
wants to merge 63 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
4437ab1
Update go, fedora in dockerfile
ChristianBorst Oct 2, 2024
85b8bd9
Upgrade SDK to v0.46.16, IBC to 6.3.1, Ethermint to v0.22, add upgrade
ChristianBorst Oct 1, 2024
ef43ff0
Configure block max gas in test env
ChristianBorst Oct 7, 2024
f764a69
Configure althea root cmd
ChristianBorst Oct 3, 2024
1b91186
Copy ERC20 module implementation from Canto repo
ChristianBorst Oct 7, 2024
ad0cfd0
Add contracts from Canto
ChristianBorst Oct 7, 2024
b190479
Add Multicall3 to test env
ChristianBorst Oct 7, 2024
b66792d
Run Integration tests natively in CI
jkilpatr Oct 8, 2024
46ec816
Advanced dex usage
ChristianBorst Nov 15, 2024
65a728b
Change testnet chain id to 6633438
ChristianBorst Nov 20, 2024
3fa9bdf
Fix contract deployment
ChristianBorst Nov 20, 2024
057d688
Update solidity-dex
ChristianBorst Nov 20, 2024
d24593c
Fix multicall deployment
ChristianBorst Nov 20, 2024
bae9262
Update solidity-dex
ChristianBorst Nov 20, 2024
5868a62
Add CONTRACTS_ROOT, DEX_CONTRACTS_ROOT env var support
ChristianBorst Nov 21, 2024
f0e389e
Add WETH contract to solidity folder, fix lots of DEX test issues
ChristianBorst Nov 21, 2024
6ca9dc5
Update solidity-dex
ChristianBorst Dec 9, 2024
a2220e7
Fix gasfree module tests
ChristianBorst Dec 9, 2024
c2877af
Mint DEX positions in base and quote quantities
ChristianBorst Dec 10, 2024
6c326a5
Improve DEX_ADVANCED test, calculate liq -> flows, add DEX_SWAP_MANY …
ChristianBorst Dec 13, 2024
7c69ee2
Implement evm fee burning test
ChristianBorst Dec 16, 2024
9bce867
Fix MsgEthereumTx support in lockup module
ChristianBorst Dec 17, 2024
4acdb8c
Update dex contracts for events
ChristianBorst Dec 19, 2024
1e6bcf2
Make two-script tests easier to run
ChristianBorst Dec 24, 2024
5a9267d
Add supply check to evm fee burning test
ChristianBorst Dec 24, 2024
8ad29a8
Migrate go contracts to solidity repo, fix compilation
ChristianBorst Dec 27, 2024
2c4768c
Fix DEX test liquidity initialization for testnet use
ChristianBorst Jan 3, 2025
4194030
Update solidity-dex
ChristianBorst Jan 3, 2025
ebb5936
Make two script tests even easier to run
ChristianBorst Jan 3, 2025
1ede53a
Add MsgEthereumTx testing to lockup unit test
ChristianBorst Jan 6, 2025
1c12f46
Add MsgEthereumTx testing to LOCKUP test
ChristianBorst Jan 6, 2025
1df03d1
Solidity: Update @openzeppelin/contracts to v5.1.0
ChristianBorst Jan 7, 2025
dd6ad1b
Solidity 0.8.28, update solidity contracts
ChristianBorst Jan 7, 2025
89ccaad
Solidity: Make ERC20s also ERC20Permit (EIP-2612)
ChristianBorst Jan 7, 2025
ea48dc2
Update LiquidInfrastructure contracts from contracts repo
ChristianBorst Jan 7, 2025
97e0359
Update LiquidInfrastructure contracts so they compile
ChristianBorst Jan 7, 2025
526479a
Make the testnet ERC20s EIP-2612 tokens
ChristianBorst Jan 7, 2025
7affe78
Add feegrant module
ChristianBorst Jan 8, 2025
e4c3e32
Neutrino -> Tethys, set distribution params in upgrade
ChristianBorst Jan 8, 2025
99318f5
Fix contract helper script, update compiled liquid infrastructure nft…
ChristianBorst Jan 8, 2025
75ece9e
Update upgrade test for Tethys
ChristianBorst Jan 8, 2025
905fbe3
Minor solidity changes
ChristianBorst Jan 8, 2025
5212ffe
Add solidity contract formatting step to make install
ChristianBorst Jan 9, 2025
8d61901
Set evm version to paris after solidity compiler update
ChristianBorst Jan 9, 2025
37cd2fd
Properly handle contract formatting in CI tests
ChristianBorst Jan 10, 2025
63d62bd
Manually add problematic ERC20Burnable JSON file to avoid CI issues
ChristianBorst Jan 10, 2025
aa2685f
Commit template contracts file for go embeds without bin code
ChristianBorst Jan 10, 2025
14583fc
WIP: Set problematic contracts to have a single 0 byte as bincode
ChristianBorst Jan 10, 2025
7fe31fe
Add missing Ops proposal registration to nativedex init()
ChristianBorst Jan 10, 2025
ac6ebbf
Fix DEX test by minting large ambient position
ChristianBorst Jan 10, 2025
3b0e0cb
Update IBC test chain in CI tests
ChristianBorst Jan 10, 2025
35a4a95
Make ERC20_CONVERSION more idempotent
ChristianBorst Jan 11, 2025
226b915
Improve test start logging
ChristianBorst Jan 11, 2025
effe346
Update solidity-dex
ChristianBorst Jan 11, 2025
332adb9
WIP: test modifications do not include
ChristianBorst Jan 11, 2025
cec8a32
Compile solidity folder for go CI tests
ChristianBorst Jan 11, 2025
e657546
Remove contract formatting for Go step in Makefile
ChristianBorst Jan 11, 2025
459bd80
Cargo clippy + audit fixes
ChristianBorst Jan 12, 2025
651dcdf
Rework go CI tests
ChristianBorst Jan 12, 2025
1dd932e
Lint fixes
ChristianBorst Jan 12, 2025
06be910
Fix: unknown method test
jkilpatr Jan 12, 2025
6f7b85a
Compile required contracts in CI
jkilpatr Jan 12, 2025
d368cb1
Fix: contracts prep in test container
jkilpatr Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 30 additions & 7 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,40 @@ jobs:
matrix:
node-version: [ 18.x ]
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.16
- name: Check out code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Build and test solidity contracts
run: cd solidity && npm ci && npm run typechain && npm run test
- name: Format compiled solidity contracts for go
run: scripts/compile-contracts-for-go.sh
- name: Build the Althea-L1 binary
run: make
lint:
name: Lint
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.16
- name: Check out code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Build and test solidity contracts
run: cd solidity && npm ci && npm run typechain && npm run test
- name: Format compiled solidity contracts for go
run: scripts/compile-contracts-for-go.sh
- name: Install golangci-lint
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
- name: Run golangci-lint
Expand All @@ -41,12 +56,20 @@ jobs:
test:
name: Test
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.16
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Build and test solidity contracts
run: cd solidity && npm ci && npm run typechain && npm run test
- name: Format compiled solidity contracts for go
run: scripts/compile-contracts-for-go.sh
- name: Test
run: go test ./... -mod=readonly -timeout 30m -coverprofile=profile.out -covermode=atomic -race
200 changes: 98 additions & 102 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,205 +14,201 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1
- uses: Swatinem/rust-cache@v2
with:
working-directory: integration-tests/
workspaces: integration_tests/
cache-on-failure: true
- name: Build Integration Tests
run: cd integration_tests && cargo check --all --verbose
native_token:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
continue-on-error: true
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
- name: Prune cache to keep the size down
run: docker builder prune -af && docker system prune -af
workspaces: integration_tests/
cache-on-failure: true
- name: Test the native token features of the EVM
run: tests/all-up-test.sh NATIVE_TOKEN
run: tests/all-up-test-ci.sh NATIVE_TOKEN
lockup:
runs-on: ubuntu-latest
needs: native_token
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Lock up the chain and ensure funds are not transferrable
run: tests/all-up-test.sh LOCKUP
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh LOCKUP
microtx_fees:
runs-on: ubuntu-latest
needs: native_token
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Assert that fees are collected by the microtx module
run: tests/all-up-test.sh MICROTX_FEES
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh MICROTX_FEES
erc20_conversion:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Test the erc20 module's token conversion functionality
run: tests/all-up-test.sh ERC20_CONVERSION
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh ERC20_CONVERSION
liquid_accounts:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Test the microtx module's liquid infrastructure accounts functions
run: tests/all-up-test.sh LIQUID_ACCOUNTS
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh LIQUID_ACCOUNTS
ica_host:
needs: native_token
#needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Test the interchain accounts host module on Althea-L1
run: tests/all-up-test.sh ICA_HOST
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh ICA_HOST
ONBOARDING_DEFAULT_PARAMS:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Starts the onboarding module with the default params
run: tests/all-up-test.sh ONBOARDING_DEFAULT_PARAMS
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh ONBOARDING_DEFAULT_PARAMS
ONBOARDING_DISABLED_WHITELISTED:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Starts the onboarding module disabled with a whitelisted channel
run: tests/all-up-test.sh ONBOARDING_DISABLED_WHITELISTED
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh ONBOARDING_DISABLED_WHITELISTED
ONBOARDING_DISABLE_AFTER:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Starts the onboarding module permissively, but disables it after a transfer
run: tests/all-up-test.sh ONBOARDING_DISABLE_AFTER
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh ONBOARDING_DISABLE_AFTER
ONBOARDING_DELIST_AFTER:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Starts the onboarding module permissively, but removes the channel from the whilelist after a transfer
run: tests/all-up-test.sh ONBOARDING_DELIST_AFTER
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh ONBOARDING_DELIST_AFTER
DEX:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Performs basic DEX tests
run: tests/all-up-test.sh DEX
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh DEX
DEX_UPGRADE:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Tests the DEX callpath upgrade functionality
run: tests/all-up-test.sh DEX_UPGRADE
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh DEX_UPGRADE
DEX_SAFE_MODE:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Tests the DEX safe mode lockdown functionality
run: tests/all-up-test.sh DEX_SAFE_MODE
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh DEX_SAFE_MODE
DEX_OPS_PROPOSAL:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: jpribyl/action-docker-layer-caching@v0.1.1
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
key: integration-test-cache-{hash}
restore-keys: |
integration-test-cache-
workspaces: integration_tests/
cache-on-failure: true
- name: Tests the nativedex OpsProposal function
run: tests/all-up-test.sh DEX_OPS_PROPOSAL
env:
NO_IMAGE_BUILD: True
run: tests/all-up-test-ci.sh DEX_OPS_PROPOSAL
EVM_FEE_BURNING:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
workspaces: integration_tests/
cache-on-failure: true
- name: Checks that evm fees are truly burned
run: tests/all-up-test-ci.sh EVM_FEE_BURNING
UPGRADE:
needs: native_token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v5
- uses: Swatinem/rust-cache@v2
with:
workspaces: integration_tests/
cache-on-failure: true
- name: Tests the Neutrino upgrade
run: tests/run-upgrade-test.sh v1.4.0
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ mytestnet
coverage.txt
profile.out
tests/dockerfile/althea.tar.gz
test-ready-to-run

# Vagrant
.vagrant/
Expand Down
Loading
Loading