feat: FeeEstimateQuery #6805
This file contains hidden or 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: Build & Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| - release/* | |
| - integration-test-workflow | |
| pull_request: | |
| branches: | |
| - main | |
| - develop | |
| - release/* | |
| defaults: | |
| run: | |
| shell: bash | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| env: | |
| CG_EXEC: ionice -c 2 -n 2 nice -n 19 | |
| jobs: | |
| build: | |
| name: Build using Node ${{ matrix.node }} | |
| runs-on: hiero-client-sdk-linux-medium | |
| strategy: | |
| matrix: | |
| node: ["22", "24"] | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout Code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| submodules: true | |
| - name: Install Task | |
| uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0 | |
| with: | |
| version: 3.35.1 | |
| - name: Install PNPM | |
| uses: step-security/action-setup@3d419c73e38e670dbffe349ffff26dd13c164640 # v4.2.0 | |
| with: | |
| version: 9.15.5 | |
| - name: Setup Node | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: pnpm | |
| - name: Build @hiero-ledger/sdk | |
| run: task -v build | |
| test: | |
| name: Test using Node ${{ matrix.node }} | |
| runs-on: hiero-client-sdk-linux-large | |
| strategy: | |
| matrix: | |
| node: ["22"] | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout Code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| submodules: recursive | |
| - name: Install Task | |
| uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0 | |
| with: | |
| version: 3.35.1 | |
| - name: Install PNPM | |
| uses: step-security/action-setup@3d419c73e38e670dbffe349ffff26dd13c164640 # v4.2.0 | |
| with: | |
| version: 9.15.5 | |
| - name: Setup Node | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: pnpm | |
| - name: Build @hiero-ledger/sdk | |
| id: build-sdk | |
| run: task build | |
| - name: Install Playwright Dependencies | |
| id: playwright-deps | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: | | |
| sudo npx playwright install-deps | |
| npx playwright install | |
| - name: Prepare Hiero Solo | |
| id: solo | |
| uses: hiero-ledger/hiero-solo-action@fbca3e7a99ce9aa8a250563a81187abe115e0dad # v0.16 | |
| with: | |
| installMirrorNode: true | |
| hieroVersion: v0.69.1 | |
| mirrorNodeVersion: v0.142.0 | |
| grpcProxyPort: 8080 | |
| - name: Set Operator Account | |
| run: | | |
| echo "OPERATOR_KEY=${{ steps.solo.outputs.ed25519PrivateKey }}" >> $GITHUB_ENV | |
| echo "OPERATOR_ID=${{ steps.solo.outputs.ed25519AccountId }}" >> $GITHUB_ENV | |
| echo "HEDERA_NETWORK=local-node" >> $GITHUB_ENV | |
| - name: Run Hedera SDK Integration Tests | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: ${{ env.CG_EXEC }} task test:integration:codecov | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v5.0.2 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./coverage/lcov.info | |
| fail_ci_if_error: false | |
| - name: Build @hiero-ledger/cryptography | |
| working-directory: packages/cryptography | |
| if: ${{ steps.build-sdk.conclusion == 'success' && steps.stop-local-node.conclusion == 'success' && !cancelled() && always() }} | |
| run: ${{ env.CG_EXEC }} task build | |
| - name: Browser Unit Test @hiero-ledger/cryptography | |
| working-directory: packages/cryptography | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: ${{ env.CG_EXEC }} task test:unit:browser | |
| - name: Codecov @hiero-ledger/cryptography | |
| working-directory: packages/cryptography | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: ${{ env.CG_EXEC }} task test:unit:codecov | |
| - name: Upload @hiero-ledger/cryptography coverage to Codecov | |
| uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v5.0.2 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./packages/cryptography/coverage/lcov.info | |
| fail_ci_if_error: false | |
| - name: Browser Unit Test @hiero-ledger/sdk | |
| if: ${{ steps.build-sdk.conclusion == 'success' && steps.playwright-deps.conclusion == 'success' && !cancelled() && always() }} | |
| run: ${{ env.CG_EXEC }} task test:unit:browser | |
| - name: Codecov @hiero-ledger/sdk | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: ${{ env.CG_EXEC }} task test:unit:codecov | |
| - name: Upload @hiero-ledger/sdk coverage to Codecov | |
| uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v5.0.2 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| dab-tests: | |
| name: DAB Tests using Node ${{ matrix.node }} | |
| runs-on: hiero-client-sdk-linux-medium | |
| strategy: | |
| matrix: | |
| node: ["22"] | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout Code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| submodules: recursive | |
| - name: Install Task | |
| uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0 | |
| with: | |
| version: 3.35.1 | |
| - name: Install PNPM | |
| uses: step-security/action-setup@3d419c73e38e670dbffe349ffff26dd13c164640 # v4.2.0 | |
| with: | |
| version: 9.15.5 | |
| - name: Setup Node | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: pnpm | |
| - name: Build @hashgraph/sdk | |
| id: build-sdk | |
| run: task build | |
| - name: Install Playwright Dependencies | |
| id: playwright-deps | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: | | |
| sudo npx playwright install-deps | |
| npx playwright install | |
| - name: Prepare Hiero Solo | |
| id: solo | |
| uses: hiero-ledger/hiero-solo-action@fbca3e7a99ce9aa8a250563a81187abe115e0dad # 0.16.0 | |
| with: | |
| installMirrorNode: true | |
| hieroVersion: v0.69.1 | |
| mirrorNodeVersion: v0.142.0 | |
| grpcProxyPort: 8080 | |
| dualMode: true | |
| dualModeGrpcProxyPort: 8081 | |
| - name: Set Operator Account | |
| run: | | |
| echo "OPERATOR_KEY=${{ steps.solo.outputs.ed25519PrivateKey }}" >> $GITHUB_ENV | |
| echo "OPERATOR_ID=${{ steps.solo.outputs.ed25519AccountId }}" >> $GITHUB_ENV | |
| echo "HEDERA_NETWORK=local-node" >> $GITHUB_ENV | |
| - name: Run DAB Integration Tests | |
| if: ${{ steps.build-sdk.conclusion == 'success' && !cancelled() && always() }} | |
| run: task test:integration:dual-mode | |
| examples: | |
| name: Run examples using Node ${{ matrix.node }} | |
| runs-on: hiero-client-sdk-linux-medium | |
| strategy: | |
| matrix: | |
| node: ["22"] | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout Code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| submodules: recursive | |
| - name: Install Task | |
| uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0 | |
| with: | |
| version: 3.35.1 | |
| - name: Install PNPM | |
| uses: step-security/action-setup@3d419c73e38e670dbffe349ffff26dd13c164640 # v4.2.0 | |
| with: | |
| version: 9.15.5 | |
| - name: Setup Node | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: pnpm | |
| - name: Build @hiero-ledger/sdk | |
| id: build-sdk | |
| run: task build | |
| - name: Prepare Hiero Solo | |
| id: solo | |
| uses: hiero-ledger/hiero-solo-action@fbca3e7a99ce9aa8a250563a81187abe115e0dad # v0.16 | |
| with: | |
| installMirrorNode: true | |
| hieroVersion: v0.69.1 | |
| mirrorNodeVersion: v0.142.0 | |
| grpcProxyPort: 8080 | |
| - name: Set Operator Account | |
| run: | | |
| echo "OPERATOR_KEY=${{ steps.solo.outputs.ecdsaPrivateKey }}" >> $GITHUB_ENV | |
| echo "OPERATOR_ID=${{ steps.solo.outputs.ecdsaAccountId }}" >> $GITHUB_ENV | |
| echo "HEDERA_NETWORK=local-node" >> $GITHUB_ENV | |
| - name: Install dependencies | |
| run: | | |
| cd examples | |
| pnpm i | |
| - name: Run all examples | |
| run: task run:examples |