feat(sdk): migrate to ethers v6 #2126
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR | |
on: | |
pull_request: | |
branches: | |
- '**' | |
merge_group: | |
branches: | |
- main | |
permissions: | |
pull-requests: read | |
env: | |
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.TS_IMMUTABLE_SDK_NX_TOKEN }} | |
jobs: | |
title-validation: | |
name: Validate PR title | |
runs-on: ubuntu-latest | |
steps: | |
- uses: amannn/action-semantic-pull-request@v5 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
requireScope: true | |
syncpack: | |
name: Syncpack | |
runs-on: ubuntu-latest-4-cores | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
fetch-depth: 0 | |
- name: setup | |
uses: ./.github/actions/setup | |
- name: Syncpack | |
run: pnpm syncpack:check | |
build-lint-test-sdk: | |
name: Build, Lint & Test SDK | |
runs-on: ubuntu-latest-8-cores | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
fetch-depth: 0 | |
- name: setup | |
uses: ./.github/actions/setup | |
- name: Build, Lint & Test | |
run: pnpm --if-present nx affected -t build,lint,test | |
build-lint-test-examples: | |
name: Build, Lint & Test Examples | |
runs-on: ubuntu-latest-8-cores | |
env: | |
NODE_OPTIONS: --max-old-space-size=14366 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
fetch-depth: 0 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Build SDK | |
run: pnpm build | |
- name: Prepare SDK | |
run: pnpm prepare:sdk | |
- name: Prepare examples | |
run: pnpm prepare:examples | |
- name: Update modules | |
run: pnpm install --frozen-lockfile=false | |
- name: Build examples | |
run: pnpm build:examples | |
- name: Lint examples | |
run: pnpm lint:examples | |
- name: Setup playwright | |
uses: ./.github/actions/setup-playwright | |
# Temporary disabled until we can release v2, since the tests are failing due to breaking changes | |
# - name: Prepare Checkout SDK bundle for @examples/commerce-widget-nextjs | |
# run: pnpm --filter @imtbl/checkout-sdk prepare:examplesdk | |
# - name: Prepare widgets bundle for @examples/commerce-widget-nextjs | |
# run: pnpm --filter @imtbl/checkout-widgets prepare:examplewidgets | |
- name: Test examples | |
run: pnpm test:examples | |
func-tests: | |
name: Functional tests | |
runs-on: ubuntu-latest-8-cores | |
env: | |
# imx envs | |
NETWORK: sepolia | |
TEST_ALCHEMY_API_KEY: ${{ secrets.TEST_ALCHEMY_API_KEY }} | |
PUBLIC_API_URL: "https://api.sandbox.x.immutable.com/v1" | |
TEST_STARK_CONTRACT_ADDRESS: "0x2d5C349fD8464DA06a3f90b4B0E9195F3d1b7F98" | |
TEST_REGISTRATION_CONTRACT_ADDRESS: "0xDbA6129C02E69405622fAdc3d5A7f8d23eac3b97" | |
TEST_TOKEN_ADDRESS: "0xfA5539fBEd27887EEbb2515672D80412D1A3ADa3" | |
TEST_WALLET1_PRIVATE_KEY: ${{ secrets.TEST_WALLET1_PRIVATE_KEY }} | |
TEST_WALLET1_STARK_PRIVATE_KEY: ${{ secrets.TEST_WALLET1_STARK_PRIVATE_KEY }} | |
TEST_WALLET2_PRIVATE_KEY: ${{ secrets.TEST_WALLET2_PRIVATE_KEY }} | |
TEST_WALLET2_STARK_PRIVATE_KEY: ${{ secrets.TEST_WALLET2_STARK_PRIVATE_KEY }} | |
TEST_WALLET_BANKER_PRIVATE_KEY: ${{ secrets.TEST_WALLET_BANKER_PRIVATE_KEY }} | |
TEST_WALLET_BANKER_STARK_PRIVATE_KEY: ${{ secrets.TEST_WALLET_BANKER_STARK_PRIVATE_KEY }} | |
TEST_STARKEX_BATCH_SIZE: 500 | |
# zkevm envs | |
ZKEVM_ORDERBOOK_BANKER: ${{ secrets.ZKEVM_ORDERBOOK_BANKER }} | |
ZKEVM_ORDERBOOK_ERC20: "0x70dCEF6C22F50497eafc77D252E8E175af21bF75" | |
ZKEVM_ORDERBOOK_ERC721: "0xBE8B131f39825282Ace9eFf99C0Bb14972417b49" | |
ZKEVM_ORDERBOOK_ERC1155: "0x2efB9B7810B1d1520c0822aa20F1889ABd2c2146" | |
SEAPORT_CONTRACT_ADDRESS: "0x7d117aA8BD6D31c4fa91722f246388f38ab1942c" | |
ZONE_CONTRACT_ADDRESS: "0x1004f9615E79462c711Ff05a386BdbA91a7628C3" | |
ZKEVM_RPC_ENDPOINT: "https://rpc.testnet.immutable.com" | |
ORDERBOOK_MR_API_URL: "https://api.sandbox.immutable.com" | |
ZKEVM_CHAIN_NAME: "imtbl-zkevm-testnet" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
fetch-depth: 0 | |
- name: setup | |
uses: ./.github/actions/setup | |
- name: Build SDK | |
run: pnpm build | |
- name: Prepare SDK | |
run: pnpm prepare:sdk | |
- name: Prepare tests | |
run: pnpm prepare:tests | |
# Temporary disabled until we can release v2, since the tests are failing due to breaking changes | |
# - name: Install SDK at current version for @tests/checkout-widgets-nextjs | |
# run: pnpm --filter @tests/checkout-widgets-nextjs add @imtbl/sdk@$(npm view @imtbl/sdk version) | |
# - name: Build @tests/checkout-widgets-nextjs | |
# run: pnpm --filter @tests/checkout-widgets-nextjs build | |
# - name: Prepare Checkout SDK bundle for @tests/checkout-widgets-nextjs | |
# run: pnpm --filter @imtbl/checkout-sdk prepare:testsdk | |
# - name: Prepare widgets bundle for @tests/checkout-widgets-nextjs | |
# run: pnpm --filter @imtbl/checkout-widgets prepare:testwidgets | |
- name: Update modules | |
run: pnpm install --frozen-lockfile=false | |
- name: Setup playwright | |
uses: ./.github/actions/setup-playwright | |
- name: Run functional tests | |
run: pnpm --filter "@tests/*" --parallel func-test:ci |