Skip to content

[chore] release v1.20.1#187

Merged
dbrajovic merged 2 commits into
mainfrom
chore/release-v1.20.1
Jun 29, 2026
Merged

[chore] release v1.20.1#187
dbrajovic merged 2 commits into
mainfrom
chore/release-v1.20.1

Conversation

@dbrajovic

@dbrajovic dbrajovic commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Added documentation for new error codes and several RPC/request fields, including improved support for fee grants, funding payments, trade filtering, and RFQ transaction options.
    • Introduced clearer rate-limit oracle fields and updated related descriptions for token pricing.
  • Bug Fixes

    • Refined stream/error documentation to better distinguish maker vs. taker-related fields.
    • Clarified gas and simulation behavior in RFQ auto-sign flows.
  • Chores

    • Updated pinned SDK and component versions used by the build setup.

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

SDK version pins in the Makefile are bumped for six components. Documentation JSON schema tables are extended across indexer RPC endpoints (RFQ gateway, RFQ stream, TC derivatives, chart, exchange fee grant), peggy rate limit messages, and a new cardano-probabilistic error code module section is added to the errors reference.

Changes

API Documentation and Version Updates

Layer / File(s) Summary
Makefile SDK version bumps
Makefile
Version constants updated for Cosmos SDK, Injective Core, Indexer, CometBFT, Python SDK, and Go SDK.
Cardano probabilistic error codes
source/json_tables/errors/08-cardano-probabilistic_errors.json, source/includes/_errors.md
New JSON error table for 08-cardano-probabilistic module (error codes 2–18) added, with corresponding section inserted in errors documentation.
Peggy rate limit oracle type
source/json_tables/injective/peggy/RateLimit.json, source/json_tables/injective/peggy/MsgCreateRateLimit.json, source/json_tables/injective/peggy/MsgUpdateRateLimit.json
token_price_id descriptions updated from Pyth-specific to generic oracle wording; new required token_oracle_type (OracleType) parameter added to all three schemas.
PrepareFeeGrant request/response schemas
source/json_tables/indexer/injective_exchange_rpc/PrepareFeeGrant*.json
New JSON schemas added for PrepareFeeGrantRequest (grantee_address) and PrepareFeeGrantResponse (seven fields including addresses, tx hash, expiration, spend limit, allowed messages).
RFQ gateway simulate and memo parameters
source/json_tables/indexer/injective_rfq_gw_rpc/RFQGwPrepare*.json
simulate (bool) and tx_body_memo (string) parameters added to all four RFQ gateway prepare request schemas; gas field descriptions updated to state precedence over simulate.
RFQ stream taker and rfq_id fields
source/json_tables/indexer/injective_rfq_rpc/QuoteStreamAck.json, source/json_tables/indexer/injective_rfq_rpc/StreamError.json
taker parameter added to QuoteStreamAck; StreamError extended with taker and rfq_id parameters and clarified client_id description.
TC derivatives funding payments and trades filter
source/json_tables/indexer/injective_tc_derivatives_rpc/FundingPayment*.json, source/json_tables/indexer/injective_tc_derivatives_rpc/TradesRequest.json
New schemas added for FundingPayment, FundingPaymentsRequest, and FundingPaymentsResponse; participant filter parameter added to TradesRequest.
DerivativeMarketHistory index_prices parameter
source/json_tables/indexer/injective_chart_rpc/DerivativeMarketHistoryRequest.json
New index_prices bool parameter added, overriding use_oracle_prices and fill_gaps; disabled for binary options markets.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 Hop, hop, versions leap ahead,
New schemas bloom where old ones spread,
Cardano errors find their place,
Oracle types join the race,
The docs grow tall with fields anew—
A rabbit's work is never through! 🌸

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the release-oriented changes and the version bump to v1.20.1.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-v1.20.1

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@source/json_tables/indexer/injective_chart_rpc/DerivativeMarketHistoryRequest.json`:
- Around line 51-53: The Parameter description in
DerivativeMarketHistoryRequest.json uses camelCase names that do not match the
schema keys. Update the text in the index_prices entry to refer to
use_oracle_prices and fill_gaps instead of useOraclePrices and fillGaps, keeping
the precedence note consistent with the snake_case request fields.

In
`@source/json_tables/indexer/injective_exchange_rpc/PrepareFeeGrantResponse.json`:
- Around line 23-25: The `spend_limit` field in `PrepareFeeGrantResponse` is
documented with the wrong API shape; it should match the feegrant allowance
contract as a coin list rather than a single coin. Update the `spend_limit`
entry in `PrepareFeeGrantResponse.json` so its `Type` reflects `Coins` and keep
the description aligned with the feegrant allowance model. Use the `spend_limit`
parameter name in `PrepareFeeGrantResponse` to locate and adjust the schema
consistently with the other feegrant docs.

In `@source/json_tables/indexer/injective_tc_derivatives_rpc/FundingPayment.json`:
- Around line 8-10: The FundingPayment JSON table has an inconsistent field name
in the description, where the Parameter uses subaccount_id but the Description
switches to subaccountId. Update the description text in FundingPayment so it
uses the same snake_case name as the Parameter field, and keep the naming
consistent across the entry to avoid implying two valid field names.

In `@source/json_tables/indexer/injective_tc_derivatives_rpc/TradesRequest.json`:
- Around line 69-72: Update the TradesRequest JSON documentation entry for
participant so it is marked optional rather than required. Keep the existing
description, but change the Required flag for the participant field in
TradesRequest.json to reflect that it is an additional filter and should not
alter the request contract for callers using other filters.

In `@source/json_tables/injective/peggy/MsgUpdateRateLimit.json`:
- Around line 33-35: The description for the MsgUpdateRateLimit field is using
the wrong referenced symbol and should match the exposed parameter name. Update
the Description in MsgUpdateRateLimit.json to reference new_token_price_id
instead of token_price_id, and verify the nearby Parameter/Type/Description
entries stay consistent with the actual field names used by MsgUpdateRateLimit.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a9f667a0-c930-4c62-b0c8-24509aa179de

📥 Commits

Reviewing files that changed from the base of the PR and between ed34ddb and b85f516.

📒 Files selected for processing (19)
  • Makefile
  • source/includes/_errors.md
  • source/json_tables/errors/08-cardano-probabilistic_errors.json
  • source/json_tables/indexer/injective_chart_rpc/DerivativeMarketHistoryRequest.json
  • source/json_tables/indexer/injective_exchange_rpc/PrepareFeeGrantRequest.json
  • source/json_tables/indexer/injective_exchange_rpc/PrepareFeeGrantResponse.json
  • source/json_tables/indexer/injective_rfq_gw_rpc/RFQGwPrepareAutoSignRequestType.json
  • source/json_tables/indexer/injective_rfq_gw_rpc/RFQGwPrepareEip712AutoSignRequestType.json
  • source/json_tables/indexer/injective_rfq_gw_rpc/RFQGwPrepareEip712RequestType.json
  • source/json_tables/indexer/injective_rfq_gw_rpc/RFQGwPrepareRequestType.json
  • source/json_tables/indexer/injective_rfq_rpc/QuoteStreamAck.json
  • source/json_tables/indexer/injective_rfq_rpc/StreamError.json
  • source/json_tables/indexer/injective_tc_derivatives_rpc/FundingPayment.json
  • source/json_tables/indexer/injective_tc_derivatives_rpc/FundingPaymentsRequest.json
  • source/json_tables/indexer/injective_tc_derivatives_rpc/FundingPaymentsResponse.json
  • source/json_tables/indexer/injective_tc_derivatives_rpc/TradesRequest.json
  • source/json_tables/injective/peggy/MsgCreateRateLimit.json
  • source/json_tables/injective/peggy/MsgUpdateRateLimit.json
  • source/json_tables/injective/peggy/RateLimit.json

Comment on lines +51 to +53
"Parameter": "index_prices",
"Type": "bool",
"Description": "When true, we'll use index prices. Supersedes useOraclePrices and fillGaps. Disabled for binary options markets.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="$(fd '^DerivativeMarketHistoryRequest\.json$' source/json_tables/indexer/injective_chart_rpc)"
echo "== Context from ${file} =="
nl -ba "$file" | sed -n '1,90p'

echo
echo "== Nearby field-name variants under chart RPC docs =="
rg -n '"Parameter": "(use_oracle_prices|fill_gaps|useOraclePrices|fillGaps|index_prices)"' source/json_tables/indexer/injective_chart_rpc

Repository: InjectiveLabs/api-exchange-docs

Length of output: 311


🏁 Script executed:

set -euo pipefail

file="source/json_tables/indexer/injective_chart_rpc/DerivativeMarketHistoryRequest.json"

echo "== file exists =="
[ -f "$file" ] && echo "$file"

echo
echo "== relevant section =="
sed -n '1,120p' "$file"

echo
echo "== nearby field-name variants under chart RPC docs =="
rg -n '"Parameter": "(use_oracle_prices|fill_gaps|useOraclePrices|fillGaps|index_prices)"' source/json_tables/indexer/injective_chart_rpc || true

Repository: InjectiveLabs/api-exchange-docs

Length of output: 2620


Keep the precedence note in snake_case.

This schema uses use_oracle_prices and fill_gaps, so useOraclePrices / fillGaps points readers at the wrong request keys.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@source/json_tables/indexer/injective_chart_rpc/DerivativeMarketHistoryRequest.json`
around lines 51 - 53, The Parameter description in
DerivativeMarketHistoryRequest.json uses camelCase names that do not match the
schema keys. Update the text in the index_prices entry to refer to
use_oracle_prices and fill_gaps instead of useOraclePrices and fillGaps, keeping
the precedence note consistent with the snake_case request fields.

Comment on lines +23 to +25
"Parameter": "spend_limit",
"Type": "CosmosCoin",
"Description": "Feegrant spend limit"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the underlying protobuf schema for PrepareFeeGrantResponse.
rg -n "message PrepareFeeGrantResponse|spend_limit|allowed_messages|PrepareFeeGrantRequest" source

Repository: InjectiveLabs/api-exchange-docs

Length of output: 1891


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## PrepareFeeGrantResponse.json\n'
cat -n source/json_tables/indexer/injective_exchange_rpc/PrepareFeeGrantResponse.json | sed -n '1,120p'

printf '\n## Related feegrant docs\n'
for f in \
  source/json_tables/cosmos/feegrant/BasicAllowance.json \
  source/json_tables/cosmos/feegrant/AllowedMsgAllowance.json \
  source/json_tables/cosmos/feegrant/PeriodicAllowance.json \
  source/json_tables/injective/exchange/GenericExchangeAuthorization.json \
  source/json_tables/injective/exchange/v2/GenericExchangeAuthorization.json
do
  echo "\n### $f"
  cat -n "$f" | sed -n '1,120p'
done

Repository: InjectiveLabs/api-exchange-docs

Length of output: 4436


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## CosmosCoin / Coins usage\n'
rg -n '"Type": "(CosmosCoin|Coins)"' source/json_tables | sed -n '1,200p'

printf '\n## CosmosCoin table definitions\n'
rg -n '"Type": "CosmosCoin"|CosmosCoin' source/json_tables | sed -n '1,200p'

Repository: InjectiveLabs/api-exchange-docs

Length of output: 5683


Align spend_limit with the feegrant contract

spend_limit is documented as a single CosmosCoin here, but the feegrant allowance docs model it as Coins (a coin list). Update this field to match the API shape.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@source/json_tables/indexer/injective_exchange_rpc/PrepareFeeGrantResponse.json`
around lines 23 - 25, The `spend_limit` field in `PrepareFeeGrantResponse` is
documented with the wrong API shape; it should match the feegrant allowance
contract as a coin list rather than a single coin. Update the `spend_limit`
entry in `PrepareFeeGrantResponse.json` so its `Type` reflects `Coins` and keep
the description aligned with the feegrant allowance model. Use the `spend_limit`
parameter name in `PrepareFeeGrantResponse` to locate and adjust the schema
consistently with the other feegrant docs.

Comment on lines +8 to +10
"Parameter": "subaccount_id",
"Type": "string",
"Description": "The subaccountId that the position belongs to"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Keep the field name consistent in the description.

The parameter is subaccount_id, but the description switches to subaccountId, which makes the table read like there are two valid names for the same field.

Suggested doc fix
   {
     "Parameter": "subaccount_id",
     "Type": "string",
-    "Description": "The subaccountId that the position belongs to"
+    "Description": "Subaccount ID that the position belongs to"
   },
📝 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.

Suggested change
"Parameter": "subaccount_id",
"Type": "string",
"Description": "The subaccountId that the position belongs to"
"Parameter": "subaccount_id",
"Type": "string",
"Description": "Subaccount ID that the position belongs to"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@source/json_tables/indexer/injective_tc_derivatives_rpc/FundingPayment.json`
around lines 8 - 10, The FundingPayment JSON table has an inconsistent field
name in the description, where the Parameter uses subaccount_id but the
Description switches to subaccountId. Update the description text in
FundingPayment so it uses the same snake_case name as the Parameter field, and
keep the naming consistent across the entry to avoid implying two valid field
names.

Comment on lines +69 to +72
"Parameter": "participant",
"Type": "string",
"Description": "filter trades including the address as RFQ maker or the trade account address",
"Required": "Yes"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Document participant as optional.

The description reads like an additional filter, but "Required": "Yes" makes it mandatory and changes the request contract for callers that only use the existing filters.

Suggested doc fix
   {
     "Parameter": "participant",
     "Type": "string",
-    "Description": "filter trades including the address as RFQ maker or the trade account address",
-    "Required": "Yes"
+    "Description": "Filter trades where the address matches the RFQ maker or the trade account address",
+    "Required": "No"
   }
📝 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.

Suggested change
"Parameter": "participant",
"Type": "string",
"Description": "filter trades including the address as RFQ maker or the trade account address",
"Required": "Yes"
"Parameter": "participant",
"Type": "string",
"Description": "Filter trades where the address matches the RFQ maker or the trade account address",
"Required": "No"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@source/json_tables/indexer/injective_tc_derivatives_rpc/TradesRequest.json`
around lines 69 - 72, Update the TradesRequest JSON documentation entry for
participant so it is marked optional rather than required. Keep the existing
description, but change the Required flag for the participant field in
TradesRequest.json to reflect that it is an additional filter and should not
alter the request contract for callers using other filters.

Comment on lines +33 to +35
"Parameter": "new_token_oracle_type",
"Type": "OracleType",
"Description": "new_token_oracle_type is used to obtain the USD price of the ERC20 token (in relation with token_price_id)",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Reference new_token_price_id in this description.

Line 35 points readers to token_price_id, but this update request only exposes new_token_price_id. That makes the generated docs inconsistent with the actual field names.

Suggested fix
   {
     "Parameter": "new_token_oracle_type",
     "Type": "OracleType",
-    "Description": "new_token_oracle_type is used to obtain the USD price of the ERC20 token (in relation with token_price_id)",
+    "Description": "new_token_oracle_type is used to obtain the USD price of the ERC20 token (in relation with new_token_price_id)",
     "Required": "Yes"
📝 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.

Suggested change
"Parameter": "new_token_oracle_type",
"Type": "OracleType",
"Description": "new_token_oracle_type is used to obtain the USD price of the ERC20 token (in relation with token_price_id)",
"Parameter": "new_token_oracle_type",
"Type": "OracleType",
"Description": "new_token_oracle_type is used to obtain the USD price of the ERC20 token (in relation with new_token_price_id)",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@source/json_tables/injective/peggy/MsgUpdateRateLimit.json` around lines 33 -
35, The description for the MsgUpdateRateLimit field is using the wrong
referenced symbol and should match the exposed parameter name. Update the
Description in MsgUpdateRateLimit.json to reference new_token_price_id instead
of token_price_id, and verify the nearby Parameter/Type/Description entries stay
consistent with the actual field names used by MsgUpdateRateLimit.

@dbrajovic dbrajovic merged commit 8907caf into main Jun 29, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant