Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
# Repository versions and URLs
COSMOS_SDK_VERSION := v0.50.14-inj
COSMOS_SDK_VERSION := v0.50.14-inj.4
COSMOS_SDK_REPO := https://github.com/InjectiveLabs/cosmos-sdk.git

INJECTIVE_CORE_VERSION := v1.17.0
INJECTIVE_CORE_VERSION := v1.18.0
INJECTIVE_CORE_REPO := https://github.com/InjectiveLabs/injective-core.git

INDEXER_VERSION := v1.17.16
INDEXER_VERSION := v1.18.3
INDEXER_REPO := https://github.com/InjectiveLabs/injective-indexer.git

IBC_GO_VERSION := v8.7.0-inj.3
IBC_GO_REPO := https://github.com/InjectiveLabs/ibc-go.git

COMETBFT_VERSION := v1.0.1-inj.4
COMETBFT_VERSION := v1.0.1-inj.6
COMETBFT_REPO := https://github.com/InjectiveLabs/cometbft.git

WASMD_VERSION := v0.53.3-inj.2
WASMD_REPO := https://github.com/InjectiveLabs/wasmd.git

PYTHON_SDK_VERSION := v1.12.0
PYTHON_SDK_VERSION := v1.13.0
PYTHON_SDK_REPO := https://github.com/InjectiveLabs/sdk-python.git

GO_SDK_VERSION := v1.59.0
GO_SDK_VERSION := v1.60.0
GO_SDK_REPO := https://github.com/InjectiveLabs/sdk-go.git
Comment on lines +2 to 24
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify all version tags exist in InjectiveLabs repositories

declare -A repos=(
  ["COSMOS_SDK"]="https://github.com/InjectiveLabs/cosmos-sdk.git:v0.50.14-inj.4"
  ["INJECTIVE_CORE"]="https://github.com/InjectiveLabs/injective-core.git:v1.18.0"
  ["INDEXER"]="https://github.com/InjectiveLabs/injective-indexer.git:v1.18.3"
  ["IBC_GO"]="https://github.com/InjectiveLabs/ibc-go.git:v8.7.0-inj.3"
  ["COMETBFT"]="https://github.com/InjectiveLabs/cometbft.git:v1.0.1-inj.6"
  ["WASMD"]="https://github.com/InjectiveLabs/wasmd.git:v0.53.3-inj.2"
  ["PYTHON_SDK"]="https://github.com/InjectiveLabs/sdk-python.git:v1.13.0"
  ["GO_SDK"]="https://github.com/InjectiveLabs/sdk-go.git:v1.60.0"
)

echo "=== Verifying Version Tags ==="
all_found=true

for component in "${!repos[@]}"; do
  IFS=':' read -r repo_url tag <<< "${repos[$component]}"
  echo -n "Checking $component $tag... "
  
  if git ls-remote --tags "$repo_url" | grep -q "refs/tags/$tag\$"; then
    echo "✓ FOUND"
  else
    echo "✗ NOT FOUND"
    all_found=false
  fi
done

echo ""
if [ "$all_found" = true ]; then
  echo "All version tags verified successfully."
else
  echo "WARNING: Some version tags were not found."
fi

Repository: InjectiveLabs/api-exchange-docs

Length of output: 2291


🏁 Script executed:

#!/bin/bash
# Verify all version tags exist using corrected syntax

echo "=== Verifying Version Tags ==="

# COSMOS_SDK
echo -n "Checking COSMOS_SDK v0.50.14-inj.4... "
git ls-remote --tags https://github.com/InjectiveLabs/cosmos-sdk.git 2>/dev/null | grep -q "refs/tags/v0.50.14-inj.4$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# INJECTIVE_CORE
echo -n "Checking INJECTIVE_CORE v1.18.0... "
git ls-remote --tags https://github.com/InjectiveLabs/injective-core.git 2>/dev/null | grep -q "refs/tags/v1.18.0$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# INDEXER
echo -n "Checking INDEXER v1.18.3... "
git ls-remote --tags https://github.com/InjectiveLabs/injective-indexer.git 2>/dev/null | grep -q "refs/tags/v1.18.3$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# IBC_GO
echo -n "Checking IBC_GO v8.7.0-inj.3... "
git ls-remote --tags https://github.com/InjectiveLabs/ibc-go.git 2>/dev/null | grep -q "refs/tags/v8.7.0-inj.3$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# COMETBFT
echo -n "Checking COMETBFT v1.0.1-inj.6... "
git ls-remote --tags https://github.com/InjectiveLabs/cometbft.git 2>/dev/null | grep -q "refs/tags/v1.0.1-inj.6$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# WASMD
echo -n "Checking WASMD v0.53.3-inj.2... "
git ls-remote --tags https://github.com/InjectiveLabs/wasmd.git 2>/dev/null | grep -q "refs/tags/v0.53.3-inj.2$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# PYTHON_SDK
echo -n "Checking PYTHON_SDK v1.13.0... "
git ls-remote --tags https://github.com/InjectiveLabs/sdk-python.git 2>/dev/null | grep -q "refs/tags/v1.13.0$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

# GO_SDK
echo -n "Checking GO_SDK v1.60.0... "
git ls-remote --tags https://github.com/InjectiveLabs/sdk-go.git 2>/dev/null | grep -q "refs/tags/v1.60.0$" && echo "✓ FOUND" || echo "✗ NOT FOUND"

Repository: InjectiveLabs/api-exchange-docs

Length of output: 434


🏁 Script executed:

#!/bin/bash
# Check available versions in the repositories with missing tags

echo "=== Available versions in INJECTIVE_CORE ==="
git ls-remote --tags https://github.com/InjectiveLabs/injective-core.git 2>/dev/null | grep -o 'refs/tags/v[^/]*$' | sed 's|refs/tags/||' | sort -V | tail -20

echo ""
echo "=== Available versions in INDEXER ==="
git ls-remote --tags https://github.com/InjectiveLabs/injective-indexer.git 2>/dev/null | grep -o 'refs/tags/v[^/]*$' | sed 's|refs/tags/||' | sort -V | tail -20

Repository: InjectiveLabs/api-exchange-docs

Length of output: 158


🏁 Script executed:

#!/bin/bash

echo "=== Raw tags from INJECTIVE_CORE (first 30 lines) ==="
git ls-remote --tags https://github.com/InjectiveLabs/injective-core.git 2>/dev/null | head -30

echo ""
echo "=== Raw tags from INDEXER (first 30 lines) ==="
git ls-remote --tags https://github.com/InjectiveLabs/injective-indexer.git 2>/dev/null | head -30

Repository: InjectiveLabs/api-exchange-docs

Length of output: 176


🏁 Script executed:

#!/bin/bash

echo "=== Testing INJECTIVE_CORE repository accessibility ==="
curl -s -I https://github.com/InjectiveLabs/injective-core.git 2>&1 | head -5

echo ""
echo "=== Checking INJECTIVE_CORE with ls-remote (verbose) ==="
git ls-remote https://github.com/InjectiveLabs/injective-core.git 2>&1 | head -20

echo ""
echo "=== Testing INDEXER repository accessibility ==="
curl -s -I https://github.com/InjectiveLabs/injective-indexer.git 2>&1 | head -5

echo ""
echo "=== Checking INDEXER with ls-remote (verbose) ==="
git ls-remote https://github.com/InjectiveLabs/injective-indexer.git 2>&1 | head -20

echo ""
echo "=== Testing other known working repo (IBC_GO) ==="
git ls-remote --tags https://github.com/InjectiveLabs/ibc-go.git 2>&1 | head -5

Repository: InjectiveLabs/api-exchange-docs

Length of output: 1269


Critical: Two primary repository versions cannot be verified.

The INJECTIVE_CORE (v1.18.0) and INDEXER (v1.18.3) repositories are not accessible, preventing verification that these version tags exist. These are the core components for the v1.18.0 upgrade.

Six other version tags (COSMOS_SDK v0.50.14-inj.4, IBC_GO v8.7.0-inj.3, COMETBFT v1.0.1-inj.6, WASMD v0.53.3-inj.2, PYTHON_SDK v1.13.0, GO_SDK v1.60.0) were verified as present in their repositories.

Before merging, confirm that INJECTIVE_CORE v1.18.0 and INDEXER v1.18.3 tags exist in their respective repositories and that the repository URLs are correct.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 2 - 24, The Makefile sets INJECTIVE_CORE_VERSION and
INDEXER_VERSION but those tags couldn't be verified; check the
INJECTIVE_CORE_REPO and INDEXER_REPO for the presence of tags
INJECTIVE_CORE_VERSION (v1.18.0) and INDEXER_VERSION (v1.18.3), correct the
repository URLs if they point to the wrong remotes, or update the version
constants (INJECTIVE_CORE_VERSION / INDEXER_VERSION) to valid tags found in
their repos, and then re-run tag verification before merging.


# Temporary directories
Expand Down
62 changes: 38 additions & 24 deletions source/includes/_binaryoptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,9 @@ func main() {
<tr ><td class="parameter-td td_text">min_notional</td><td class="type-td td_text">cosmossdk_io_math.LegacyDec</td><td class="description-td td_text">min_notional defines the minimum notional (in quote asset) required for orders in the market (in human readable format)</td></tr>
<tr ><td class="parameter-td td_text">admin_permissions</td><td class="type-td td_text">uint32</td><td class="description-td td_text">level of admin permissions</td></tr>
<tr ><td class="parameter-td td_text">quote_decimals</td><td class="type-td td_text">uint32</td><td class="description-td td_text">quote token decimals</td></tr>
<tr ><td class="parameter-td td_text">open_notional_cap</td><td class="type-td td_text">OpenNotionalCap</td><td class="description-td td_text">open_notional_cap defines the maximum open notional for the market</td></tr></tbody></table>
<tr ><td class="parameter-td td_text">open_notional_cap</td><td class="type-td td_text">OpenNotionalCap</td><td class="description-td td_text">open_notional_cap defines the maximum open notional for the market</td></tr>
<tr ><td class="parameter-td td_text">has_disabled_minimal_protocol_fee</td><td class="type-td td_text">bool</td><td class="description-td td_text">has_disabled_minimal_protocol_fee indicates whether the minimal protocol fee is disabled for the market</td></tr>
<tr ><td class="parameter-td td_text">force_paused_info</td><td class="type-td td_text">ForcePausedInfo</td><td class="description-td td_text">force_paused_info defines additional info for force paused markets, only set when status == ForcePaused</td></tr></tbody></table>
Comment on lines +197 to +199
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Sync BinaryOptions response examples with new fields.
open_notional_cap, has_disabled_minimal_protocol_fee, and force_paused_info are now documented, but the BinaryOptionsMarkets response example still omits them. Please add them (e.g., has_disabled_minimal_protocol_fee: false, force_paused_info: null) so examples match the schema.

Also applies to: 262-275

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/includes/_binaryoptions.md` around lines 197 - 199, Update the
BinaryOptionsMarkets response examples to include the newly documented fields so
the examples match the schema: add open_notional_cap (either a representative
OpenNotionalCap object or null), has_disabled_minimal_protocol_fee (e.g.,
false), and force_paused_info (e.g., null) in each example block for
BinaryOptionsMarkets; ensure the field names exactly match open_notional_cap,
has_disabled_minimal_protocol_fee, and force_paused_info and mirror the types
described in the docs so examples at the original location and the repeated
block around lines 262-275 stay consistent.

<!-- MARKDOWN-AUTO-DOCS:END -->

<br/>
Expand All @@ -214,7 +216,8 @@ func main() {
<tr ><td class="code-td td_num">9</td><td class="name-td td_text">Pyth</td></tr>
<tr ><td class="code-td td_num">10</td><td class="name-td td_text">BandIBC</td></tr>
<tr ><td class="code-td td_num">11</td><td class="name-td td_text">Provider</td></tr>
<tr ><td class="code-td td_num">12</td><td class="name-td td_text">Stork</td></tr></tbody></table>
<tr ><td class="code-td td_num">12</td><td class="name-td td_text">Stork</td></tr>
<tr ><td class="code-td td_num">13</td><td class="name-td td_text">ChainlinkDataStreams</td></tr></tbody></table>
<!-- MARKDOWN-AUTO-DOCS:END -->

<br/>
Expand Down Expand Up @@ -254,6 +257,23 @@ func main() {
<table class="JSON-TO-HTML-TABLE"><thead><tr><th class="parameter-th">Parameter</th><th class="type-th">Type</th><th class="description-th">Description</th></tr></thead><tbody ><tr ><td class="parameter-td td_text">value</td><td class="type-td td_text">cosmossdk_io_math.LegacyDec</td><td class="description-td td_num"></td></tr></tbody></table>
<!-- MARKDOWN-AUTO-DOCS:END -->

<br/>

**ForcePausedInfo**

<!-- MARKDOWN-AUTO-DOCS:START (JSON_TO_HTML_TABLE:src=./source/json_tables/injective/exchange/v2/ForcePausedInfo.json) -->
<table class="JSON-TO-HTML-TABLE"><thead><tr><th class="parameter-th">Parameter</th><th class="type-th">Type</th><th class="description-th">Description</th></tr></thead><tbody ><tr ><td class="parameter-td td_text">reason</td><td class="type-td td_text">ForcePausedReason</td><td class="description-td td_num"></td></tr>
<tr ><td class="parameter-td td_text">mark_price_at_pausing</td><td class="type-td td_text">cosmossdk_io_math.LegacyDec</td><td class="description-td td_num"></td></tr></tbody></table>
<!-- MARKDOWN-AUTO-DOCS:END -->

<br/>

**ForcePausedReason**

<!-- MARKDOWN-AUTO-DOCS:START (JSON_TO_HTML_TABLE:src=./source/json_tables/injective/exchange/v2/ForcePausedReason.json) -->
<table class="JSON-TO-HTML-TABLE"><thead><tr><th class="code-th">Code</th><th class="name-th">Name</th></tr></thead><tbody ><tr ><td class="code-td td_num">0</td><td class="name-td td_text">QuoteDenomPaused</td></tr></tbody></table>
<!-- MARKDOWN-AUTO-DOCS:END -->


## MsgInstantBinaryOptionsMarketLaunch

Expand Down Expand Up @@ -409,7 +429,8 @@ func main() {
<tr ><td class="code-td td_num">9</td><td class="name-td td_text">Pyth</td></tr>
<tr ><td class="code-td td_num">10</td><td class="name-td td_text">BandIBC</td></tr>
<tr ><td class="code-td td_num">11</td><td class="name-td td_text">Provider</td></tr>
<tr ><td class="code-td td_num">12</td><td class="name-td td_text">Stork</td></tr></tbody></table>
<tr ><td class="code-td td_num">12</td><td class="name-td td_text">Stork</td></tr>
<tr ><td class="code-td td_num">13</td><td class="name-td td_text">ChainlinkDataStreams</td></tr></tbody></table>
<!-- MARKDOWN-AUTO-DOCS:END -->

<br/>
Expand Down Expand Up @@ -728,10 +749,8 @@ async def main() -> None:
subaccount_id=subaccount_id,
fee_recipient=fee_recipient,
price=Decimal("0.5"),
quantity=Decimal(1),
margin=composer.calculate_margin(
quantity=Decimal(1), price=Decimal("0.5"), leverage=Decimal(1), is_reduce_only=False
),
quantity=Decimal("1"),
margin=Decimal("0.5"),
cid=str(uuid.uuid4()),
)

Expand Down Expand Up @@ -1062,7 +1081,7 @@ async def main() -> None:
# prepare trade info
market_id = "0xfafec40a7b93331c1fc89c23f66d11fbb48f38dfdd78f7f4fc4031fad90f6896"
status = "Demolished"
settlement_price = Decimal(1)
settlement_price = Decimal("1")
expiration_timestamp = 1685460582
settlement_timestamp = 1690730982

Expand Down Expand Up @@ -1110,7 +1129,8 @@ if __name__ == "__main__":
<tr ><td class="code-td td_num">1</td><td class="name-td td_text">Active</td></tr>
<tr ><td class="code-td td_num">2</td><td class="name-td td_text">Paused</td></tr>
<tr ><td class="code-td td_num">3</td><td class="name-td td_text">Demolished</td></tr>
<tr ><td class="code-td td_num">4</td><td class="name-td td_text">Expired</td></tr></tbody></table>
<tr ><td class="code-td td_num">4</td><td class="name-td td_text">Expired</td></tr>
<tr ><td class="code-td td_num">5</td><td class="name-td td_text">ForcePaused</td></tr></tbody></table>
<!-- MARKDOWN-AUTO-DOCS:END -->

### Response Parameters
Expand Down Expand Up @@ -1265,23 +1285,19 @@ async def main() -> None:
market_id=derivative_market_id_create,
subaccount_id=subaccount_id,
fee_recipient=fee_recipient,
price=Decimal(25000),
quantity=Decimal(0.1),
margin=composer.calculate_margin(
quantity=Decimal(0.1), price=Decimal(25000), leverage=Decimal(1), is_reduce_only=False
),
price=Decimal("25000"),
quantity=Decimal("0.1"),
margin=Decimal("2500"),
order_type="BUY",
cid=str(uuid.uuid4()),
),
composer.derivative_order(
market_id=derivative_market_id_create,
subaccount_id=subaccount_id,
fee_recipient=fee_recipient,
price=Decimal(50000),
quantity=Decimal(0.01),
margin=composer.calculate_margin(
quantity=Decimal(0.01), price=Decimal(50000), leverage=Decimal(1), is_reduce_only=False
),
price=Decimal("50000"),
quantity=Decimal("0.01"),
margin=Decimal("500"),
order_type="SELL",
cid=str(uuid.uuid4()),
),
Expand All @@ -1292,11 +1308,9 @@ async def main() -> None:
market_id=derivative_market_id_create,
subaccount_id=subaccount_id,
fee_recipient=fee_recipient,
price=Decimal(25100),
quantity=Decimal(0.1),
margin=composer.calculate_margin(
quantity=Decimal(0.1), price=Decimal(25100), leverage=Decimal(1), is_reduce_only=False
),
price=Decimal("25100"),
quantity=Decimal("0.1"),
margin=Decimal("2510"),
order_type="BUY",
cid=str(uuid.uuid4()),
),
Expand Down
6 changes: 6 additions & 0 deletions source/includes/_changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Change Log

## 2026-02-19
- Updated all messages to reflect the changes included in the chain version v1.18.0, and the Indexer for that chain version
- Added documentation for the new websocket for exchange module events available on the chain nodes
- Python SDK v1.13.0
- Go SDK v1.60.0
Comment on lines +3 to +7
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Confirm the release date for the new changelog entry.

The heading is 2026-02-19 (tomorrow, Feb 19, 2026). If the release isn’t scheduled for that exact date, consider using the actual date or an “Unreleased” heading to prevent confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/includes/_changelog.md` around lines 3 - 7, The changelog header "##
2026-02-19" may be incorrect if the release isn't scheduled for that exact date;
update the heading to the correct release date or replace it with "##
Unreleased" to avoid confusion, and ensure the block that lists chain v1.18.0
changes, websocket docs, and SDK versions remains under the updated heading
(look for the heading string "## 2026-02-19" to locate and change it).


## 2025-11-10
- Updated all messages to reflect the changes included in the chain version 1.17.0, and the Indexer for that chain version
- Python SDK v1.12.0
Expand Down
Loading