Add GOOGL, INTC, AAPL, MSFT, LLY, and PTY Base tokens - #46
Conversation
📝 WalkthroughWalkthroughThe Base token list adds six chainId 8453 wrapped tokens, mirrors them in ChangesBase wrapped-token registrations
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@token-lists/base.json`:
- Line 554: Upload live logo assets or replace the broken URIs for GOOGL, META,
AAPL, MSFT, LLY, and PTY at token-lists/base.json lines 554-554, 573-573,
592-592, 611-611, 630-630, and 649-649; then mirror each corrected URI at lines
1211-1211, 1230-1230, 1249-1249, 1268-1268, 1287-1287, and 1306-1306
respectively.
🪄 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 Plus
Run ID: ef381884-149b-4018-9bda-363f78b20a05
📒 Files selected for processing (1)
token-lists/base.json
| "decimals": 18, | ||
| "name": "Wrapped Alphabet Inc. Class A ST0x", | ||
| "symbol": "wtGOOGL", | ||
| "logoURI": "https://st0x.io/images/GOOGL.png", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Upload the referenced logo assets before publishing this list.
The PR notes these assets do not yet exist, so consumers will display broken logos.
token-lists/base.json#L554-L554: uploadGOOGL.pngor reference a live asset.token-lists/base.json#L573-L573: uploadMETA.pngor reference a live asset.token-lists/base.json#L592-L592: uploadAAPL.pngor reference a live asset.token-lists/base.json#L611-L611: uploadMSFT.pngor reference a live asset.token-lists/base.json#L630-L630: uploadLLY.pngor reference a live asset.token-lists/base.json#L649-L649: uploadPTY.pngor reference a live asset.token-lists/base.json#L1211-L1211: mirror the corrected GOOGL URI.token-lists/base.json#L1230-L1230: mirror the corrected META URI.token-lists/base.json#L1249-L1249: mirror the corrected AAPL URI.token-lists/base.json#L1268-L1268: mirror the corrected MSFT URI.token-lists/base.json#L1287-L1287: mirror the corrected LLY URI.token-lists/base.json#L1306-L1306: mirror the corrected PTY URI.
📍 Affects 1 file
token-lists/base.json#L554-L554(this comment)token-lists/base.json#L573-L573token-lists/base.json#L592-L592token-lists/base.json#L611-L611token-lists/base.json#L630-L630token-lists/base.json#L649-L649token-lists/base.json#L1211-L1211token-lists/base.json#L1230-L1230token-lists/base.json#L1249-L1249token-lists/base.json#L1268-L1268token-lists/base.json#L1287-L1287token-lists/base.json#L1306-L1306
🤖 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 `@token-lists/base.json` at line 554, Upload live logo assets or replace the
broken URIs for GOOGL, META, AAPL, MSFT, LLY, and PTY at token-lists/base.json
lines 554-554, 573-573, 592-592, 611-611, 630-630, and 649-649; then mirror each
corrected URI at lines 1211-1211, 1230-1230, 1249-1249, 1268-1268, 1287-1287,
and 1306-1306 respectively.
Six tokenised assets deployed on Base 2026-07-27 via create-sft, all on the shared authoriser 0x315b16faa6eE413faBCa877d3851B3818369f0cD and owned by the production Safe 0xe70d821f3462a074e63b42d0AaC6523faAe1d611. Added to both `tokens` and `tokenMap`; minor version bump 1.3.0 -> 1.4.0, matching the convention used for the previous batch (#40). PTY is the list's first closed-end fund; it carries the same entry shape as the equities and points at PIMCO's issuer logo. META and PLTR were deployed on Base in the same batch but are not being launched, so they are deliberately excluded. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
8002547 to
4302e55
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@token-lists/base.json`:
- Around line 567-585: Update the token registration object near the Intel entry
to register the required wtMETA asset instead of wtINTC, including its correct
Meta-specific address, metadata, symbol, image, and extensions; alternatively,
revise the release requirements to remove the wtMETA objective. Ensure the
corresponding tokenMap entry remains consistent and Meta is not omitted from the
published list.
🪄 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 Plus
Run ID: 73dd9303-142c-44b2-a66e-8d88d3708b53
📒 Files selected for processing (1)
token-lists/base.json
| { | ||
| "chainId": 8453, | ||
| "address": "0xf567652fC2d7Db8D5469fD06AEbe8C9c4372d722", | ||
| "decimals": 18, | ||
| "name": "Wrapped Intel Corporation ST0x", | ||
| "symbol": "wtINTC", | ||
| "logoURI": "https://st0x.io/images/INTC.png", | ||
| "tags": [ | ||
| "st0x" | ||
| ], | ||
| "extensions": { | ||
| "unwrappedAddress": "0xBDC237Aa3B67cC3088adAf117913F30Bf08157a3", | ||
| "receiptAddress": "0xAFEd850e458d331EF2A13569547258A84e2e42D2", | ||
| "category": "ST0x", | ||
| "tradingViewSymbol": "NASDAQ:INTC", | ||
| "isin": "US4581401001", | ||
| "tradingViewMarket": "america" | ||
| } | ||
| }, |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Register wtMETA or correct the release requirements.
The stated PR objective requires wtMETA, but this object registers wtINTC. Line 1216 mirrors Intel in tokenMap, so the published list remains internally consistent while omitting Meta entirely.
🤖 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 `@token-lists/base.json` around lines 567 - 585, Update the token registration
object near the Intel entry to register the required wtMETA asset instead of
wtINTC, including its correct Meta-specific address, metadata, symbol, image,
and extensions; alternatively, revise the release requirements to remove the
wtMETA objective. Ensure the corresponding tokenMap entry remains consistent and
Meta is not omitted from the published list.
## Summary - Add six wrapped Base tokens from [st0x.registry PR #46](ST0x-Technology/st0x.registry#46) to `config.toml` with Alpaca tickers: GOOGL, INTC, AAPL, MSFT, LLY, and PTY. - Update the sync comment to ST0x Base Token List v1.4.0 (2026-07-27). ## Notes - **Branched from `f6dbb4c`** (pre-GCP / Fly + Alpaca production) per deploy guidance — not from `main`. - Uses root `config.toml` and unwrapped Alpaca symbol names (e.g. `GOOGL`, not `wtGOOGL`), matching #44 and current production. - META and PLTR omitted (not launching). Supersedes #53 which targeted `main` / `config/st0x-oracle-server.toml`. ## Test plan - [ ] Deploy/restart pre-GCP oracle with updated `config.toml` - [ ] Verify `/context/v4` returns signed quotes for each new ticker/USDC pair during an active session - [ ] Confirm Alpaca positions exist for all six symbols on the broker account Made with [Cursor](https://cursor.com)
…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 -->
Summary
Adds six tokenised assets deployed on Base on 2026-07-27 to
token-lists/base.json, then rebuilds the immutable token-list → settings → registry pin chain.0x6a2357Df4975C667B171bE53dA6FFe6deBf7030c0x15De944Cd020A18C8E5626fB0F81b36e739561990xf567652fC2d7Db8D5469fD06AEbe8C9c4372d7220xBDC237Aa3B67cC3088adAf117913F30Bf08157a30x1020EC8Aa3f709a1f3D8705cdBa89b950451bd880xD36056a4a03707D3743fCE4e9C08852820ADcfdC0x515A3Ac2a6aB590bDFa970caFFFd7fAdC680886E0x6a071E25fa25653cF15d1ee320eA3df771926Aa00x892CcF5E75f4a7Ee6402971a1587F65BEE4d52bd0xA41Ce7B8255A01062ED1AF23ea5E8137B93005540xb6D779A79E7493ed821a65D52bA419F0F6D5dD0a0xb6021810971714cD48572af527307Acc324ecF61META and PLTR were deployed in the same batch but are intentionally excluded from this launch. INTC replaces META in the launch set.
Immutable pin chain
The branch was merged with the latest
mainbefore rebuilding the final pins, preserving the newly added v4 strategy sources.a3caf78— integrates currentmainwith the v1.4.0 token list.dd5acc0— pointssettings.yamlusing-tokens-fromata3caf78.eca93e8— points everyregistryURL, including the v4 strategies, atdd5acc0.Verification
sft-base/1.0.12subgraph.name(),symbol(),decimals(), andasset()on Base.tokens/tokenMapparity, valid keys, and no duplicate symbols or addresses.token-lists/base.jsonandsettings.yaml.git diff --check.Website dependency
Token configuration and logo assets are in SARKEX/st0x#245.