git.delta.rocks / unique-network / refs/commits / 5a3f942b588a

difftreelog

ci move forkless-nodata to baedeker

Yaroslav Bolyukin2023-09-08parent: #129199c.patch.diff
in: master

5 files changed

modified.docker/Dockerfile-uniquediffbeforeafterboth
--- a/.docker/Dockerfile-unique
+++ b/.docker/Dockerfile-unique
@@ -48,11 +48,13 @@
     cd unique-chain && \
     echo "Using runtime features '$RUNTIME_FEATURES'" && \
     CARGO_INCREMENTAL=0 cargo build --release --features="$RUNTIME_FEATURES" --locked && \
-    mv ./target/release/unique-collator /unique_parachain/unique-chain/
+    mv ./target/release/unique-collator /unique_parachain/unique-chain/ && \
+    cd target/release/wbuild && find . -name "*.wasm" -exec sh -c 'mkdir -p "../../../wasm/$(dirname {})"; cp {} "../../../wasm/{}"' \;
 
 # ===== BIN ======
 
 FROM ubuntu:22.04 as builder-polkadot
 
 COPY --from=builder-polkadot-bin /unique_parachain/unique-chain/unique-collator /bin/unique-collator
+COPY --from=builder-polkadot-bin /unique_parachain/unique-chain/wasm /wasm
 ENTRYPOINT ["/bin/unique-collator"]
added.github/actions/extractDocker/action.ymldiffbeforeafterboth
--- /dev/null
+++ b/.github/actions/extractDocker/action.yml
@@ -0,0 +1,27 @@
+name: Extract files from docker image
+description: ''
+inputs:
+  image:
+    description: Image to extract
+    required: true
+  directory:
+    description: Directory to extract from image
+    required: true
+outputs:
+  dir:
+    description: Extracted directory
+    value: ${{ steps.mktemp.outputs.dir }}
+runs:
+  using: composite
+  steps:
+    - name: Create temporary directory
+      id: mktemp
+      run: |
+        dir=$(mktemp -d -p $RUNNER_TEMP)
+        echo "dir=$dir" >> $GITHUB_OUTPUT
+      shell: bash
+    - name: Extract directory from image
+      run: |
+        docker run --entrypoint tar "${{ inputs.image }}" \
+          -C ${{ inputs.directory }} -c . | tar -xC ${{ steps.mktemp.outputs.dir }}
+      shell: bash
modified.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth
--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -8,9 +8,10 @@
 
 # A workflow run is made up of one or more jobs that can run sequentially or in parallel
 jobs:
-  prepare-execution-marix:
 
-    name: Prepare execution matrix
+  prepare-execution-matrix:
+
+    name: execution matrix
 
     runs-on: self-hosted-ci
     outputs:
@@ -34,14 +35,14 @@
         id: create_matrix
         with:
           matrix: |
-            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
-            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
-            network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
-            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
-
+            network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}, wasm_name {opal}
+            network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}, wasm_name {quartz}
+            network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}, wasm_name {quartz}
+            network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}, wasm_name {unique}
 
   forkless-nodata-build:
-    needs: prepare-execution-marix
+
+    needs: prepare-execution-matrix
     # The type of runner that the job will run on
     runs-on: [self-hosted-ci,large]
 
@@ -53,9 +54,10 @@
 
     strategy:
       matrix:
-        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
+        include: ${{fromJson(needs.prepare-execution-matrix.outputs.matrix)}}
 
     steps:
+
       - name: Clean Workspace
         uses: AutoModality/action-clean@v1.1.0
 
@@ -64,253 +66,125 @@
         with:
           ref: ${{ github.head_ref }}  #Checking out head commit
 
-      - name: Read .env file
-        uses: xom9ikk/dotenv@v2
-
       # Prepare SHA  
       - name: Prepare SHA
         uses: ./.github/actions/prepare
 
+      - name: Read .env file
+        uses: xom9ikk/dotenv@v2
+
       - name: Log in to Docker Hub
         uses: docker/login-action@v2.1.0
         with:
           username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
           password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
 
-      # Build main image for FORKLESS-UPDATE-NODATA
-      - name: Generate ENV related extend Dockerfile file
+      - name: Generate ENV related extend Dockerfile file for POLKADOT
         uses: cuchi/jinja2-action@v1.2.0
         with:
-          template: .docker/Dockerfile-parachain-upgrade.j2
-          output_file: .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml
+          template: .docker/Dockerfile-polkadot.j2
+          output_file: .docker/Dockerfile-polkadot.${{ matrix.relay_branch }}.yml
           variables: |
             RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
-            NETWORK=${{ matrix.network }}
-            MAINNET_BRANCH=${{ matrix.mainnet_branch }}
-            WASM_NAME=${{ matrix.wasm_name }}
             POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
-            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
-
-      - name: Show build Dockerfile
-        run: cat .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml
-
-      - name: Generate launch-config-forkless-nodata.json
-        uses: cuchi/jinja2-action@v1.2.0
+            
+      - name: Prepare polkadot
+        uses: ./.github/actions/buildContainer
+        id: polkadot
         with:
-          template: .docker/forkless-config/launch-config-forkless-nodata.j2
-          output_file: .docker/forkless-config/launch-config-forkless-nodata.json
-          variables: |
-            WASM_NAME=${{ matrix.wasm_name }}
-            RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}
-
-      - name: Show launch-config-forkless configuration
-        run: cat .docker/forkless-config/launch-config-forkless-nodata.json
+          container: uniquenetwork/builder-polkadot
+          tag: ${{ matrix.relay_branch }}
+          context: .docker
+          dockerfile: Dockerfile-polkadot.${{ matrix.relay_branch }}.yml
+          dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+          dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
 
-      - name: Run find-and-replace to remove slashes from branch name
-        uses: mad9000/actions-find-and-replace-string@4
-        id: branchname
+      - name: Prepare mainnet
+        uses: ./.github/actions/buildContainer
+        id: mainnet
         with:
-          source: ${{ github.head_ref }}
-          find: '/'
-          replace: '-'
-
-      - name: Set build SHA
-        shell: bash
-        run: |
-          echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
-
-      - name: Build the stack
-        run: cd .docker/ && docker build --no-cache --file ./Dockerfile-parachain-upgrade.${{ matrix.network }}.yml --tag uniquenetwork/ci-forkless-nodata-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA ../
-
-      - name: Push docker image version
-        run: docker push uniquenetwork/ci-forkless-nodata-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA
-
-      - name: Remove builder cache
-        if: always()                   # run this step always
-        run: |
-          docker builder prune -f
-          docker system prune -f
-
-
-  forkless-nodata-tests:
-    needs: [prepare-execution-marix, forkless-nodata-build]
-    # The type of runner that the job will run on
-    runs-on: [self-hosted-ci, large]
-
-    timeout-minutes: 600
-
-    name: ${{ matrix.network }}-nodata-tests
-
-    continue-on-error: true         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.
-
-    strategy:
-      matrix:
-        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
-
-    steps:
-      - name: Skip if pull request is in Draft
-        if: github.event.pull_request.draft == true
-        run: exit 1
+          container: uniquenetwork/ci-nodata-${{ matrix.network }}
+          tag: ${{ matrix.mainnet_branch }}
+          context: .docker
+          dockerfile: Dockerfile-unique-release
+          args: |
+            --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }}
+            --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
+            --build-arg UNIQUE_VERSION=${{ matrix.mainnet_branch }}
+          dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+          dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
 
-      - name: Clean Workspace
-        uses: AutoModality/action-clean@v1.1.0
-
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3.1.0
+      - name: Prepare latest
+        uses: ./.github/actions/buildContainer
+        id: latest
         with:
-          ref: ${{ github.head_ref }}  #Checking out head commit
-
-      - name: Prepare
-        uses: ./.github/actions/prepare
-
-      - name: Set build SHA
-        shell: bash
-        run: |
-          echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
+          container: uniquenetwork/ci-nodata-${{ matrix.network }}
+          tag: ${{ env.REF_SLUG }}-${{ env.BUILD_SHA }}
+          context: .
+          dockerfile: .docker/Dockerfile-unique
+          args: |
+            --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }}
+            --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
+          dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+          dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
 
-      - name: Run find-and-replace to remove slashes from branch name
-        uses: mad9000/actions-find-and-replace-string@4
-        id: branchname
+      - name: Extract wasms
+        uses: ./.github/actions/extractDocker
+        id: wasms
         with:
-          source: ${{ github.head_ref }}
-          find: '/'
-          replace: '-'
-
-      - name: Read .env file
-        uses: xom9ikk/dotenv@v2
-
-      - name: Generate ENV related extend file for docker-compose
-        uses: cuchi/jinja2-action@v1.2.0
-        with:
-          template: .docker/docker-compose.forkless-nodata.j2
-          output_file: .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml
-          variables: |
-            NETWORK=${{ matrix.network }}
-            BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA
-
-      - name: Show build configuration
-        run: cat .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml
-
-      - name: Log in to Docker Hub
-        uses: docker/login-action@v2.1.0
-        with:
-          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
-          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
-
-      - name: Build the stack
-        run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300
+          image: ${{ steps.latest.outputs.name }}
+          directory: /wasm
 
       - uses: actions/setup-node@v3.5.1
         with:
           node-version: 18
 
-      - name: Check if docker logs consist logs related to Runtime Upgrade testing.
-        if: success()
-        run: |
-          counter=160
-          function check_container_status {
-                docker inspect -f {{.State.Running}} forkless-nodata
-          }
-          function do_docker_logs {
-                docker logs --details forkless-nodata  2>&1
-          }
-          function is_started {
-                if [ "$(check_container_status)" == "true" ]; then
-                        echo "Container: forkless-nodata RUNNING";
-                        echo "Check Docker logs"
-                        DOCKER_LOGS=$(do_docker_logs)
-                        if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then
-                                echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"
-                                return 0
-                        elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then
-                                echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"
-                                return 1
-                        else
-                                echo "Message not found in logs output, repeating..."
-                                return 1
-                        fi
-                else
-                        echo "Container forkless-nodata not RUNNING"
-                        echo "Halting all future checks"
-                        exit 1
-                fi
-          exit 0
-          }
-          while ! is_started; do
-                echo "Waiting for special message in log files "
-                sleep 30s
-                counter=$(( $counter - 1 ))
-                echo "Counter: $counter"
-                if [ "$counter" -gt "0" ]; then
-                         continue
-                else
-                         break
-                fi
-          done
-          echo "Halting script"
-          exit 0
-        shell: bash
+      - name: Install baedeker
+        uses: UniqueNetwork/baedeker-action/setup@built
+
+      - name: Setup library
+        run: mkdir -p .baedeker/vendor/ && git clone https://github.com/UniqueNetwork/baedeker-library .baedeker/vendor/baedeker-library
 
-      - name: Collect Docker Logs
-        if: success() || failure()
-        uses: jwalton/gh-docker-logs@v2.2.1
+      - name: Start network
+        uses: UniqueNetwork/baedeker-action@built
+        id: bdk
         with:
-          dest: './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}'
+          jpath: |
+            .baedeker/vendor
+          tla-str: |
+            relay_spec=rococo-local
+          inputs: |
+            .baedeker/node-only.jsonnet
+            snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/polkadot':{dockerImage:'${{ steps.polkadot.outputs.name }}'}})
+            snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}}, extra_node_mixin = {legacyRpc: true})
 
-      - name: Show docker logs
-        if: success() || failure()
-        run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}/forkless-nodata.log'
-
-      - name: Run Parallel tests
+      - name: "Reconcile: runtime is upgraded"
         working-directory: tests
         run: |
-          yarn install
-          yarn add mochawesome
+          yarn
           ./scripts/wait_for_first_block.sh
-          echo "Ready to start tests"
-          NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
+          echo "Executing upgrade"
+          yarn ts-node --esm src/util/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.wasm_name }}-runtime/${{ matrix.wasm_name }}_runtime.compact.compressed.wasm
         env:
-          RPC_URL: http://127.0.0.1:9944/
-
-      - name: Test Report Parallel
-        uses: phoenix-actions/test-reporting@v10
-        id: test-report-parallel
-        if: success() || failure()    # run this step even if previous step failed
-        with:
-          name: Report Parallel tests results - ${{ matrix.network }}            # Name of the check run which will be created
-          path: tests/mochawesome-report/test-parallel-*.json    # Path to test results
-          reporter: mochawesome-json
-          fail-on-error: 'false'
+          RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
 
-      - name: Run Sequential tests
+      - name: Run Parallel tests after forkless upgrade
         working-directory: tests
-        if: success() || failure()
         run: |
-          yarn install
-          yarn add mochawesome
           ./scripts/wait_for_first_block.sh
           echo "Ready to start tests"
-          NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
+          NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
         env:
-          RPC_URL: http://127.0.0.1:9944/
-
-      - name: Test Report Sequential
-        uses: phoenix-actions/test-reporting@v10
-        id: test-report-sequential
-        if: success() || failure()    # run this step even if previous step failed
-        with:
-          name: Report Sequential tests results - ${{ matrix.network }}            # Name of the check run which will be created
-          path: tests/mochawesome-report/test-sequential-*.json    # Path to test results
-          reporter: mochawesome-json
-          fail-on-error: 'false'
+          RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
 
-      - name: Stop running containers
-        if: always()                   # run this step always
-        run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" down
+      - name: Run Sequential tests after forkless upgrade
+        if: success() || failure()
+        working-directory: ${{ matrix.mainnet_branch }}/tests
+        run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
+        env:
+          RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
 
       - name: Remove builder cache
         if: always()                   # run this step always
         run: |
-          docker builder prune -f -a
           docker system prune -f
-          docker image prune -f -a
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -18,6 +18,7 @@
     "eslint": "^8.45.0",
     "eslint-plugin-mocha": "^10.1.0",
     "mocha": "^10.1.0",
+    "mochawesome": "^7.1.3",
     "ts-node": "^10.9.1",
     "typescript": "^5.1.6"
   },
modifiedtests/yarn.lockdiffbeforeafterboth
1888 languageName: node1888 languageName: node
1889 linkType: hard1889 linkType: hard
18901890
1891"chalk@npm:^4.0.0, chalk@npm:^4.1.0":1891"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2":
1892 version: 4.1.21892 version: 4.1.2
1893 resolution: "chalk@npm:4.1.2"1893 resolution: "chalk@npm:4.1.2"
1894 dependencies:1894 dependencies:
2269 languageName: node2269 languageName: node
2270 linkType: hard2270 linkType: hard
2271
2272"dateformat@npm:^4.5.1":
2273 version: 4.6.3
2274 resolution: "dateformat@npm:4.6.3"
2275 checksum: c3aa0617c0a5b30595122bc8d1bee6276a9221e4d392087b41cbbdf175d9662ae0e50d0d6dcdf45caeac5153c4b5b0844265f8cd2b2245451e3da19e39e3b65d
2276 languageName: node
2277 linkType: hard
22712278
2272"debug@npm:2.6.9, debug@npm:^2.2.0":2279"debug@npm:2.6.9, debug@npm:^2.2.0":
2273 version: 2.6.92280 version: 2.6.9
2394 languageName: node2401 languageName: node
2395 linkType: hard2402 linkType: hard
2403
2404"diff@npm:^5.0.0":
2405 version: 5.1.0
2406 resolution: "diff@npm:5.1.0"
2407 checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90
2408 languageName: node
2409 linkType: hard
23962410
2397"dir-glob@npm:^3.0.1":2411"dir-glob@npm:^3.0.1":
2398 version: 3.0.12412 version: 3.0.1
2557 languageName: node2571 languageName: node
2558 linkType: hard2572 linkType: hard
25592573
2560"escape-html@npm:~1.0.3":2574"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3":
2561 version: 1.0.32575 version: 1.0.3
2562 resolution: "escape-html@npm:1.0.3"2576 resolution: "escape-html@npm:1.0.3"
2563 checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb242577 checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24
3158 languageName: node3172 languageName: node
3159 linkType: hard3173 linkType: hard
3174
3175"fs-extra@npm:^10.0.0":
3176 version: 10.1.0
3177 resolution: "fs-extra@npm:10.1.0"
3178 dependencies:
3179 graceful-fs: ^4.2.0
3180 jsonfile: ^6.0.1
3181 universalify: ^2.0.0
3182 checksum: dc94ab37096f813cc3ca12f0f1b5ad6744dfed9ed21e953d72530d103cea193c2f81584a39e9dee1bea36de5ee66805678c0dddc048e8af1427ac19c00fffc50
3183 languageName: node
3184 linkType: hard
31603185
3161"fs-extra@npm:^4.0.2":3186"fs-extra@npm:^4.0.2":
3162 version: 4.0.33187 version: 4.0.3
3233 languageName: node3258 languageName: node
3234 linkType: hard3259 linkType: hard
3260
3261"fsu@npm:^1.1.1":
3262 version: 1.1.1
3263 resolution: "fsu@npm:1.1.1"
3264 checksum: 470564b7586fab03ec7bbb13f3b15cf316d51919174b44e31718d4de2f7de4ce07dc180d62b984c144b7ec6e0cca2174c03985a5d8cbef70bd1ec12f1da8968d
3265 languageName: node
3266 linkType: hard
32353267
3236"function-bind@npm:^1.1.1":3268"function-bind@npm:^1.1.1":
3237 version: 1.1.13269 version: 1.1.1
3464 languageName: node3496 languageName: node
3465 linkType: hard3497 linkType: hard
34663498
3467"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.6":3499"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6":
3468 version: 4.2.113500 version: 4.2.11
3469 resolution: "graceful-fs@npm:4.2.11"3501 resolution: "graceful-fs@npm:4.2.11"
3470 checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc73502 checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7
3966 languageName: node3998 languageName: node
3967 linkType: hard3999 linkType: hard
4000
4001"js-tokens@npm:^3.0.0 || ^4.0.0":
4002 version: 4.0.0
4003 resolution: "js-tokens@npm:4.0.0"
4004 checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78
4005 languageName: node
4006 linkType: hard
39684007
3969"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0":4008"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0":
3970 version: 4.1.04009 version: 4.1.0
4031 languageName: node4070 languageName: node
4032 linkType: hard4071 linkType: hard
4072
4073"jsonfile@npm:^6.0.1":
4074 version: 6.1.0
4075 resolution: "jsonfile@npm:6.1.0"
4076 dependencies:
4077 graceful-fs: ^4.1.6
4078 universalify: ^2.0.0
4079 dependenciesMeta:
4080 graceful-fs:
4081 optional: true
4082 checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354
4083 languageName: node
4084 linkType: hard
40334085
4034"jsprim@npm:^1.2.2":4086"jsprim@npm:^1.2.2":
4035 version: 1.4.24087 version: 1.4.2
4090 languageName: node4142 languageName: node
4091 linkType: hard4143 linkType: hard
4144
4145"lodash.isempty@npm:^4.4.0":
4146 version: 4.4.0
4147 resolution: "lodash.isempty@npm:4.4.0"
4148 checksum: a8118f23f7ed72a1dbd176bf27f297d1e71aa1926288449cb8f7cef99ba1bc7527eab52fe7899ab080fa1dc150aba6e4a6367bf49fa4e0b78da1ecc095f8d8c5
4149 languageName: node
4150 linkType: hard
4151
4152"lodash.isfunction@npm:^3.0.9":
4153 version: 3.0.9
4154 resolution: "lodash.isfunction@npm:3.0.9"
4155 checksum: 99e54c34b1e8a9ba75c034deb39cedbd2aca7af685815e67a2a8ec4f73ec9748cda6ebee5a07d7de4b938e90d421fd280e9c385cc190f903ac217ac8aff30314
4156 languageName: node
4157 linkType: hard
4158
4159"lodash.isobject@npm:^3.0.2":
4160 version: 3.0.2
4161 resolution: "lodash.isobject@npm:3.0.2"
4162 checksum: 6c1667cbc4494d0a13a3617a4b23278d6d02dac520311f2bbb43f16f2cf71d2e6eb9dec8057315b77459df4890c756a256a087d3f4baa44a79ab5d6c968b060e
4163 languageName: node
4164 linkType: hard
4165
4166"lodash.isstring@npm:^4.0.1":
4167 version: 4.0.1
4168 resolution: "lodash.isstring@npm:4.0.1"
4169 checksum: eaac87ae9636848af08021083d796e2eea3d02e80082ab8a9955309569cb3a463ce97fd281d7dc119e402b2e7d8c54a23914b15d2fc7fff56461511dc8937ba0
4170 languageName: node
4171 linkType: hard
40924172
4093"lodash.merge@npm:^4.6.2":4173"lodash.merge@npm:^4.6.2":
4094 version: 4.6.24174 version: 4.6.2
4114 languageName: node4194 languageName: node
4115 linkType: hard4195 linkType: hard
4196
4197"loose-envify@npm:^1.4.0":
4198 version: 1.4.0
4199 resolution: "loose-envify@npm:1.4.0"
4200 dependencies:
4201 js-tokens: ^3.0.0 || ^4.0.0
4202 bin:
4203 loose-envify: cli.js
4204 checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4
4205 languageName: node
4206 linkType: hard
41164207
4117"lossless-json@npm:^2.0.9":4208"lossless-json@npm:^2.0.9":
4118 version: 2.0.114209 version: 2.0.11
4522 languageName: node4613 languageName: node
4523 linkType: hard4614 linkType: hard
4615
4616"mochawesome-report-generator@npm:^6.2.0":
4617 version: 6.2.0
4618 resolution: "mochawesome-report-generator@npm:6.2.0"
4619 dependencies:
4620 chalk: ^4.1.2
4621 dateformat: ^4.5.1
4622 escape-html: ^1.0.3
4623 fs-extra: ^10.0.0
4624 fsu: ^1.1.1
4625 lodash.isfunction: ^3.0.9
4626 opener: ^1.5.2
4627 prop-types: ^15.7.2
4628 tcomb: ^3.2.17
4629 tcomb-validation: ^3.3.0
4630 validator: ^13.6.0
4631 yargs: ^17.2.1
4632 bin:
4633 marge: bin/cli.js
4634 checksum: bbfafc781a5b5aa39a012e0bed7d50ac929f72a46dee640223e4398b5f2121bd552a58f1dd481c0133678650a2e4730a9f97b8a5f26f2956b66b5c0057eb9391
4635 languageName: node
4636 linkType: hard
4637
4638"mochawesome@npm:^7.1.3":
4639 version: 7.1.3
4640 resolution: "mochawesome@npm:7.1.3"
4641 dependencies:
4642 chalk: ^4.1.2
4643 diff: ^5.0.0
4644 json-stringify-safe: ^5.0.1
4645 lodash.isempty: ^4.4.0
4646 lodash.isfunction: ^3.0.9
4647 lodash.isobject: ^3.0.2
4648 lodash.isstring: ^4.0.1
4649 mochawesome-report-generator: ^6.2.0
4650 strip-ansi: ^6.0.1
4651 uuid: ^8.3.2
4652 peerDependencies:
4653 mocha: ">=7"
4654 checksum: 87730026de2a407752088e9baddc105660bfd228d491f9f6588784cd7a200712b40a4987232d3870a353bb5deec61ae6e080686fb2effe099da240067fe619d6
4655 languageName: node
4656 linkType: hard
45244657
4525"mock-fs@npm:^4.1.0":4658"mock-fs@npm:^4.1.0":
4526 version: 4.14.04659 version: 4.14.0
4838 languageName: node4971 languageName: node
4839 linkType: hard4972 linkType: hard
4973
4974"opener@npm:^1.5.2":
4975 version: 1.5.2
4976 resolution: "opener@npm:1.5.2"
4977 bin:
4978 opener: bin/opener-bin.js
4979 checksum: 33b620c0d53d5b883f2abc6687dd1c5fd394d270dbe33a6356f2d71e0a2ec85b100d5bac94694198ccf5c30d592da863b2292c5539009c715a9c80c697b4f6cc
4980 languageName: node
4981 linkType: hard
48404982
4841"optionator@npm:^0.9.3":4983"optionator@npm:^0.9.3":
4842 version: 0.9.34984 version: 0.9.3
5042 languageName: node5184 languageName: node
5043 linkType: hard5185 linkType: hard
5186
5187"prop-types@npm:^15.7.2":
5188 version: 15.8.1
5189 resolution: "prop-types@npm:15.8.1"
5190 dependencies:
5191 loose-envify: ^1.4.0
5192 object-assign: ^4.1.1
5193 react-is: ^16.13.1
5194 checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459
5195 languageName: node
5196 linkType: hard
50445197
5045"propagate@npm:^2.0.0":5198"propagate@npm:^2.0.0":
5046 version: 2.0.15199 version: 2.0.1
5178 languageName: node5331 languageName: node
5179 linkType: hard5332 linkType: hard
5333
5334"react-is@npm:^16.13.1":
5335 version: 16.13.1
5336 resolution: "react-is@npm:16.13.1"
5337 checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f
5338 languageName: node
5339 linkType: hard
51805340
5181"readable-stream@npm:^3.6.0":5341"readable-stream@npm:^3.6.0":
5182 version: 3.6.25342 version: 3.6.2
5806 languageName: node5966 languageName: node
5807 linkType: hard5967 linkType: hard
5968
5969"tcomb-validation@npm:^3.3.0":
5970 version: 3.4.1
5971 resolution: "tcomb-validation@npm:3.4.1"
5972 dependencies:
5973 tcomb: ^3.0.0
5974 checksum: 0b0bc3dab680274aeaadd8bd01528cffc7065e4ebb2b50ee354c3cc99b443530a7a7c9a3c7abf609d8e44927c51036fcef302d1bc743ff670fddbe04e8cc1e53
5975 languageName: node
5976 linkType: hard
5977
5978"tcomb@npm:^3.0.0, tcomb@npm:^3.2.17":
5979 version: 3.2.29
5980 resolution: "tcomb@npm:3.2.29"
5981 checksum: 484e39a06ce59f1752b7589cb5fce9a7f58bd34ba11a48045d5d955c7bb7133d5617f8bf2dcf2b27f06df0dffe3734097c15179c86e4f9e5bff224c99c90aa8c
5982 languageName: node
5983 linkType: hard
58085984
5809"text-table@npm:^0.2.0":5985"text-table@npm:^0.2.0":
5810 version: 0.2.05986 version: 0.2.0
6133 find-process: ^1.4.76309 find-process: ^1.4.7
6134 lossless-json: ^2.0.96310 lossless-json: ^2.0.9
6135 mocha: ^10.1.06311 mocha: ^10.1.0
6312 mochawesome: ^7.1.3
6136 solc: 0.8.206313 solc: 0.8.20
6137 ts-node: ^10.9.16314 ts-node: ^10.9.1
6138 typechain: ^8.2.06315 typechain: ^8.2.0
6148 languageName: node6325 languageName: node
6149 linkType: hard6326 linkType: hard
6327
6328"universalify@npm:^2.0.0":
6329 version: 2.0.0
6330 resolution: "universalify@npm:2.0.0"
6331 checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44
6332 languageName: node
6333 linkType: hard
61506334
6151"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":6335"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
6152 version: 1.0.06336 version: 1.0.0
6224 languageName: node6408 languageName: node
6225 linkType: hard6409 linkType: hard
6410
6411"uuid@npm:^8.3.2":
6412 version: 8.3.2
6413 resolution: "uuid@npm:8.3.2"
6414 bin:
6415 uuid: dist/bin/uuid
6416 checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df
6417 languageName: node
6418 linkType: hard
62266419
6227"uuid@npm:^9.0.0":6420"uuid@npm:^9.0.0":
6228 version: 9.0.06421 version: 9.0.0
6240 languageName: node6433 languageName: node
6241 linkType: hard6434 linkType: hard
6435
6436"validator@npm:^13.6.0":
6437 version: 13.11.0
6438 resolution: "validator@npm:13.11.0"
6439 checksum: d1e0c27022681420756da25bc03eb08d5f0c66fb008f8ff02ebc95812b77c6be6e03d3bd05cf80ca702e23eeb73dadd66b4b3683173ea2a0bc7cc72820bee131
6440 languageName: node
6441 linkType: hard
62426442
6243"varint@npm:^5.0.0":6443"varint@npm:^5.0.0":
6244 version: 5.0.26444 version: 5.0.2
6806 languageName: node7006 languageName: node
6807 linkType: hard7007 linkType: hard
68087008
6809"yargs@npm:^17.7.2":7009"yargs@npm:^17.2.1, yargs@npm:^17.7.2":
6810 version: 17.7.27010 version: 17.7.2
6811 resolution: "yargs@npm:17.7.2"7011 resolution: "yargs@npm:17.7.2"
6812 dependencies:7012 dependencies: