Skip to content

chore(config): add GOOGL, INTC, AAPL, MSFT, LLY, and PTY equities - #1097

Closed
JuaniRios wants to merge 1 commit into
masterfrom
add-googl-intc-aapl-msft-lly-pty-equities
Closed

chore(config): add GOOGL, INTC, AAPL, MSFT, LLY, and PTY equities#1097
JuaniRios wants to merge 1 commit into
masterfrom
add-googl-intc-aapl-msft-lly-pty-equities

Conversation

@JuaniRios

@JuaniRios JuaniRios commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

What

  • Adds GOOGL, INTC, AAPL, MSFT, LLY, and PTY to config/prod/st0x-hedge.toml, all four flags enabled, per RAI-1608.
  • Adds the same six to config/staging/st0x-hedge.toml, all four flags disabled.
  • The tokens come from st0x.registry#46.

Why

  • The tokens are live on Base, but the bot does not know their addresses. So it cannot recognise a fill, account for it, or hedge it.

How

  • Config only, no Rust changes. Same shape as chore(config): add MU, AMD, AVGO, AMAT, LRCX, TTWO equities, disable QSEP in prod #1067.
  • tokenized_equity is the t<SYM> share token. tokenized_equity_derivative is the wt<SYM> wrapper.
  • I checked every pair on Base with cast. Each wrapper reports symbol() wt<SYM>, decimals() 18, and asset() equal to the tokenized_equity address in this diff. So the two fields are not flipped.
  • vault_id = "0xfab" like every other equity.
  • pyth_feed_id is unset on all six. We only pin a feed after we confirm it on-chain. A missing feed skips trade enrichment for analytics. Hedging is unaffected.
  • staging registers the six but keeps every flag disabled. staging only trades RKLB.

Testing

  • cargo nextest run -p st0x-config --all-features -> 176/176 pass.
  • server_config_toml_is_valid and all_repo_config_tomls_are_valid read the real prod and staging TOML files. So the twelve new blocks are parsed and validated.
  • Not hotfixed on the live prod config. Prod picks these up on the next deploy.

Anything else

  • This turns on live prod trading for all six. To hold one back, flip its prod trading to disabled before the deploy.
  • PTY is a closed-end fund, not a common stock. Worth a check that the broker fills it the same way.
  • Out of scope: the Raindex orders in st0x.raindex-deploy, and the issuance registration. The bot sees no fills until those orders are deployed.

Summary by CodeRabbit

  • New Features
    • Added support for GOOGL, INTC, AAPL, MSFT, LLY, and PTY equity assets.
    • Configured tokenized equity and derivative contract addresses for each asset.
    • Enabled relevant trading and recovery capabilities in production.
    • Added the assets in staging with functionality disabled pending activation.

Registers the six tokenised equities from st0x.registry#46 in the prod and
staging hedge configs. Prod enables all four per-asset flags, staging keeps
them disabled.

Claude-Session: https://claude.ai/code/session_01HUDdqDE4eU9GQuzKntKhQ4

Copy link
Copy Markdown
Collaborator Author

How to use the Graphite Merge Queue

Add the label add-to-gt-merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c67d3b04-eb58-4507-946d-86b86271b686

📥 Commits

Reviewing files that changed from the base of the PR and between 42d4c7b and 8628a2b.

📒 Files selected for processing (2)
  • config/prod/st0x-hedge.toml
  • config/staging/st0x-hedge.toml
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{rs,sql,toml}

📄 CodeRabbit inference engine (AGENTS.md)

Do not use silent fallback defaults for operational parameters; missing configuration must fail in tests and at startup.

Files:

  • config/staging/st0x-hedge.toml
  • config/prod/st0x-hedge.toml
🧠 Learnings (4)
📚 Learning: 2026-03-10T08:20:47.870Z
Learnt from: 0xgleb
Repo: ST0x-Technology/st0x.liquidity PR: 415
File: example.config.toml:18-20
Timestamp: 2026-03-10T08:20:47.870Z
Learning: In the ST0x-Technology/st0x.liquidity repo, when reviewing TOML config that controls rebalancing, do not treat omission of LiquidityVenueRatio.cash as disabling cash rebalancing. Disabling must be explicit in [rebalancing.liquidity_venue_ratio] (e.g., set cash = false or equivalent). This applies to related configs such as example.config.toml and code in src/rebalancing/trigger/mod.rs.

Applied to files:

  • config/staging/st0x-hedge.toml
  • config/prod/st0x-hedge.toml
📚 Learning: 2026-07-09T17:39:52.471Z
Learnt from: JuaniRios
Repo: ST0x-Technology/st0x.liquidity PR: 969
File: example.config.toml:0-0
Timestamp: 2026-07-09T17:39:52.471Z
Learning: For any checked-in TOML config in this repo that defines a `[raindex]` section (e.g., configs under `config/` and `example.config.toml`), ensure `vault_owner` matches the address implied by `inventory_mode`, per the existing `repo_config_vault_owner_matches_settlement_mode` test: when `inventory_mode = "managed"`, `vault_owner` must equal the `inventory` address; when `inventory_mode = "legacy"`, `vault_owner` must be set to the corresponding wallet/EOA address expected by the test. After editing configs, run the test suite/CI to confirm there’s no config drift.

Applied to files:

  • config/staging/st0x-hedge.toml
  • config/prod/st0x-hedge.toml
📚 Learning: 2026-07-09T17:39:51.844Z
Learnt from: JuaniRios
Repo: ST0x-Technology/st0x.liquidity PR: 969
File: config/staging/st0x-hedge.toml:0-0
Timestamp: 2026-07-09T17:39:51.844Z
Learning: When reviewing any checked-in `[raindex]` configuration in `config/**/*.toml`, enforce the invariant for `vault_owner` based on `inventory_mode`: if `inventory_mode = "legacy"`, `vault_owner` must equal `[wallet].address`; if `inventory_mode = "managed"`, `vault_owner` must equal the `inventory` address. This prevents mis-copying `vault_owner` from another environment (e.g., staging using prod’s wallet address).

Applied to files:

  • config/staging/st0x-hedge.toml
  • config/prod/st0x-hedge.toml
📚 Learning: 2026-07-21T17:27:05.289Z
Learnt from: JuaniRios
Repo: ST0x-Technology/st0x.liquidity PR: 1067
File: config/prod/st0x-hedge.toml:360-412
Timestamp: 2026-07-21T17:27:05.289Z
Learning: In hedge configuration TOML files (e.g., `config/prod/st0x-hedge.toml` and `config/staging/st0x-hedge.toml`), the `[assets.equities.<SYMBOL>]` table name suffixes must use unprefixed market tickers (e.g., `TSLA`, `AMZN`, `NVDA`). Even if the corresponding `tokenized_equity` value refers to a tokenized asset, do not apply the Rust/TOML tokenized-equity `t`-prefix naming convention to these hedge table names—only use the raw ticker in the table key.

Applied to files:

  • config/staging/st0x-hedge.toml
  • config/prod/st0x-hedge.toml
🪛 Betterleaks (1.6.1)
config/staging/st0x-hedge.toml

[high] 405-405: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 414-414: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 423-423: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 432-432: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 441-441: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 450-450: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

config/prod/st0x-hedge.toml

[high] 420-420: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 429-429: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 438-438: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 447-447: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 456-456: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


[high] 465-465: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

🔇 Additional comments (2)
config/prod/st0x-hedge.toml (1)

414-421: LGTM!

Also applies to: 423-430, 432-439, 441-448, 450-457, 459-466

config/staging/st0x-hedge.toml (1)

399-406: LGTM!

Also applies to: 408-415, 417-424, 426-433, 435-442, 444-451


Walkthrough

Changes

Equity asset configuration

Layer / File(s) Summary
Environment-specific equity definitions
config/prod/st0x-hedge.toml, config/staging/st0x-hedge.toml
Adds GOOGL, INTC, AAPL, MSFT, LLY, and PTY with shared vault and symbol-specific tokenized contract addresses; feature flags are enabled in production and disabled in staging.

Possibly related PRs

Suggested labels: ops

Suggested reviewers: findolor, 0xgleb, hardyjosh, rouzwelt

🚥 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 clearly and concisely describes the main change: adding the listed equities to config.
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 add-googl-intc-aapl-msft-lly-pty-equities

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@graphite-app

graphite-app Bot commented Jul 27, 2026

Copy link
Copy Markdown

Graphite Automations

"Auto-assign PRs to author" took an action on this PR • (07/27/26)

1 assignee was added to this PR based on Juan Ignacio Rios's automation.

@JuaniRios JuaniRios changed the title chore(config): add GOOGL, INTC, AAPL, MSFT, LLY, PTY equities chore(config): add GOOGL, INTC, AAPL, MSFT, LLY, and PTY equities Jul 27, 2026
@JuaniRios

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 46 minutes.

@JuaniRios

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Rate Limit Exceeded

@JuaniRios have exceeded the limit for the number of chat messages per hour. Please wait 47 minutes and 32 seconds before sending another message.

@JuaniRios

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 59 minutes.

@JuaniRios

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 1 minute.

@JuaniRios

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot added the ops operational. doesn't include changes label Jul 28, 2026
@graphite-app

graphite-app Bot commented Jul 28, 2026

Copy link
Copy Markdown

Merge activity

  • Jul 28, 5:00 PM UTC: JuaniRios added this pull request to the Graphite merge queue.
  • Jul 28, 5:02 PM UTC: CI is running for this pull request on a draft pull request (#1102) due to your merge queue CI optimization settings.
  • Jul 28, 5:03 PM UTC: Merged by the Graphite merge queue via draft PR: #1102.

@graphite-app graphite-app Bot closed this Jul 28, 2026
@graphite-app
graphite-app Bot deleted the add-googl-intc-aapl-msft-lly-pty-equities branch July 28, 2026 17:03
@github-actions github-actions Bot added the externally-merged Added to a PR that appears closed but is actually merged by an external actor like Graphite label Jul 28, 2026
ueco-jb pushed a commit to ueco-jb/st0x.liquidity that referenced this pull request Jul 29, 2026
…0x-Technology#1097)

## What

- Adds `GOOGL`, `INTC`, `AAPL`, `MSFT`, `LLY`, and `PTY` to `config/prod/st0x-hedge.toml`, all four flags `enabled`.
- Adds the same six to `config/staging/st0x-hedge.toml`, all four flags `disabled`.
- The tokens come from [st0x.registry#46](ST0x-Technology/st0x.registry#46).

## Why

- The tokens are live on Base, but the bot does not know their addresses. So it cannot recognise a fill, account for it, or hedge it.

## How

- Config only, no Rust changes. Same shape as ST0x-Technology#1067.
- `tokenized_equity` is the `t<SYM>` share token. `tokenized_equity_derivative` is the `wt<SYM>` wrapper.
- I checked every pair on Base with `cast`. Each wrapper reports `symbol()` `wt<SYM>`, `decimals()` 18, and `asset()` equal to the `tokenized_equity` address in this diff. So the two fields are not flipped.
- `vault_id = "0xfab"` like every other equity.
- `pyth_feed_id` is unset on all six. We only pin a feed after we confirm it on-chain. A missing feed skips trade enrichment for analytics. Hedging is unaffected.
- staging registers the six but keeps every flag `disabled`. staging only trades RKLB.

## Testing

- `cargo nextest run -p st0x-config --all-features` -> 176/176 pass.
- `server_config_toml_is_valid` and `all_repo_config_tomls_are_valid` read the real prod and staging TOML files. So the twelve new blocks are parsed and validated.
- Not hotfixed on the live prod config. Prod picks these up on the next deploy.

## Anything else

- This turns on live prod trading for all six. To hold one back, flip its prod `trading` to `disabled` before the deploy.
- `PTY` is a closed-end fund, not a common stock. Worth a check that the broker fills it the same way.
- Out of scope: the Raindex orders in `st0x.raindex-deploy`, and the issuance registration. The bot sees no fills until those orders are deployed.

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

* **New Features**
  * Added support for GOOGL, INTC, AAPL, MSFT, LLY, and PTY equity assets.
  * Configured tokenized equity and derivative contract addresses for each asset.
  * Enabled relevant trading and recovery capabilities in production.
  * Added the assets in staging with functionality disabled pending activation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@linear-code

linear-code Bot commented Aug 1, 2026

Copy link
Copy Markdown

RAI-1608

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

externally-merged Added to a PR that appears closed but is actually merged by an external actor like Graphite ops operational. doesn't include changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants