-
Notifications
You must be signed in to change notification settings - Fork 203
feat: proto v2 #598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: proto v2 #598
Conversation
WalkthroughExtensive removal of GitBook documentation, generated API reference HTML pages, CSS assets, bundle-size tooling, and GitHub Actions workflows. The Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
bca046c to
eecc8de
Compare
| @@ -0,0 +1,38 @@ | |||
| // Simple test to verify Gov API migration works | |||
| const { ChainGrpcGovApi } = require('./dist/cjs/client/chain/grpc/ChainGrpcGovApi'); | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we move this to a separate folder or it's a temporary script?
| @@ -0,0 +1,11 @@ | |||
| import BaseGrpcConsumerV2 from './BaseGrpcConsumerV2.js' | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we delete this file?
e793d60 to
a1db4bb
Compare
e59fe33 to
f0d4856
Compare
bc12e08 to
39ab7e8
Compare
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
429d004 to
a41979b
Compare
dc31936 to
c040b1a
Compare
- @injectivelabs/exceptions@1.17.2-alpha.10 - @injectivelabs/networks@1.17.2-alpha.10 - @injectivelabs/sdk-ts@1.17.2-alpha.10 - @injectivelabs/ts-types@1.17.2-alpha.10 - @injectivelabs/utils@1.17.2-alpha.10 - @injectivelabs/wallet-base@1.17.2-alpha.10 - @injectivelabs/wallet-core@1.17.2-alpha.10 - @injectivelabs/wallet-cosmos@1.17.2-alpha.10 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.10 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.10 - @injectivelabs/wallet-evm@1.17.2-alpha.10 - @injectivelabs/wallet-ledger@1.17.2-alpha.10 - @injectivelabs/wallet-magic@1.17.2-alpha.10 - @injectivelabs/wallet-private-key@1.17.2-alpha.10 - @injectivelabs/wallet-strategy@1.17.2-alpha.10 - @injectivelabs/wallet-trezor@1.17.2-alpha.10 - @injectivelabs/wallet-turnkey@1.17.2-alpha.10 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.10
- @injectivelabs/exceptions@1.17.2-alpha.11 - @injectivelabs/networks@1.17.2-alpha.11 - @injectivelabs/sdk-ts@1.17.2-alpha.11 - @injectivelabs/ts-types@1.17.2-alpha.11 - @injectivelabs/utils@1.17.2-alpha.11 - @injectivelabs/wallet-base@1.17.2-alpha.11 - @injectivelabs/wallet-core@1.17.2-alpha.11 - @injectivelabs/wallet-cosmos@1.17.2-alpha.11 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.11 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.11 - @injectivelabs/wallet-evm@1.17.2-alpha.11 - @injectivelabs/wallet-ledger@1.17.2-alpha.11 - @injectivelabs/wallet-magic@1.17.2-alpha.11 - @injectivelabs/wallet-private-key@1.17.2-alpha.11 - @injectivelabs/wallet-strategy@1.17.2-alpha.11 - @injectivelabs/wallet-trezor@1.17.2-alpha.11 - @injectivelabs/wallet-turnkey@1.17.2-alpha.11 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.11
- @injectivelabs/exceptions@1.17.2-alpha.12 - @injectivelabs/networks@1.17.2-alpha.12 - @injectivelabs/sdk-ts@1.17.2-alpha.12 - @injectivelabs/ts-types@1.17.2-alpha.12 - @injectivelabs/utils@1.17.2-alpha.12 - @injectivelabs/wallet-base@1.17.2-alpha.12 - @injectivelabs/wallet-core@1.17.2-alpha.12 - @injectivelabs/wallet-cosmos@1.17.2-alpha.12 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.12 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.12 - @injectivelabs/wallet-evm@1.17.2-alpha.12 - @injectivelabs/wallet-ledger@1.17.2-alpha.12 - @injectivelabs/wallet-magic@1.17.2-alpha.12 - @injectivelabs/wallet-private-key@1.17.2-alpha.12 - @injectivelabs/wallet-strategy@1.17.2-alpha.12 - @injectivelabs/wallet-trezor@1.17.2-alpha.12 - @injectivelabs/wallet-turnkey@1.17.2-alpha.12 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.12
…ositions chore/add-funding-sum-to-positions
- @injectivelabs/exceptions@1.17.2-alpha.13 - @injectivelabs/networks@1.17.2-alpha.13 - @injectivelabs/sdk-ts@1.17.2-alpha.13 - @injectivelabs/ts-types@1.17.2-alpha.13 - @injectivelabs/utils@1.17.2-alpha.13 - @injectivelabs/wallet-base@1.17.2-alpha.13 - @injectivelabs/wallet-core@1.17.2-alpha.13 - @injectivelabs/wallet-cosmos@1.17.2-alpha.13 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.13 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.13 - @injectivelabs/wallet-evm@1.17.2-alpha.13 - @injectivelabs/wallet-ledger@1.17.2-alpha.13 - @injectivelabs/wallet-magic@1.17.2-alpha.13 - @injectivelabs/wallet-private-key@1.17.2-alpha.13 - @injectivelabs/wallet-strategy@1.17.2-alpha.13 - @injectivelabs/wallet-trezor@1.17.2-alpha.13 - @injectivelabs/wallet-turnkey@1.17.2-alpha.13 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.13
Chore/error message fix
- @injectivelabs/exceptions@1.17.2-alpha.14 - @injectivelabs/networks@1.17.2-alpha.14 - @injectivelabs/sdk-ts@1.17.2-alpha.14 - @injectivelabs/ts-types@1.17.2-alpha.14 - @injectivelabs/utils@1.17.2-alpha.14 - @injectivelabs/wallet-base@1.17.2-alpha.14 - @injectivelabs/wallet-core@1.17.2-alpha.14 - @injectivelabs/wallet-cosmos@1.17.2-alpha.14 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.14 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.14 - @injectivelabs/wallet-evm@1.17.2-alpha.14 - @injectivelabs/wallet-ledger@1.17.2-alpha.14 - @injectivelabs/wallet-magic@1.17.2-alpha.14 - @injectivelabs/wallet-private-key@1.17.2-alpha.14 - @injectivelabs/wallet-strategy@1.17.2-alpha.14 - @injectivelabs/wallet-trezor@1.17.2-alpha.14 - @injectivelabs/wallet-turnkey@1.17.2-alpha.14 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.14
…ad (object and array)
- @injectivelabs/exceptions@1.17.2-alpha.15 - @injectivelabs/networks@1.17.2-alpha.15 - @injectivelabs/sdk-ts@1.17.2-alpha.15 - @injectivelabs/ts-types@1.17.2-alpha.15 - @injectivelabs/utils@1.17.2-alpha.15 - @injectivelabs/wallet-base@1.17.2-alpha.15 - @injectivelabs/wallet-core@1.17.2-alpha.15 - @injectivelabs/wallet-cosmos@1.17.2-alpha.15 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.15 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.15 - @injectivelabs/wallet-evm@1.17.2-alpha.15 - @injectivelabs/wallet-ledger@1.17.2-alpha.15 - @injectivelabs/wallet-magic@1.17.2-alpha.15 - @injectivelabs/wallet-private-key@1.17.2-alpha.15 - @injectivelabs/wallet-strategy@1.17.2-alpha.15 - @injectivelabs/wallet-trezor@1.17.2-alpha.15 - @injectivelabs/wallet-turnkey@1.17.2-alpha.15 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.15
- @injectivelabs/exceptions@1.17.2-alpha.16 - @injectivelabs/networks@1.17.2-alpha.16 - @injectivelabs/sdk-ts@1.17.2-alpha.16 - @injectivelabs/ts-types@1.17.2-alpha.16 - @injectivelabs/utils@1.17.2-alpha.16 - @injectivelabs/wallet-base@1.17.2-alpha.16 - @injectivelabs/wallet-core@1.17.2-alpha.16 - @injectivelabs/wallet-cosmos@1.17.2-alpha.16 - @injectivelabs/wallet-cosmos-strategy@1.17.2-alpha.16 - @injectivelabs/wallet-cosmostation@1.17.2-alpha.16 - @injectivelabs/wallet-evm@1.17.2-alpha.16 - @injectivelabs/wallet-ledger@1.17.2-alpha.16 - @injectivelabs/wallet-magic@1.17.2-alpha.16 - @injectivelabs/wallet-private-key@1.17.2-alpha.16 - @injectivelabs/wallet-strategy@1.17.2-alpha.16 - @injectivelabs/wallet-trezor@1.17.2-alpha.16 - @injectivelabs/wallet-turnkey@1.17.2-alpha.16 - @injectivelabs/wallet-wallet-connect@1.17.2-alpha.16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (7)
.gitignore (1)
7-8: Remove duplicate entries that already exist later in the file.Lines 7–8 duplicate entries already present later in the file:
.eslintcacheis already at line 152.tsbuildinfois already covered by the pattern*.tsbuildinfoat line 146Consolidate by removing these lines to keep the file organized with the generated-tooling entries grouped together below.
🔎 Proposed cleanup
reports junit.xml dist .build-cache .nx/ .DS_STORE -.eslintcache -.tsbuildinfo # Created by https://www.gitignore.io/api/node,intellij+all,visualstudiocode.husky/pre-push (3)
1-1: Add shebang for portability.The script lacks a shebang line. Adding
#!/bin/shensures consistent execution across different environments and makes the intended interpreter explicit.🔎 Proposed fix
+#!/bin/sh set -e
1-5: Simplify:|| exit 1is redundant withset -e.Since
set -eis enabled on Line 1, the script already exits on any command failure. The explicit|| exit 1on Lines 3-5 is redundant and can be removed for cleaner code.🔎 Proposed simplification
set -e -pnpm type-check || exit 1 -pnpm lint || exit 1 -pnpm build || exit 1 +pnpm type-check +pnpm lint +pnpm build
3-5: Consider the performance impact of running a full build on every push.Running
pnpm buildbefore every push may significantly slow down the developer workflow, especially in a large monorepo. If builds are time-consuming, developers might be tempted to bypass the hook with--no-verify.Consider alternatives:
- Run only type-check and lint in the pre-push hook
- Move the build step to CI/CD
- Use incremental builds or cache build artifacts
.husky/pre-commit (1)
1-3: Consider adding validation and better output messages.The script could be more robust with:
- Verification that we're in a repository root before changing directories
- Success confirmation message after OFAC fetch
- More informative output for debugging failed commits
🔎 Proposed improvements for reliability
#!/bin/sh set -e echo "Fetching OFAC list..." +# Verify we're in the repository root +if [ ! -d "packages/sdk-ts" ]; then + echo "Error: packages/sdk-ts directory not found. Are you in the repository root?" + exit 1 +fi + cd packages/sdk-ts && pnpm fetch:ofac && git add src/utils/ofac.ts -echo "OFAC list updated successfully" +echo "✓ OFAC list updated and staged successfully".github/workflows/stable.yaml (1)
1-70: Consider removing this deprecated workflow file entirely.Since this workflow is permanently disabled and all publishing is now handled by
dev.yaml, keeping this file may cause confusion for maintainers. The deprecation notice is helpful, but removing the file would be cleaner.If you need to preserve the workflow logic for reference, consider moving it to documentation or a separate archive directory.
Alternative: Keep minimal stub with clear redirect
If you prefer to keep a file at this path to prevent accidental recreation, consider replacing the entire content with a minimal stub:
-# ============================================ -# DEPRECATED WORKFLOW -# ============================================ -# This workflow is permanently disabled. -# All publishing (latest, canary, beta) is now handled by dev.yaml -# which uses OIDC trusted publishing. -# -# For local/CLI releases, use: -# pnpm release:patch -# pnpm release:minor -# -# These require npm CLI authentication (npm login). -# ============================================ - -name: Publish stable (DEPRECATED) - -on: - workflow_dispatch: - -jobs: - publish: - # Permanently disabled - use dev.yaml or CLI instead - if: false - runs-on: ubuntu-latest - permissions: write-all - - steps: - - name: 'Checkout' - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Using Node from .nvmrc - uses: useblacksmith/setup-node@v5 - with: - node-version-file: '.nvmrc' - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - with: - version: latest - - - name: Set up Git user - run: | - git config user.name "${{ github.actor }}" - git config user.email "${{ github.actor }}@users.noreply.github.com" - - - name: Build dependencies - run: | - node etc/bootstrapEnv - pnpm install - pnpm build - - - name: Setup npm - run: | - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - git update-index --assume-unchanged .npmrc - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Version packages - run: pnpm exec lerna version minor --conventional-commits --force-git-tag --yes --no-push - env: - GH_TOKEN: ${{ secrets.GH_TOKEN }} - - - name: Publish to npm - run: pnpm publish -r --access public --tag latest --no-git-checks - - - name: Push tags to git - run: git push --follow-tags +# ============================================ +# DEPRECATED - DO NOT USE +# ============================================ +# This workflow has been replaced by dev.yaml +# See: .github/workflows/dev.yaml +# +# For local/CLI releases, use: +# pnpm release:patch +# pnpm release:minor +# ============================================ + +name: Publish stable (DEPRECATED - DO NOT USE) + +on: + workflow_dispatch: + +jobs: + deprecated: + if: false + runs-on: ubuntu-latest + steps: + - run: echo "This workflow is deprecated. Use dev.yaml instead.".github/workflows/dev.yaml (1)
142-181: JSON manipulation in publish loop is fragile and should use a simpler approach.The custom publish loop correctly uses
pnpm packto resolvecatalog:protocol dependencies andnpm publishwith--provenancefor OIDC authentication. The error handling (lines 175-178) ensures the workflow fails if no packages publish successfully. Package paths correctly match all 18 packages in the monorepo.However, the JSON manipulation on line 164 is problematic:
PUBLISHED_PACKAGES=$(echo "$PUBLISHED_PACKAGES" | node -p "JSON.stringify([...JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')), {name:'$pkg_name',version:'$pkg_version'}])")Variable interpolation directly into a string literal breaks if
pkg_nameorpkg_versioncontain special characters (e.g., single quotes). While current package names are safe, this is a latent vulnerability. Simplify using a text file approach:- PUBLISHED_PACKAGES="[]" + SUMMARY_FILE="$ROOT_DIR/publish-summary.txt" + > "$SUMMARY_FILE" PUBLISH_COUNT=0 for pkg_json in packages/*/package.json packages/wallets/*/package.json; do ... if npm publish "$tarball_name" --access public --tag "$DIST_TAG" --provenance; then - PUBLISHED_PACKAGES=$(echo "$PUBLISHED_PACKAGES" | node -p "JSON.stringify([...JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')), {name:'$pkg_name',version:'$pkg_version'}])") + echo "$pkg_name@$pkg_version" >> "$SUMMARY_FILE" PUBLISH_COUNT=$((PUBLISH_COUNT + 1)) fi ... done - echo "{\"publishedPackages\":$PUBLISHED_PACKAGES}" > pnpm-publish-summary.json + jq -R -s 'split("\n") | map(select(length > 0))' "$SUMMARY_FILE" > pnpm-publish-summary.json
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (4)
docs/assets/icons.pngis excluded by!**/*.pngdocs/assets/icons@2x.pngis excluded by!**/*.pngdocs/assets/widgets.pngis excluded by!**/*.pngdocs/assets/widgets@2x.pngis excluded by!**/*.png
📒 Files selected for processing (296)
.gitbook.yaml.gitbook/README.md.gitbook/SUMMARY.md.gitbook/bridges/bridge.md.gitbook/bridges/ethereum.md.gitbook/bridges/ibc.md.gitbook/bridges/wormhole.md.gitbook/building-dapps/bridge.md.gitbook/building-dapps/building-dapps.md.gitbook/building-dapps/configuring-nuxt.md.gitbook/building-dapps/configuring-react.md.gitbook/building-dapps/dapps-examples/README.md.gitbook/building-dapps/dapps-examples/simple-html-example-with-webpack.md.gitbook/building-dapps/dex.md.gitbook/building-dapps/smart-contract.md.gitbook/core-modules-and-examples/auction.md.gitbook/core-modules-and-examples/authz.md.gitbook/core-modules-and-examples/bank.md.gitbook/core-modules-and-examples/core-modules.md.gitbook/core-modules-and-examples/distribution.md.gitbook/core-modules-and-examples/exchange.md.gitbook/core-modules-and-examples/feegrant.md.gitbook/core-modules-and-examples/governance.md.gitbook/core-modules-and-examples/ibc.md.gitbook/core-modules-and-examples/insurance.md.gitbook/core-modules-and-examples/peggy.md.gitbook/core-modules-and-examples/permissions.md.gitbook/core-modules-and-examples/staking.md.gitbook/core-modules-and-examples/token-factory.md.gitbook/core-modules-and-examples/wasm.md.gitbook/core-modules/tokenfactory.md.gitbook/getting-started/application-concepts/README.md.gitbook/getting-started/application-concepts/calculations/README.md.gitbook/getting-started/application-concepts/calculations/min-price-tick-size.md.gitbook/getting-started/application-concepts/calculations/min-quantity-tick-size.md.gitbook/getting-started/application-concepts/getting-started-cosmjs.md.gitbook/getting-started/application-concepts/networks.md.gitbook/getting-started/assets/README.md.gitbook/getting-started/assets/creating-tokens.md.gitbook/getting-started/assets/denom-client.md.gitbook/getting-started/assets/injective-list.md.gitbook/getting-started/running-examples.md.gitbook/getting-started/technical-concepts.md.gitbook/llm.txt.md.gitbook/querying/querying-api/README.md.gitbook/querying/querying-api/querying-indexer-account.md.gitbook/querying/querying-api/querying-indexer-auction.md.gitbook/querying/querying-api/querying-indexer-derivatives.md.gitbook/querying/querying-api/querying-indexer-explorer.md.gitbook/querying/querying-api/querying-indexer-insurance-funds.md.gitbook/querying/querying-api/querying-indexer-leaderboard.md.gitbook/querying/querying-api/querying-indexer-markets.md.gitbook/querying/querying-api/querying-indexer-mito.md.gitbook/querying/querying-api/querying-indexer-oracle.md.gitbook/querying/querying-api/querying-indexer-portfolio.md.gitbook/querying/querying-api/querying-indexer-spot.md.gitbook/querying/querying-api/querying-indexer-transaction.md.gitbook/querying/querying-api/streaming/README.md.gitbook/querying/querying-api/streaming/streaming-indexer-account.md.gitbook/querying/querying-api/streaming/streaming-indexer-archiver.md.gitbook/querying/querying-api/streaming/streaming-indexer-auction.md.gitbook/querying/querying-api/streaming/streaming-indexer-derivatives.md.gitbook/querying/querying-api/streaming/streaming-indexer-explorer.md.gitbook/querying/querying-api/streaming/streaming-indexer-oracle.md.gitbook/querying/querying-api/streaming/streaming-indexer-portfolio.md.gitbook/querying/querying-api/streaming/streaming-indexer-spot.md.gitbook/querying/querying-chain/README.md.gitbook/querying/querying-chain/querying-chain-auction-module.md.gitbook/querying/querying-chain/querying-chain-auth-module.md.gitbook/querying/querying-chain/querying-chain-bank-module.md.gitbook/querying/querying-chain/querying-chain-distribution.md.gitbook/querying/querying-chain/querying-chain-exchange.md.gitbook/querying/querying-chain/querying-chain-governance.md.gitbook/querying/querying-chain/querying-chain-ibc.md.gitbook/querying/querying-chain/querying-chain-insurance-funds.md.gitbook/querying/querying-chain/querying-chain-mint.md.gitbook/querying/querying-chain/querying-chain-oracle.md.gitbook/querying/querying-chain/querying-chain-peggy.md.gitbook/querying/querying-chain/querying-chain-permissions.md.gitbook/querying/querying-chain/querying-chain-staking.md.gitbook/querying/querying-chain/querying-chain-tendermint.md.gitbook/querying/querying-chain/querying-chain-wasm.md.gitbook/querying/querying-chain/querying-chain-wasmx.md.gitbook/querying/querying-chain/token-factory.md.gitbook/querying/querying-ethereum.md.gitbook/querying/querying.md.gitbook/readme/assets/token-price.md.gitbook/readme/denoms-(tokens)/README.md.gitbook/readme/denoms-(tokens)/creating-tokens.md.gitbook/readme/denoms-(tokens)/denom-client.md.gitbook/smart-contracts/contracts/README.md.gitbook/smart-contracts/contracts/cw20-convert-and-market-order-example.md.gitbook/smart-contracts/contracts/injective-name-service.md.gitbook/smart-contracts/contracts/neptune-service.md.gitbook/transactions/ethereum-ledger.md.gitbook/transactions/ethereum.md.gitbook/transactions/msgbroadcaster.md.gitbook/transactions/private-key.md.gitbook/transactions/transactions-cosmos/README.md.gitbook/transactions/transactions-cosmos/ledger-through-keplr-wallet.md.gitbook/transactions/transactions.md.gitbook/transactions/web3-gateway.md.gitbook/wallets/offchain-arbitrary-data.md.gitbook/wallets/wallet-accounts.md.gitbook/wallets/wallet-connections.md.gitbook/wallets/wallet-wallet-strategy.md.gitbook/wallets/wallet.md.github/workflows/beta.yml.github/workflows/canary.yml.github/workflows/dev.yaml.github/workflows/stable.yaml.gitignore.husky/commit-msg.husky/pre-commit.husky/pre-push.rooignorebundle-analysis/results.jsonbundle-size/README.mdbundle-size/index.jsbundle-size/rollup.config.tsdocs/.nojekylldocs/assets/highlight.cssdocs/assets/icons.cssdocs/assets/main.jsdocs/assets/search.jsdocs/assets/style.cssdocs/classes/_injectivelabs_sdk_ts.Address.htmldocs/classes/_injectivelabs_sdk_ts.BaseAccount.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcAuctionApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcAuctionTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcAuthApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcBankApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcBankTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcDistributionApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcDistributionTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcExchangeApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcExchangeTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcGovApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcGovTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcIbcApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcInsuranceFundApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcInsuranceFundTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcMintApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcMintTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcOracleApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcPeggyApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcPeggyTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcStakingApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcStakingTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcWasmApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcWasmTransformer.htmldocs/classes/_injectivelabs_sdk_ts.ChainGrpcWasmXApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainRestAuthApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainRestBankApi.htmldocs/classes/_injectivelabs_sdk_ts.ChainRestTendermintApi.htmldocs/classes/_injectivelabs_sdk_ts.DenomClient.htmldocs/classes/_injectivelabs_sdk_ts.DenomClientSync.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgCW20AdapterRedeemAndTransfer.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgCW20Send.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgCW20Transfer.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgDepositTokens.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgIncreaseAllowance.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgInitiateTransfer.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgRegisterVault.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgSubmitVaa.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgUpdateAMMVaultConfig.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgUpdateDerivativeVaultConfig.htmldocs/classes/_injectivelabs_sdk_ts.ExecArgUpdateSpotVaultConfig.htmldocs/classes/_injectivelabs_sdk_ts.ExecPrivilegedArgRegisterVault.htmldocs/classes/_injectivelabs_sdk_ts.ExecPrivilegedArgVaultRedeem.htmldocs/classes/_injectivelabs_sdk_ts.ExecPrivilegedArgVaultSubscribe.htmldocs/classes/_injectivelabs_sdk_ts.ExplorerStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerAccountPortfolioStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerAccountStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerAuctionStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerDerivativeStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAccountApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAccountPortfolioApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAccountPortfolioStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAccountPortfolioTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAccountStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAccountTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAuctionApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAuctionStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcAuctionTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcDerivativeTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcDerivativesApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcDerivativesStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcExplorerApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcExplorerStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcExplorerTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcInsuranceFundApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcInsuranceFundTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcMetaApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcMitoApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcMitoTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcOracleApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcOracleStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcOracleTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcSpotApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcSpotStream.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcSpotTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerGrpcTransactionApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerOracleStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerRestDerivativesChronosApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerRestExplorerApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerRestExplorerTransformer.htmldocs/classes/_injectivelabs_sdk_ts.IndexerRestLeaderboardChronosApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerRestMarketChronosApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerRestSpotChronosApi.htmldocs/classes/_injectivelabs_sdk_ts.IndexerSpotStreamTransformer.htmldocs/classes/_injectivelabs_sdk_ts.InjectiveDirectEthSecp256k1Wallet.htmldocs/classes/_injectivelabs_sdk_ts.InjectiveEthSecp256k1Wallet.htmldocs/classes/_injectivelabs_sdk_ts.MitoQueryTransformer.htmldocs/classes/_injectivelabs_sdk_ts.MsgAuthzExec.htmldocs/classes/_injectivelabs_sdk_ts.MsgBatchCancelBinaryOptionsOrders.htmldocs/classes/_injectivelabs_sdk_ts.MsgBatchCancelDerivativeOrders.htmldocs/classes/_injectivelabs_sdk_ts.MsgBatchCancelSpotOrders.htmldocs/classes/_injectivelabs_sdk_ts.MsgBatchUpdateOrders.htmldocs/classes/_injectivelabs_sdk_ts.MsgBeginRedelegate.htmldocs/classes/_injectivelabs_sdk_ts.MsgBid.htmldocs/classes/_injectivelabs_sdk_ts.MsgBroadcasterWithPk.htmldocs/classes/_injectivelabs_sdk_ts.MsgCancelBinaryOptionsOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCancelDerivativeOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCancelSpotOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateBinaryOptionsLimitOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateBinaryOptionsMarketOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateDerivativeLimitOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateDerivativeMarketOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateInsuranceFund.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateSpotLimitOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgCreateSpotMarketOrder.htmldocs/classes/_injectivelabs_sdk_ts.MsgDelegate.htmldocs/classes/_injectivelabs_sdk_ts.MsgDeposit.htmldocs/classes/_injectivelabs_sdk_ts.MsgEditValidator.htmldocs/classes/_injectivelabs_sdk_ts.MsgExecuteContract.htmldocs/classes/_injectivelabs_sdk_ts.MsgExecuteContractCompat.htmldocs/classes/_injectivelabs_sdk_ts.MsgExternalTransfer.htmldocs/classes/_injectivelabs_sdk_ts.MsgGovDeposit.htmldocs/classes/_injectivelabs_sdk_ts.MsgGrant.htmldocs/classes/_injectivelabs_sdk_ts.MsgIncreasePositionMargin.htmldocs/classes/_injectivelabs_sdk_ts.MsgInstantBinaryOptionsMarketLaunch.htmldocs/classes/_injectivelabs_sdk_ts.MsgInstantSpotMarketLaunch.htmldocs/classes/_injectivelabs_sdk_ts.MsgInstantiateContract.htmldocs/classes/_injectivelabs_sdk_ts.MsgMigrateContract.htmldocs/classes/_injectivelabs_sdk_ts.MsgMultiSend.htmldocs/classes/_injectivelabs_sdk_ts.MsgPrivilegedExecuteContract.htmldocs/classes/_injectivelabs_sdk_ts.MsgReclaimLockedFunds.htmldocs/classes/_injectivelabs_sdk_ts.MsgRequestRedemption.htmldocs/classes/_injectivelabs_sdk_ts.MsgRevoke.htmldocs/classes/_injectivelabs_sdk_ts.MsgSend.htmldocs/classes/_injectivelabs_sdk_ts.MsgSendToEth.htmldocs/classes/_injectivelabs_sdk_ts.MsgStoreCode.htmldocs/classes/_injectivelabs_sdk_ts.MsgSubmitProposalExpiryFuturesMarketLaunch.htmldocs/classes/_injectivelabs_sdk_ts.MsgSubmitProposalPerpetualMarketLaunch.htmldocs/classes/_injectivelabs_sdk_ts.MsgSubmitProposalSpotMarketLaunch.htmldocs/classes/_injectivelabs_sdk_ts.MsgSubmitProposalSpotMarketParamUpdate.htmldocs/classes/_injectivelabs_sdk_ts.MsgSubmitTextProposal.htmldocs/classes/_injectivelabs_sdk_ts.MsgTransfer.htmldocs/classes/_injectivelabs_sdk_ts.MsgTransferCosmjs.htmldocs/classes/_injectivelabs_sdk_ts.MsgUndelegate.htmldocs/classes/_injectivelabs_sdk_ts.MsgUnderwrite.htmldocs/classes/_injectivelabs_sdk_ts.MsgUpdateAdmin.htmldocs/classes/_injectivelabs_sdk_ts.MsgVote.htmldocs/classes/_injectivelabs_sdk_ts.MsgWithdraw.htmldocs/classes/_injectivelabs_sdk_ts.MsgWithdrawDelegatorReward.htmldocs/classes/_injectivelabs_sdk_ts.MsgWithdrawValidatorCommission.htmldocs/classes/_injectivelabs_sdk_ts.OrderHashManager.htmldocs/classes/_injectivelabs_sdk_ts.PrivateKey.htmldocs/classes/_injectivelabs_sdk_ts.ProposalDecomposer.htmldocs/classes/_injectivelabs_sdk_ts.PublicKey.htmldocs/classes/_injectivelabs_sdk_ts.QueryContractAllowance.htmldocs/classes/_injectivelabs_sdk_ts.QueryContractConfig.htmldocs/classes/_injectivelabs_sdk_ts.QueryContractMarketingInfo.htmldocs/classes/_injectivelabs_sdk_ts.QueryLockedLpFunds.htmldocs/classes/_injectivelabs_sdk_ts.QueryRegisteredVaults.htmldocs/classes/_injectivelabs_sdk_ts.QueryVaultMarketId.htmldocs/classes/_injectivelabs_sdk_ts.QueryVaultTotalLpSupply.htmldocs/classes/_injectivelabs_sdk_ts.TxClient.htmldocs/classes/_injectivelabs_sdk_ts.TxGrpcClient.htmldocs/classes/_injectivelabs_sdk_ts.TxRestClient.htmldocs/classes/_injectivelabs_sdk_ts.internal.ApolloCache.htmldocs/classes/_injectivelabs_sdk_ts.internal.ApolloClient.htmldocs/classes/_injectivelabs_sdk_ts.internal.ApolloError.htmldocs/classes/_injectivelabs_sdk_ts.internal.ApolloLink.htmldocs/classes/_injectivelabs_sdk_ts.internal.BaseWasmQuery.htmldocs/classes/_injectivelabs_sdk_ts.internal.BigNumber-1.htmldocs/classes/_injectivelabs_sdk_ts.internal.BrowserHeaders-1.htmldocs/classes/_injectivelabs_sdk_ts.internal.BufferReader.htmldocs/classes/_injectivelabs_sdk_ts.internal.BufferWriter.htmldocs/classes/_injectivelabs_sdk_ts.internal.Concast.htmldocs/classes/_injectivelabs_sdk_ts.internal.ExecArgBase.htmldocs/classes/_injectivelabs_sdk_ts.internal.ExecPrivilegedArgBase.htmldocs/classes/_injectivelabs_sdk_ts.internal.GraphQLError.htmldocs/classes/_injectivelabs_sdk_ts.internal.InjectiveAccountsRPCClientImpl.htmldocs/classes/_injectivelabs_sdk_ts.internal.InjectiveAuctionRPCClientImpl.html
💤 Files with no reviewable changes (135)
- .gitbook/querying/querying-api/streaming/README.md
- .gitbook/wallets/wallet.md
- .gitbook/querying/querying-chain/querying-chain-exchange.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcExchangeTransformer.html
- .gitbook/getting-started/application-concepts/calculations/README.md
- .gitbook/querying/querying.md
- .gitbook/bridges/bridge.md
- .gitbook/core-modules-and-examples/insurance.md
- docs/.nojekyll
- .gitbook/wallets/wallet-accounts.md
- .github/workflows/beta.yml
- .gitbook/getting-started/technical-concepts.md
- .gitbook/getting-started/assets/denom-client.md
- .gitbook/core-modules-and-examples/auction.md
- .gitbook/querying/querying-chain/querying-chain-ibc.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-archiver.md
- .gitbook/querying/querying-chain/querying-chain-bank-module.md
- .gitbook/querying/querying-chain/querying-chain-mint.md
- .gitbook/querying/querying-chain/querying-chain-wasmx.md
- .gitbook/bridges/ibc.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcAuctionApi.html
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcInsuranceFundApi.html
- .gitbook/core-modules-and-examples/authz.md
- .gitbook/llm.txt.md
- .gitbook/smart-contracts/contracts/cw20-convert-and-market-order-example.md
- .gitbook/core-modules/tokenfactory.md
- .gitbook/transactions/ethereum-ledger.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-oracle.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcAuthApi.html
- .gitbook/core-modules-and-examples/governance.md
- .gitbook/readme/denoms-(tokens)/creating-tokens.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-derivatives.md
- .gitbook/getting-started/running-examples.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-spot.md
- .gitbook/getting-started/assets/README.md
- .gitbook/getting-started/application-concepts/calculations/min-price-tick-size.md
- .gitbook/querying/querying-chain/querying-chain-insurance-funds.md
- .gitbook/core-modules-and-examples/core-modules.md
- .gitbook/getting-started/assets/injective-list.md
- bundle-size/README.md
- docs/classes/_injectivelabs_sdk_ts.Address.html
- .gitbook/getting-started/application-concepts/getting-started-cosmjs.md
- .gitbook/building-dapps/building-dapps.md
- bundle-size/index.js
- .gitbook/core-modules-and-examples/distribution.md
- .gitbook/building-dapps/dex.md
- .gitbook/querying/querying-api/querying-indexer-auction.md
- .gitbook/querying/querying-chain/querying-chain-oracle.md
- .gitbook/querying/querying-api/querying-indexer-leaderboard.md
- .gitbook/bridges/ethereum.md
- .github/workflows/canary.yml
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcGovTransformer.html
- .gitbook/transactions/transactions.md
- docs/assets/icons.css
- .gitbook/core-modules-and-examples/ibc.md
- .gitbook/readme/denoms-(tokens)/denom-client.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcInsuranceFundTransformer.html
- .gitbook/querying/querying-api/streaming/streaming-indexer-portfolio.md
- .gitbook/transactions/msgbroadcaster.md
- .gitbook/querying/querying-api/querying-indexer-explorer.md
- .gitbook/transactions/transactions-cosmos/README.md
- .gitbook/readme/denoms-(tokens)/README.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcGovApi.html
- .gitbook/querying/querying-chain/querying-chain-distribution.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-account.md
- .gitbook/building-dapps/configuring-react.md
- .gitbook/querying/querying-api/querying-indexer-derivatives.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcAuctionTransformer.html
- .gitbook/querying/querying-api/querying-indexer-transaction.md
- .gitbook/querying/querying-chain/token-factory.md
- .gitbook/core-modules-and-examples/peggy.md
- .gitbook/transactions/transactions-cosmos/ledger-through-keplr-wallet.md
- .gitbook/querying/querying-chain/querying-chain-wasm.md
- .gitbook/querying/querying-api/querying-indexer-markets.md
- .gitbook/core-modules-and-examples/exchange.md
- .gitbook/querying/querying-chain/querying-chain-permissions.md
- .gitbook/core-modules-and-examples/staking.md
- .gitbook/querying/querying-api/querying-indexer-account.md
- .gitbook/transactions/web3-gateway.md
- .gitbook/core-modules-and-examples/bank.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcBankApi.html
- .gitbook/core-modules-and-examples/feegrant.md
- .gitbook/building-dapps/bridge.md
- .gitbook/building-dapps/dapps-examples/README.md
- .gitbook/querying/querying-api/querying-indexer-spot.md
- .gitbook/core-modules-and-examples/permissions.md
- docs/classes/_injectivelabs_sdk_ts.BaseAccount.html
- .gitbook/getting-started/application-concepts/calculations/min-quantity-tick-size.md
- .gitbook/wallets/wallet-wallet-strategy.md
- .gitbook/building-dapps/smart-contract.md
- .gitbook/smart-contracts/contracts/injective-name-service.md
- .gitbook/getting-started/application-concepts/README.md
- .gitbook/querying/querying-api/README.md
- .gitbook/core-modules-and-examples/wasm.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcDistributionApi.html
- bundle-analysis/results.json
- .gitbook/querying/querying-chain/querying-chain-staking.md
- .gitbook/querying/querying-api/querying-indexer-insurance-funds.md
- .gitbook/querying/querying-ethereum.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcExchangeApi.html
- .gitbook/transactions/private-key.md
- .gitbook/transactions/ethereum.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-explorer.md
- .gitbook/querying/querying-chain/querying-chain-tendermint.md
- .gitbook/querying/querying-api/streaming/streaming-indexer-auction.md
- .gitbook/querying/querying-chain/querying-chain-governance.md
- .gitbook/getting-started/application-concepts/networks.md
- .gitbook/smart-contracts/contracts/README.md
- .gitbook/querying/querying-api/querying-indexer-oracle.md
- .gitbook.yaml
- .gitbook/core-modules-and-examples/token-factory.md
- .gitbook/getting-started/assets/creating-tokens.md
- .gitbook/wallets/offchain-arbitrary-data.md
- .rooignore
- .gitbook/querying/querying-chain/querying-chain-auth-module.md
- docs/assets/style.css
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcDistributionTransformer.html
- docs/assets/main.js
- .gitbook/querying/querying-chain/querying-chain-auction-module.md
- .gitbook/README.md
- .gitbook/bridges/wormhole.md
- .gitbook/SUMMARY.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcBankTransformer.html
- .husky/commit-msg
- .gitbook/querying/querying-api/querying-indexer-mito.md
- .gitbook/building-dapps/dapps-examples/simple-html-example-with-webpack.md
- .gitbook/querying/querying-api/querying-indexer-portfolio.md
- bundle-size/rollup.config.ts
- .gitbook/querying/querying-chain/README.md
- docs/assets/highlight.css
- .gitbook/smart-contracts/contracts/neptune-service.md
- .gitbook/building-dapps/configuring-nuxt.md
- .gitbook/wallets/wallet-connections.md
- .gitbook/querying/querying-chain/querying-chain-peggy.md
- docs/classes/_injectivelabs_sdk_ts.ChainGrpcIbcApi.html
🧰 Additional context used
🪛 actionlint (1.7.9)
.github/workflows/stable.yaml
23-23: condition "false" is always evaluated to false. remove the if: section
(if-cond)
🔇 Additional comments (6)
.gitignore (1)
204-204: LGTM: Proto generation directory properly ignored.The addition of
proto/gen/is appropriate for the proto v2 work and aligns with the PR objectives to manage generated protobuf code..github/workflows/dev.yaml (5)
193-347: Well-structured package bump job dependencies.The package bump jobs correctly gate execution to only run after successful latest releases (not canary/beta), with proper fallback for manual workflow_dispatch runs (lines 200-203). The dependency chain ensures
package-bump-layercompletes before dependent jobs (hub, helix, etc.) run.The use of
always()with conditional checks is the correct pattern to allow jobs to run even when the publish job is skipped.
17-21: Minimal and appropriate permissions for OIDC publishing.The permissions are correctly scoped:
id-token: writeenables OIDC trusted publishingcontents: writeallows pushing tags back to the repositoryThis is a security improvement over the deprecated workflow that used long-lived
NPM_TOKENsecrets.
66-80: Good optimization with PNPM caching and OIDC preparation.The PNPM store caching (lines 66-76) improves workflow performance, and updating npm for OIDC trusted publishing (lines 78-80) is the correct approach for secure, token-free publishing. OIDC trusted publishing requires npm CLI version 11.5.1 or later, which the workflow properly addresses.
87-129: Good validation logic with clear error messages.The publish type determination handles all three release types correctly and includes validation to prevent conflicting keywords (lines 110-112). The error messages are clear and actionable.
Note: Line 115 uses
DIST_TAG="alpha"for canary releases. While this is valid, the industry standard for canary distributions is thecanarytag itself. Consider whether aligning with this convention would better suit your workflow, or if your project has specific reasons for usingalpha.
34-43: Line 43 correctly enforces automated publishing on dev branch via commits only.The condition blocking
workflow_dispatchon dev is intentional—it ensures that deployments go through code review and branch protections rather than manual override. This aligns with security best practices for CI/CD workflows. The restriction is correct as-is.
| echo "Fetching OFAC list..." | ||
|
|
||
| pnpm lint-staged | ||
| cd packages/sdk-ts && pnpm fetch:ofac && git add src/utils/ofac.ts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add shebang and error handling to prevent commits with stale OFAC data.
The pre-commit hook is missing:
- A shebang line - required for the hook to execute reliably
- Error handling - if the OFAC fetch fails, the script continues and allows the commit with potentially stale data
This is critical for compliance/security since OFAC (Office of Foreign Assets Control) lists are used for sanctions enforcement.
🔎 Proposed fix with shebang and error handling
+#!/bin/sh
+set -e
+
echo "Fetching OFAC list..."
cd packages/sdk-ts && pnpm fetch:ofac && git add src/utils/ofac.ts
+
+echo "OFAC list updated successfully"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| echo "Fetching OFAC list..." | |
| pnpm lint-staged | |
| cd packages/sdk-ts && pnpm fetch:ofac && git add src/utils/ofac.ts | |
| #!/bin/sh | |
| set -e | |
| echo "Fetching OFAC list..." | |
| cd packages/sdk-ts && pnpm fetch:ofac && git add src/utils/ofac.ts | |
| echo "OFAC list updated successfully" |
🤖 Prompt for AI Agents
.husky/pre-commit lines 1-3: the hook lacks a shebang and proper error handling,
so failures in fetching OFAC allow commits with stale data; add a shebang (e.g.
#!/usr/bin/env bash) as the first line, enable strict failure handling (set -euo
pipefail), verify cd succeeds and run pnpm fetch:ofac, and only run git add if
the fetch command succeeded; ensure the script exits non‑zero on any failure to
block the commit.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check the contents of .husky/pre-commit
echo "=== Current .husky/pre-commit contents ==="
cat .husky/pre-commit 2>/dev/null || echo "File not found"
# Check git history of .husky/pre-commit
echo ""
echo "=== Git history of .husky/pre-commit (last 5 commits) ==="
git log --oneline -5 -- .husky/pre-commit 2>/dev/null || echo "No git history available"
# Check if lint-staged config exists
echo ""
echo "=== Checking for lint-staged configuration ==="
if [ -f "package.json" ]; then
echo "=== Lint-staged config in package.json ==="
grep -A 10 '"lint-staged"' package.json || echo "No lint-staged config in package.json"
fi
if [ -f ".lintstagedrc" ] || [ -f ".lintstagedrc.js" ] || [ -f ".lintstagedrc.json" ]; then
echo "=== Found separate lint-staged config file ==="
fd -t f "lintstagedrc"
fi
# Check if there are linting scripts in CI workflows
echo ""
echo "=== Checking CI workflows for lint commands ==="
find .github/workflows -name "*.yml" -o -name "*.yaml" 2>/dev/null | head -5Repository: InjectiveLabs/injective-ts
Length of output: 1000
🏁 Script executed:
#!/bin/bash
# Check the CI workflows
echo "=== dev.yaml contents ==="
head -100 .github/workflows/dev.yaml
echo ""
echo "=== stable.yaml contents ==="
head -100 .github/workflows/stable.yaml
# Search for lint commands
echo ""
echo "=== Searching for 'lint' in workflow files ==="
grep -n "lint\|eslint\|prettier" .github/workflows/*.yaml
# Check git history with more detail
echo ""
echo "=== Full git history of .husky/pre-commit ==="
git log --all --format="%h %s" -- .husky/pre-commit | head -20
# Check when lint-staged was removed (compare with previous content)
echo ""
echo "=== Git show previous version of pre-commit ==="
git show HEAD~1:.husky/pre-commit 2>/dev/null || echo "Only one commit available"
# Search for lint-staged references in the codebase
echo ""
echo "=== Searching for lint-staged usage in codebase ==="
rg "lint-staged" --type-list | head -5Repository: InjectiveLabs/injective-ts
Length of output: 5968
🏁 Script executed:
#!/bin/bash
# Get the actual changes to .husky/pre-commit
echo "=== Git log with patch for .husky/pre-commit ==="
git log -p --follow -3 -- .husky/pre-commit | head -150
# Search for lint-staged references in the codebase (fix the rg command)
echo ""
echo "=== Searching for lint-staged usage in codebase ==="
rg "lint-staged" --type js,json,yaml,yml 2>/dev/null || echo "No lint-staged references found in code"
# Check if there are any other workflow files
echo ""
echo "=== All workflow files ==="
find .github/workflows -type f -name "*.yml" -o -name "*.yaml" 2>/dev/null
# Check if lint-staged is actually being used anywhere
echo ""
echo "=== Checking if lint-staged is referenced elsewhere ==="
rg "lint-staged" . 2>/dev/null || echo "No lint-staged references"Repository: InjectiveLabs/injective-ts
Length of output: 546
Code quality checks are completely disabled—pre-commit linting removed with no CI/CD equivalent.
lint-staged enforces code quality checks on files in the Git staging area, but the pre-commit hook no longer invokes it. Additionally, neither the dev.yaml nor stable.yaml CI workflows contain linting steps. This creates a critical gap: code can be committed and merged without any ESLint or Prettier checks, despite lint-staged still being configured in package.json.
Restore linting enforcement either by:
- Re-adding lint-staged to .husky/pre-commit, OR
- Adding ESLint and Prettier checks to the CI/CD pipeline (recommended for team consistency)
🤖 Prompt for AI Agents
.husky/pre-commit lines 1-3 currently only fetch the OFAC list and skip running
lint-staged, which disables pre-commit linting; restore lint enforcement by
either re-invoking lint-staged in this hook or adding ESLint/Prettier steps to
CI. To fix, update .husky/pre-commit to run lint-staged before the existing
fetch commands (e.g., run "npx lint-staged" or project-equivalent) so staged
files are validated on commit, and also add ESLint/Prettier jobs to dev.yaml and
stable.yaml CI workflows to run lint and format checks (fail the job on errors)
to ensure server-side enforcement.
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.