diff --git a/.github/workflows/test-localnet.yml b/.github/workflows/test-localnet.yml index 66a2cc77..2c30f1c1 100644 --- a/.github/workflows/test-localnet.yml +++ b/.github/workflows/test-localnet.yml @@ -14,15 +14,21 @@ jobs: runs-on: ubuntu-latest steps: + # Install system dependencies + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y libusb-1.0-0-dev libudev-dev pkg-config + # Step 1: Checkout the repository - name: Checkout code uses: actions/checkout@v3 # Step 2: Set up Python environment - - name: Set up Python 3.x + - name: Set up Python 3.11 uses: actions/setup-python@v4 with: - python-version: '3.x' + python-version: '3.11' # Step 3: Install pipx (to manage Python tools) - name: Install pipx @@ -44,8 +50,26 @@ jobs: # Start the local testnet with mxpy mkdir -p ~/localnet && cd ~/localnet mxpy localnet setup --configfile=${GITHUB_WORKSPACE}/localnet.toml + echo "Localnet setup completed." + echo "Starting localnet..." nohup mxpy localnet start --configfile=${GITHUB_WORKSPACE}/localnet.toml > localnet.log 2>&1 & echo $! > localnet.pid - sleep 120 # Allow time for the testnet to fully start + echo "Localnet started, waiting for it to be fully operational..." + + # Allow time for the testnet to fully start + timeout=300 + elapsed=0 + while ! curl -s http://127.0.0.1:7950/network/config > /dev/null; do + if [ $elapsed -ge $timeout ]; then + echo "Timeout waiting for localnet to start" + cat ~/localnet/localnet.log + exit 1 + fi + echo "Waiting for localnet... ($elapsed/$timeout seconds)" + sleep 10 + elapsed=$((elapsed + 10)) + done + + echo "Localnet is ready!" # Step 6: Install Node.js and dependencies - name: Set up Node.js environment diff --git a/package-lock.json b/package-lock.json index f3044f62..207a29f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@multiversx/sdk-core", - "version": "15.3.0", + "version": "15.3.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@multiversx/sdk-core", - "version": "15.3.0", + "version": "15.3.1", "license": "MIT", "dependencies": { "@multiversx/sdk-transaction-decoder": "1.0.2", diff --git a/package.json b/package.json index 6492b598..614bcda8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@multiversx/sdk-core", - "version": "15.3.0", + "version": "15.3.1", "description": "MultiversX SDK for JavaScript and TypeScript", "author": "MultiversX", "homepage": "https://multiversx.com", diff --git a/src/abi/typesystem/typeMapper.spec.ts b/src/abi/typesystem/typeMapper.spec.ts index 6d53aa7d..1eff9a9f 100644 --- a/src/abi/typesystem/typeMapper.spec.ts +++ b/src/abi/typesystem/typeMapper.spec.ts @@ -24,6 +24,7 @@ describe("test mapper", () => { testMapping("u64", new U64Type()); testMapping("BigUint", new BigUIntType()); testMapping("TokenIdentifier", new TokenIdentifierType()); + testMapping("EsdtTokenIdentifier", new TokenIdentifierType()); }); it("should map generic types", () => { diff --git a/src/abi/typesystem/typeMapper.ts b/src/abi/typesystem/typeMapper.ts index 3320f775..84a0de57 100644 --- a/src/abi/typesystem/typeMapper.ts +++ b/src/abi/typesystem/typeMapper.ts @@ -104,6 +104,7 @@ export class TypeMapper { ["utf-8 string", new StringType()], ["TokenIdentifier", new TokenIdentifierType()], ["EgldOrEsdtTokenIdentifier", new TokenIdentifierType()], + ["EsdtTokenIdentifier", new TokenIdentifierType()], ["CodeMetadata", new CodeMetadataType()], ["nothing", new NothingType()], ["AsyncCall", new NothingType()],