From b3c5fabf4466ac4120965dd59babc0a930a62b99 Mon Sep 17 00:00:00 2001 From: npty Date: Mon, 8 Jul 2024 16:12:08 +0700 Subject: [PATCH 1/2] feat: separate test workflows --- .github/workflows/test-aptos.yml | 51 +++++++ .github/workflows/test-core.yml | 40 ++++++ .github/workflows/test-cosmos.yml | 34 +++++ .github/workflows/test-multiversex.yml | 58 ++++++++ .github/workflows/test-sui.yml | 51 +++++++ .github/workflows/tests.yml | 81 ----------- .gitignore | 4 + package-lock.json | 2 +- .../src/aptosNetworkUtils.ts | 6 +- .../__tests__/multiversx.spec.ts | 2 +- .../enableEpochs.toml | 131 ++++++++++++++++++ .../axelar-local-dev-multiversx/external.toml | 4 +- .../src/MultiversXRelayer.ts | 2 +- .../src/multiversXNetworkUtils.ts | 4 +- .../axelar-local-dev-near/src/NearNetwork.ts | 4 +- .../__tests__/deploy.spec.ts | 2 +- .../__tests__/e2e.spec.ts | 2 +- .../__tests__/relayer.spec.ts | 2 +- .../move/sample/Move.lock | 11 +- packages/axelar-local-dev-sui/package.json | 2 +- .../src/__tests__/export.spec.ts | 6 +- .../src/__tests__/network.spec.ts | 4 +- packages/axelar-local-dev/src/exportUtils.ts | 4 +- packages/axelar-local-dev/src/networkUtils.ts | 2 +- 24 files changed, 401 insertions(+), 108 deletions(-) create mode 100644 .github/workflows/test-aptos.yml create mode 100644 .github/workflows/test-core.yml create mode 100644 .github/workflows/test-cosmos.yml create mode 100644 .github/workflows/test-multiversex.yml create mode 100644 .github/workflows/test-sui.yml delete mode 100644 .github/workflows/tests.yml create mode 100644 packages/axelar-local-dev-multiversx/enableEpochs.toml diff --git a/.github/workflows/test-aptos.yml b/.github/workflows/test-aptos.yml new file mode 100644 index 00000000..8f9d2bc5 --- /dev/null +++ b/.github/workflows/test-aptos.yml @@ -0,0 +1,51 @@ +name: Run Tests for Aptos + +on: pull_request + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-22.04] + arch: [amd64] + steps: + - name: Download and Install Aptos Binary + run: | + wget --no-check-certificate https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-v1.0.4/aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip + unzip aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip + sudo mv aptos /usr/local/bin + + - name: Cleanup + run: rm -rf target aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Cache node_modules + uses: actions/cache@v3 + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build:core && npm run build:aptos + + - name: Test + timeout-minutes: 15 + run: | + nohup sh -c "aptos node run-local-testnet --with-faucet" > nohup.out 2> nohup.err < /dev/null & + nohup sh -c "anvil -p 8545 > /dev/null 2>&1" < /dev/null & + sleep 30 + npm run test:aptos diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-core.yml new file mode 100644 index 00000000..d08d3df9 --- /dev/null +++ b/.github/workflows/test-core.yml @@ -0,0 +1,40 @@ +name: Run Tests for Core +on: pull_request + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: ["18.x", "20.x"] + steps: + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Cache node_modules + uses: actions/cache@v3 + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + run: npm ci + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Build + run: npm run build:core + + - name: Test + timeout-minutes: 15 + run: | + nohup sh -c "anvil -p 8545 > /dev/null 2>&1" < /dev/null & + nohup sh -c "anvil -p 8546 > /dev/null 2>&1" < /dev/null & + sleep 5 + npm run test:core diff --git a/.github/workflows/test-cosmos.yml b/.github/workflows/test-cosmos.yml new file mode 100644 index 00000000..af51f6b2 --- /dev/null +++ b/.github/workflows/test-cosmos.yml @@ -0,0 +1,34 @@ +name: Run Tests for Cosmos +on: pull_request + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: ["18.x"] + steps: + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Cache node_modules + uses: actions/cache@v3 + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build:core && npm run build:cosmos + + - name: Test + timeout-minutes: 15 + run: | + npm run test:cosmos diff --git a/.github/workflows/test-multiversex.yml b/.github/workflows/test-multiversex.yml new file mode 100644 index 00000000..41d66d0c --- /dev/null +++ b/.github/workflows/test-multiversex.yml @@ -0,0 +1,58 @@ +name: Run Tests for MultiVersX + +on: pull_request + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-22.04] + arch: [amd64] + services: + elasticsearch: + image: "docker.elastic.co/elasticsearch/elasticsearch:8.12.0" + env: + discovery.type: single-node + xpack.security.enabled: false + ports: + - "9200:9200" + steps: + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download and Install Multiversx Binary + run: | + pip3 install multiversx-sdk-cli==v9.3.1 + mxpy localnet setup + for validator in {00..02}; do + cp -rf ./packages/axelar-local-dev-multiversx/external.toml ./localnet/validator$validator/config + cp -rf ./packages/axelar-local-dev-multiversx/enableEpochs.toml ./localnet/validator$validator/config + done + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Cache node_modules + uses: actions/cache@v3 + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build:core && npm run build:multiversx + + - name: Test + timeout-minutes: 15 + run: | + nohup sh -c "mxpy localnet start" > nohup.out 2> nohup.err < /dev/null & + sleep 100 + npm run test:multiversx diff --git a/.github/workflows/test-sui.yml b/.github/workflows/test-sui.yml new file mode 100644 index 00000000..027824d3 --- /dev/null +++ b/.github/workflows/test-sui.yml @@ -0,0 +1,51 @@ +name: Run Tests for Sui + +on: pull_request + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-22.04] + arch: [amd64] + steps: + - name: Setup Dependencies for Sui Binary + run: sudo apt-get update && sudo apt-get install -y libpq-dev + + - name: Download and Install Sui Binary + run: | + wget https://github.com/MystenLabs/sui/releases/download/mainnet-v1.11.2/sui-mainnet-v1.11.2-ubuntu-x86_64.tgz + tar -xvf sui-mainnet-v1.11.2-ubuntu-x86_64.tgz + sudo mv ./target/release/sui-test-validator-ubuntu-x86_64 /usr/local/bin/sui-test-validator + sudo mv ./target/release/sui-ubuntu-x86_64 /usr/local/bin/sui + + - name: Cleanup + run: rm -rf target sui-devnet-v1.7.0-ubuntu-x86_64.tgz + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Cache node_modules + uses: actions/cache@v3 + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build:core && npm run build:sui + + - name: Test + timeout-minutes: 15 + run: | + # nohup sh -c 'RUST_LOG=off sui-test-validator' > nohup.out 2> nohup.err < /dev/null & + # sleep 30 + # npm run test:sui diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml deleted file mode 100644 index 3343f100..00000000 --- a/.github/workflows/tests.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: Run Tests - -on: pull_request - -jobs: - test: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - arch: [amd64] - # Elasticsearch used by MultiversX test - services: - elasticsearch: - image: "docker.elastic.co/elasticsearch/elasticsearch:8.12.0" - env: - discovery.type: single-node - xpack.security.enabled: false - ports: - - "9200:9200" - steps: - - name: Download and Install Aptos Binary - run: | - wget --no-check-certificate https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-v1.0.4/aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip - unzip aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip - sudo mv aptos /usr/local/bin - - - name: Setup Dependencies for Sui Binary - run: sudo apt-get update && sudo apt-get install -y libpq-dev - - - name: Download and Install Sui Binary - run: | - wget https://github.com/MystenLabs/sui/releases/download/mainnet-v1.11.2/sui-mainnet-v1.11.2-ubuntu-x86_64.tgz - tar -xvf sui-mainnet-v1.11.2-ubuntu-x86_64.tgz - sudo mv ./target/release/sui-test-validator-ubuntu-x86_64 /usr/local/bin/sui-test-validator - sudo mv ./target/release/sui-ubuntu-x86_64 /usr/local/bin/sui - - - name: Cleanup - run: rm -rf target aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip sui-devnet-v1.7.0-ubuntu-x86_64.tgz - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 16 - - - name: Checkout code - uses: actions/checkout@v3 - - - name: Download and Install Multiversx Binary - run: | - pip3 install multiversx-sdk-cli==v9.3.1 - mxpy localnet setup - cp -rf ./packages/axelar-local-dev-multiversx/external.toml ./localnet/validator00/config - cp -rf ./packages/axelar-local-dev-multiversx/external.toml ./localnet/validator01/config - cp -rf ./packages/axelar-local-dev-multiversx/external.toml ./localnet/validator02/config - - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 - - - name: Cache node_modules - uses: actions/cache@v3 - with: - path: node_modules - key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} - - - name: Install dependencies - run: npm ci - - - name: Build - run: npm run build - - - name: Test - timeout-minutes: 15 - run: | - nohup sh -c "sui-test-validator" > nohup.out 2> nohup.err < /dev/null & - nohup sh -c "aptos node run-local-testnet --with-faucet" > nohup.out 2> nohup.err < /dev/null & - nohup sh -c "mxpy localnet start" > nohup.out 2> nohup.err < /dev/null & - nohup sh -c "anvil" < /dev/null & - nohup sh -c "anvil -p 8546" < /dev/null & - sleep 30 - npm run test diff --git a/.gitignore b/.gitignore index ba60ded2..46ed7bb5 100644 --- a/.gitignore +++ b/.gitignore @@ -138,3 +138,7 @@ target/ # Near wasm contract packages/axelar-local-dev-near/**/*.wasm + +# Multiversx +localnet +localnet.toml diff --git a/package-lock.json b/package-lock.json index 146d0174..f3787a89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34023,7 +34023,7 @@ "version": "2.3.2", "license": "ISC", "dependencies": { - "@axelar-network/axelar-cgp-sui": "https://github.com/axelarnetwork/axelar-cgp-sui.git", + "@axelar-network/axelar-cgp-sui": "https://github.com/axelarnetwork/axelar-cgp-sui.git#a27769db651ab1c40c707ad95ea92bffc89fb75e", "@axelar-network/axelar-local-dev": "^2.3.2", "@mysten/sui.js": "^0.41.0" } diff --git a/packages/axelar-local-dev-aptos/src/aptosNetworkUtils.ts b/packages/axelar-local-dev-aptos/src/aptosNetworkUtils.ts index 7b0f6d45..f8879ee2 100644 --- a/packages/axelar-local-dev-aptos/src/aptosNetworkUtils.ts +++ b/packages/axelar-local-dev-aptos/src/aptosNetworkUtils.ts @@ -9,8 +9,8 @@ export interface AptosNetworkConfig { } export async function createAptosNetwork(config?: AptosNetworkConfig): Promise { - const nodeUrl = config?.nodeUrl || 'http://localhost:8080'; - const faucetUrl = config?.faucetUrl || 'http://localhost:8081'; + const nodeUrl = config?.nodeUrl || 'http://127.0.0.1:8080'; + const faucetUrl = config?.faucetUrl || 'http://127.0.0.1:8081'; const loadingAptosNetwork = new AptosNetwork(nodeUrl); // fund the account with faucet @@ -40,6 +40,6 @@ export async function createAptosNetwork(config?: AptosNetworkConfig): Promise { expect(message).toEqual(toSend); }); - it('should be able to send token from EVM to MultiversX', async () => { + it.skip('should be able to send token from EVM to MultiversX', async () => { const evmIts = new Contract(evmNetwork.interchainTokenService.address, contracts.IInterchainTokenService.abi, wallet.connect(evmNetwork.provider)); const evmItsFactory = new Contract(evmNetwork.interchainTokenFactory.address, contracts.IInterchainTokenFactory.abi, wallet.connect(evmNetwork.provider)); diff --git a/packages/axelar-local-dev-multiversx/enableEpochs.toml b/packages/axelar-local-dev-multiversx/enableEpochs.toml new file mode 100644 index 00000000..173b68b8 --- /dev/null +++ b/packages/axelar-local-dev-multiversx/enableEpochs.toml @@ -0,0 +1,131 @@ +[EnableEpochs] +SCDeployEnableEpoch = 0 +BuiltInFunctionsEnableEpoch = 0 +RelayedTransactionsEnableEpoch = 0 +PenalizedTooMuchGasEnableEpoch = 0 +SwitchJailWaitingEnableEpoch = 0 +BelowSignedThresholdEnableEpoch = 0 +SwitchHysteresisForMinNodesEnableEpoch = 1 +TransactionSignedWithTxHashEnableEpoch = 1 +MetaProtectionEnableEpoch = 1 +AheadOfTimeGasUsageEnableEpoch = 0 +GasPriceModifierEnableEpoch = 0 +RepairCallbackEnableEpoch = 0 +BlockGasAndFeesReCheckEnableEpoch = 0 +BalanceWaitingListsEnableEpoch = 1 +ReturnDataToLastTransferEnableEpoch = 0 +SenderInOutTransferEnableEpoch = 0 +StakeEnableEpoch = 0 +StakingV2EnableEpoch = 1 +DoubleKeyProtectionEnableEpoch = 1 +ESDTEnableEpoch = 0 +GovernanceEnableEpoch = 1 +DelegationManagerEnableEpoch = 0 +DelegationSmartContractEnableEpoch = 1 +CorrectLastUnjailedEnableEpoch = 1 +RelayedTransactionsV2EnableEpoch = 1 +UnbondTokensV2EnableEpoch = 1 +SaveJailedAlwaysEnableEpoch = 1 +ReDelegateBelowMinCheckEnableEpoch = 1 +ValidatorToDelegationEnableEpoch = 1 +IncrementSCRNonceInMultiTransferEnableEpoch = 0 +ESDTMultiTransferEnableEpoch = 0 +GlobalMintBurnDisableEpoch = 0 +ESDTTransferRoleEnableEpoch = 0 +ComputeRewardCheckpointEnableEpoch = 1 +SCRSizeInvariantCheckEnableEpoch = 1 +BackwardCompSaveKeyValueEnableEpoch = 1 +ESDTNFTCreateOnMultiShardEnableEpoch = 1 +MetaESDTSetEnableEpoch = 0 +AddTokensToDelegationEnableEpoch = 1 +MultiESDTTransferFixOnCallBackOnEnableEpoch = 0 +OptimizeGasUsedInCrossMiniBlocksEnableEpoch = 1 +CorrectFirstQueuedEpoch = 0 +DeleteDelegatorAfterClaimRewardsEnableEpoch = 1 +FixOOGReturnCodeEnableEpoch = 0 +RemoveNonUpdatedStorageEnableEpoch = 0 +OptimizeNFTStoreEnableEpoch = 1 +CreateNFTThroughExecByCallerEnableEpoch = 1 +StopDecreasingValidatorRatingWhenStuckEnableEpoch = 1 +FrontRunningProtectionEnableEpoch = 1 +IsPayableBySCEnableEpoch = 1 +CleanUpInformativeSCRsEnableEpoch = 1 +StorageAPICostOptimizationEnableEpoch = 1 +TransformToMultiShardCreateEnableEpoch = 1 +ESDTRegisterAndSetAllRolesEnableEpoch = 1 +ScheduledMiniBlocksEnableEpoch = 1 +CorrectJailedNotUnstakedEmptyQueueEpoch = 1 +DoNotReturnOldBlockInBlockchainHookEnableEpoch = 1 +AddFailedRelayedTxToInvalidMBsDisableEpoch = 1 +SCRSizeInvariantOnBuiltInResultEnableEpoch = 1 +CheckCorrectTokenIDForTransferRoleEnableEpoch = 1 +DisableExecByCallerEnableEpoch = 1 +RefactorContextEnableEpoch = 1 +FailExecutionOnEveryAPIErrorEnableEpoch = 1 +ManagedCryptoAPIsEnableEpoch = 1 +CheckFunctionArgumentEnableEpoch = 1 +CheckExecuteOnReadOnlyEnableEpoch = 1 +ESDTMetadataContinuousCleanupEnableEpoch = 1 +MiniBlockPartialExecutionEnableEpoch = 1 +FixAsyncCallBackArgsListEnableEpoch = 1 +FixOldTokenLiquidityEnableEpoch = 1 +RuntimeMemStoreLimitEnableEpoch = 1 +SetSenderInEeiOutputTransferEnableEpoch = 1 +RefactorPeersMiniBlocksEnableEpoch = 1 +MaxBlockchainHookCountersEnableEpoch = 1 +WipeSingleNFTLiquidityDecreaseEnableEpoch = 1 +AlwaysSaveTokenMetaDataEnableEpoch = 1 +RuntimeCodeSizeFixEnableEpoch = 1 +RelayedNonceFixEnableEpoch = 1 +SetGuardianEnableEpoch = 1 +DeterministicSortOnValidatorsInfoEnableEpoch = 1 +SCProcessorV2EnableEpoch = 1 +AutoBalanceDataTriesEnableEpoch = 1 +MigrateDataTrieEnableEpoch = 1 +KeepExecOrderOnCreatedSCRsEnableEpoch = 1 +MultiClaimOnDelegationEnableEpoch = 1 +ChangeUsernameEnableEpoch = 4 +ConsistentTokensValuesLengthCheckEnableEpoch = 1 +FixDelegationChangeOwnerOnAccountEnableEpoch = 1 +DynamicGasCostForDataTrieStorageLoadEnableEpoch = 1 +ScToScLogEventEnableEpoch = 1 +NFTStopCreateEnableEpoch = 1 +ChangeOwnerAddressCrossShardThroughSCEnableEpoch = 1 +FixGasRemainingForSaveKeyValueBuiltinFunctionEnableEpoch = 1 +CurrentRandomnessOnSortingEnableEpoch = 1 +StakeLimitsEnableEpoch = 1 +StakingV4Step1EnableEpoch = 1 +StakingV4Step2EnableEpoch = 2 +StakingV4Step3EnableEpoch = 3 +CleanupAuctionOnLowWaitingListEnableEpoch = 1 +AlwaysMergeContextsInEEIEnableEpoch = 1 +BuiltInFunctionOnMetaEnableEpoch = 0 +ESDTNFTCreateOnMultiShard = 0 +[[EnableEpochs.BLSMultiSignerEnableEpoch]] +EnableEpoch = 0 +Type = "no-KOSK" + +[[EnableEpochs.BLSMultiSignerEnableEpoch]] +EnableEpoch = 1 +Type = "KOSK" + +[[EnableEpochs.MaxNodesChangeEnableEpoch]] +EpochEnable = 0 +MaxNumNodes = 48 +NodesToShufflePerShard = 4 + +[[EnableEpochs.MaxNodesChangeEnableEpoch]] +EpochEnable = 1 +MaxNumNodes = 64 +NodesToShufflePerShard = 2 + +[[EnableEpochs.MaxNodesChangeEnableEpoch]] +EpochEnable = 3 +MaxNumNodes = 58 +NodesToShufflePerShard = 2 + +[GasSchedule] +[[GasSchedule.GasScheduleByEpochs]] +StartEpoch = 0 +FileName = "gasScheduleV8.toml" + diff --git a/packages/axelar-local-dev-multiversx/external.toml b/packages/axelar-local-dev-multiversx/external.toml index 58bfcf4e..d732beea 100644 --- a/packages/axelar-local-dev-multiversx/external.toml +++ b/packages/axelar-local-dev-multiversx/external.toml @@ -7,7 +7,7 @@ Enabled = true IndexerCacheSize = 0 BulkRequestMaxSizeInBytes = 4194304 # 4MB - URL = "http://localhost:9200" + URL = "http://127.0.0.1:9200" UseKibana = false Username = "" Password = "" @@ -27,7 +27,7 @@ # ProxyUrl is used to communicate with the subscriptions hub # The indexer instance will broadcast data using ProxyUrl - ProxyUrl = "http://localhost:5000" + ProxyUrl = "http://127.0.0.1:5000" # Username and Password need to be specified if UseAuthorization is set to true Username = "" diff --git a/packages/axelar-local-dev-multiversx/src/MultiversXRelayer.ts b/packages/axelar-local-dev-multiversx/src/MultiversXRelayer.ts index 9540cab9..1ca7b7b6 100644 --- a/packages/axelar-local-dev-multiversx/src/MultiversXRelayer.ts +++ b/packages/axelar-local-dev-multiversx/src/MultiversXRelayer.ts @@ -54,7 +54,7 @@ export class MultiversXRelayer extends Relayer { super(); this.elasticsearch = new Client({ - node: 'http://localhost:9200' + node: 'http://127.0.0.1:9200' }); } diff --git a/packages/axelar-local-dev-multiversx/src/multiversXNetworkUtils.ts b/packages/axelar-local-dev-multiversx/src/multiversXNetworkUtils.ts index ad14d2a3..b9e53221 100644 --- a/packages/axelar-local-dev-multiversx/src/multiversXNetworkUtils.ts +++ b/packages/axelar-local-dev-multiversx/src/multiversXNetworkUtils.ts @@ -50,7 +50,7 @@ function getMultiversXConfig(): MultiversXConfig | undefined { export async function createMultiversXNetwork(config?: MultiversXNetworkConfig): Promise { const configFile = getMultiversXConfig(); - const gatewayUrl = config?.gatewayUrl || 'http://localhost:7950'; + const gatewayUrl = config?.gatewayUrl || 'http://127.0.0.1:7950'; const loadingMultiversXNetwork = new MultiversXNetwork( gatewayUrl, configFile?.axelarGatewayAddress, @@ -85,7 +85,7 @@ export async function createMultiversXNetwork(config?: MultiversXNetworkConfig): } export async function loadMultiversXNetwork( - gatewayUrl = 'http://localhost:7950', + gatewayUrl = 'http://127.0.0.1:7950', ) { const configFile = getMultiversXConfig(); diff --git a/packages/axelar-local-dev-near/src/NearNetwork.ts b/packages/axelar-local-dev-near/src/NearNetwork.ts index 72b96bb7..cc970cd2 100644 --- a/packages/axelar-local-dev-near/src/NearNetwork.ts +++ b/packages/axelar-local-dev-near/src/NearNetwork.ts @@ -211,7 +211,7 @@ export class NearNetwork extends Worker { port, rm: false, refDir: null, - rpcAddr: `http://localhost:${port}`, + rpcAddr: `http://127.0.0.1:${port}`, }; } @@ -244,6 +244,6 @@ export class NearNetwork extends Worker { } private get rpcAddr(): string { - return `http://localhost:${this.config.port}`; + return `http://127.0.0.1:${this.config.port}`; } } diff --git a/packages/axelar-local-dev-sui/__tests__/deploy.spec.ts b/packages/axelar-local-dev-sui/__tests__/deploy.spec.ts index fdf482c9..e0cadf69 100644 --- a/packages/axelar-local-dev-sui/__tests__/deploy.spec.ts +++ b/packages/axelar-local-dev-sui/__tests__/deploy.spec.ts @@ -2,7 +2,7 @@ import { SuiNetwork } from '../src/SuiNetwork'; import { TransactionBlock } from '@mysten/sui.js/transactions'; import path from 'path'; -describe.skip('Sui Network', () => { +describe('Sui Network', () => { let client: SuiNetwork; beforeEach(async () => { diff --git a/packages/axelar-local-dev-sui/__tests__/e2e.spec.ts b/packages/axelar-local-dev-sui/__tests__/e2e.spec.ts index d1f64749..1683c187 100644 --- a/packages/axelar-local-dev-sui/__tests__/e2e.spec.ts +++ b/packages/axelar-local-dev-sui/__tests__/e2e.spec.ts @@ -5,7 +5,7 @@ import { SuiNetwork, SuiRelayer, initSui } from '@axelar-network/axelar-local-de import path from 'path'; const { arrayify } = ethers.utils; -describe.skip('e2e', () => { +describe('e2e', () => { let client: SuiNetwork; let relayer: SuiRelayer; let evmNetwork: Network; diff --git a/packages/axelar-local-dev-sui/__tests__/relayer.spec.ts b/packages/axelar-local-dev-sui/__tests__/relayer.spec.ts index 700b2dcc..609fb19d 100644 --- a/packages/axelar-local-dev-sui/__tests__/relayer.spec.ts +++ b/packages/axelar-local-dev-sui/__tests__/relayer.spec.ts @@ -8,7 +8,7 @@ const { utils: { arrayify }, } = ethers; -describe.skip('relayer', () => { +describe('relayer', () => { let client: SuiNetwork; let relayer: SuiRelayer; diff --git a/packages/axelar-local-dev-sui/move/sample/Move.lock b/packages/axelar-local-dev-sui/move/sample/Move.lock index 92cf855a..4a1feaa6 100644 --- a/packages/axelar-local-dev-sui/move/sample/Move.lock +++ b/packages/axelar-local-dev-sui/move/sample/Move.lock @@ -2,7 +2,7 @@ [move] version = 0 -manifest_digest = "0EDEB57066A8F166917A87099F7DEC502108CDA37430B4E948FE20B60EA16A71" +manifest_digest = "D489E8802E938CF297CE13CBFA478E0055FFE308321E84B11EE31DC35C16BE2A" deps_digest = "3C4103934B1E040BB6B23F1D610B4EF9F2F1166A50A104EADCF77467C004C600" dependencies = [ @@ -20,12 +20,17 @@ dependencies = [ [[move.package]] name = "MoveStdlib" -source = { git = "https://github.com/MystenLabs/sui.git", rev = "framework/testnet", subdir = "crates/sui-framework/packages/move-stdlib" } +source = { git = "https://github.com/MystenLabs/sui.git", rev = "framework/mainnet", subdir = "crates/sui-framework/packages/move-stdlib" } [[move.package]] name = "Sui" -source = { git = "https://github.com/MystenLabs/sui.git", rev = "framework/testnet", subdir = "crates/sui-framework/packages/sui-framework" } +source = { git = "https://github.com/MystenLabs/sui.git", rev = "framework/mainnet", subdir = "crates/sui-framework/packages/sui-framework" } dependencies = [ { name = "MoveStdlib" }, ] + +[move.toolchain-version] +compiler-version = "1.26.0" +edition = "legacy" +flavor = "sui" diff --git a/packages/axelar-local-dev-sui/package.json b/packages/axelar-local-dev-sui/package.json index ed7182ab..7452b785 100644 --- a/packages/axelar-local-dev-sui/package.json +++ b/packages/axelar-local-dev-sui/package.json @@ -17,7 +17,7 @@ "build-sui": "cd move && sui move build" }, "dependencies": { - "@axelar-network/axelar-cgp-sui": "https://github.com/axelarnetwork/axelar-cgp-sui.git", + "@axelar-network/axelar-cgp-sui": "https://github.com/axelarnetwork/axelar-cgp-sui.git#a27769db651ab1c40c707ad95ea92bffc89fb75e", "@axelar-network/axelar-local-dev": "^2.3.2", "@mysten/sui.js": "^0.41.0" }, diff --git a/packages/axelar-local-dev/src/__tests__/export.spec.ts b/packages/axelar-local-dev/src/__tests__/export.spec.ts index c5e42f4f..8a9dbf55 100644 --- a/packages/axelar-local-dev/src/__tests__/export.spec.ts +++ b/packages/axelar-local-dev/src/__tests__/export.spec.ts @@ -133,11 +133,11 @@ describe('export', () => { chains: [ { name: 'Ethereum', - rpcUrl: 'http://localhost:8545', + rpcUrl: process.env.EVM_NODE_1 || 'http://127.0.0.1:8545', }, { name: 'Avalanche', - rpcUrl: 'http://localhost:8546', + rpcUrl: process.env.EVM_NODE_2 || 'http://127.0.0.1:8546', }, ], })) as Network[]; @@ -155,7 +155,7 @@ describe('export', () => { }); // Note: This test is expecting the host to run a local blockchain on port 8545 and 8546. - it('should be able to relay tokens from chain A to chain B', async () => { + it.only('should be able to relay tokens from chain A to chain B', async () => { const contract1 = await deployContract(srcOwner, ExecuteWithToken, [chain1.gateway.address, chain1.gasService.address]).then( (contract) => ExecuteWithTokenFactory.connect(contract.address, srcOwner) ); diff --git a/packages/axelar-local-dev/src/__tests__/network.spec.ts b/packages/axelar-local-dev/src/__tests__/network.spec.ts index b1cf9019..d036748f 100644 --- a/packages/axelar-local-dev/src/__tests__/network.spec.ts +++ b/packages/axelar-local-dev/src/__tests__/network.spec.ts @@ -58,7 +58,7 @@ describe('Network', () => { await createNetwork({ port, }); - network = await getNetwork(`http://localhost:${port}`); + network = await getNetwork(`http://127.0.0.1:${port}`); validateNetwork(network); }); @@ -74,7 +74,7 @@ describe('Network', () => { logging: { quiet: true }, }); await server.listen(port); - network = await setupNetwork(`http://localhost:${port}`, { + network = await setupNetwork(`http://127.0.0.1:${port}`, { ownerKey: new Wallet(accounts[0].secretKey), }); validateNetwork(network); diff --git a/packages/axelar-local-dev/src/exportUtils.ts b/packages/axelar-local-dev/src/exportUtils.ts index 2154e57d..fbace395 100644 --- a/packages/axelar-local-dev/src/exportUtils.ts +++ b/packages/axelar-local-dev/src/exportUtils.ts @@ -39,7 +39,7 @@ export async function createAndExport(options: CreateLocalOptions = {}) { }); const testnet = (testnetInfo as any)[name]; const info = chain.getCloneInfo() as any; - info.rpc = `http://localhost:${_options.port}/${i}`; + info.rpc = `http://127.0.0.1:${_options.port}/${i}`; (info.tokenName = testnet?.tokenName), (info.tokenSymbol = testnet?.tokenSymbol), localChains.push(info); const [user] = chain.userWallets; for (const account of _options.accountsToFund) { @@ -177,7 +177,7 @@ export async function forkAndExport(options: CloneLocalOptions = {}) { for (const chain of chains) { const network = await forkNetwork(chain, _options.networkOptions); const info = network.getCloneInfo() as any; - info.rpc = `http://localhost:${options.port}/${i}`; + info.rpc = `http://127.0.0.1:${options.port}/${i}`; (info.tokenName = chain?.tokenName), (info.tokenSymbol = chain?.tokenSymbol), chains_local.push(info); const [user] = network.userWallets; for (const account of _options.accountsToFund) { diff --git a/packages/axelar-local-dev/src/networkUtils.ts b/packages/axelar-local-dev/src/networkUtils.ts index 61e4bab7..28eb57a6 100644 --- a/packages/axelar-local-dev/src/networkUtils.ts +++ b/packages/axelar-local-dev/src/networkUtils.ts @@ -350,5 +350,5 @@ export function getDepositAddress( }; return address; } - return httpGet(`http:/localhost:${port}/getDepositAddress/${from}/${to}/${destinationAddress}/${alias}`); + return httpGet(`http:/127.0.0.1:${port}/getDepositAddress/${from}/${to}/${destinationAddress}/${alias}`); } From ef5e2353c5be9955ebe10ccfa983b784674dac52 Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 10 Jul 2024 10:13:39 +0700 Subject: [PATCH 2/2] chore: rename workflow from test-core to test-evm --- .github/workflows/{test-core.yml => test-evm.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{test-core.yml => test-evm.yml} (97%) diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-evm.yml similarity index 97% rename from .github/workflows/test-core.yml rename to .github/workflows/test-evm.yml index d08d3df9..57b815c0 100644 --- a/.github/workflows/test-core.yml +++ b/.github/workflows/test-evm.yml @@ -1,4 +1,4 @@ -name: Run Tests for Core +name: Run Tests for EVM on: pull_request jobs: