feat(sUSD): add stableswap-pool-config.yaml with EvmHypStableSwap ada…#1374
feat(sUSD): add stableswap-pool-config.yaml with EvmHypStableSwap ada…#1374
Conversation
…pters Adds the full EvmHypStableSwap configuration for all 8 tokens in the stableswap pool (USDC/USDT on arb+base, USDSC soneium, USDH hyperevm, mUSD linea, mantraUSD mantra). This config includes helperAddress, sUSDAddress, and adapterAddress fields needed by the warp UI. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR adds many stableswap token configuration and deployment YAMLs (USDC, USDT, USDH, USDSC, mUSD, mantraUSD, sUSD), expands warpRouteConfigs.yaml with those token mappings, and updates the JSON schema to support EvmHypStableSwap and richer connection/stable-swap fields. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 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: 7
🤖 Fix all issues with AI agents
In `@deployments/warp_routes/sUSD/stableswap-pool-config.yaml`:
- Around line 1-168: CI failed Prettier on the stableswap config: run prettier
--write against deployments/warp_routes/sUSD/stableswap-pool-config.yaml (the
document starting with the top-level tokens key and entries like chainName:
arbitrum / symbol: USDC) to fix formatting; ensure your repo has a Prettier
config (or use the project package.json prettier script) and commit the
reformatted file so the pipeline passes.
In `@deployments/warp_routes/USDC/stableswap-config.yaml`:
- Around line 1-17: The YAML token mappings have keys out of alphabetical order
causing the linter to fail; for each entry under the tokens list (the two
mappings with chainName: arbitrum and chainName: base) reorder the mapping keys
alphabetically so each token object uses the key order: addressOrDenom,
chainName, collateralAddressOrDenom, connections, decimals, name, standard,
symbol; update both token entries accordingly to satisfy the sort-keys rule.
In `@deployments/warp_routes/USDC/stableswap-deploy.yaml`:
- Around line 2-14: Reorder the keys inside each chain mapping (e.g., the
arbitrum and base blocks) so they are alphabetized: mailbox, owner, sUSD, token,
type; update both the arbitrum and base mappings to that order while preserving
the existing values and quoting.
In `@deployments/warp_routes/USDH/stableswap-config.yaml`:
- Around line 2-9: The YAML object for the USDH token has keys out of
alphabetical order; reorder the keys (addressOrDenom, chainName,
collateralAddressOrDenom, connections, decimals, name, standard, symbol) into
alphabetical order so the keys are consistently sorted for the USDH entry (look
for the USDH token block and its keys such as chainName, standard, decimals,
symbol, name, addressOrDenom, collateralAddressOrDenom, connections and
rearrange them alphabetically).
In `@deployments/warp_routes/USDH/stableswap-deploy.yaml`:
- Around line 1-6: The YAML mapping under the hyperevm deployment must have its
keys sorted alphabetically; reorder the keys (for the mapping that includes
type, token, sUSD, mailbox, owner) so they follow alphabetical order (mailbox,
owner, sUSD, token, type) to comply with the `**/*.yaml` key-sorting guideline.
In `@deployments/warp_routes/USDSC/stableswap-config.yaml`:
- Around line 1-9: The token mapping under the tokens array is not
alphabetically ordered; reorder the keys inside the token object (chainName,
standard, decimals, symbol, name, addressOrDenom, collateralAddressOrDenom,
connections) into strict alphabetical order (addressOrDenom, chainName,
collateralAddressOrDenom, connections, decimals, name, standard, symbol) so the
entry for the USDSC token matches the repository YAML key-sorting guideline;
update the existing token object (the map containing these keys) accordingly
without changing values.
In `@deployments/warp_routes/USDSC/stableswap-deploy.yaml`:
- Around line 2-7: The keys under the soneium mapping are not alphabetized;
reorder the properties within the soneium block (the mapping that contains type,
token, sUSD, mailbox, owner) into alphabetical order by key name (mailbox,
owner, sUSD, token, type) so the YAML follows the project's sorted-keys
guideline and remains consistent.
🧹 Nitpick comments (9)
deployments/warp_routes/mUSD/stableswap-config.yaml (1)
1-9: Keys need to be sorted alphabetically, if ye don't mind.Look, I know organising things ain't the most exciting part of anyone's day - believe me, I get it. But the coding guidelines say YAML keys gotta be in alphabetical order. Right now they're a wee bit all over the place, like onions scattered across the swamp floor.
♻️ Proposed fix for alphabetical ordering
tokens: - - chainName: linea - standard: EvmHypCollateralAdapter - decimals: 6 - symbol: mUSD - name: MetaMask USD - addressOrDenom: "0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895" - collateralAddressOrDenom: "0xaca92e438df0b2401ff60da7e4337b687a2435da" - connections: [] + - addressOrDenom: "0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895" + chainName: linea + collateralAddressOrDenom: "0xaca92e438df0b2401ff60da7e4337b687a2435da" + connections: [] + decimals: 6 + name: MetaMask USD + standard: EvmHypCollateralAdapter + symbol: mUSDAs per coding guidelines: "YAML files must have keys sorted alphabetically"
deployments/warp_routes/mUSD/stableswap-deploy.yaml (1)
1-6: Same deal here - alphabetical sorting for the keys, please.The keys under
lineaneed a bit of tidying up. And before ye ask - that Gitleaks warning about line 3 being an "API key"? That's just a blockchain address doin' its thing. Public as daylight, nothing to worry about there. Static analysis tools sometimes get a bit jumpy around hex strings, y'know?♻️ Proposed fix for alphabetical ordering
linea: - type: collateralAdapter - token: "0xaca92e438df0b2401ff60da7e4337b687a2435da" - sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" - mailbox: "0x02d16BC51af6BfD153d67CA61754cF912E82C4d9" - owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" + mailbox: "0x02d16BC51af6BfD153d67CA61754cF912E82C4d9" + owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" + sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" + token: "0xaca92e438df0b2401ff60da7e4337b687a2435da" + type: collateralAdapterAs per coding guidelines: "YAML files must have keys sorted alphabetically"
deployments/warp_routes/USDT/stableswap-config.yaml (1)
2-9: Keys aren't sorted alphabetically, and that's gonna bother me like a donkey that won't stop talkin'.Per the coding guidelines for YAML files, keys need to be in alphabetical order. Right now they're all over the swamp.
🧅 Proposed fix for key ordering
tokens: - chainName: arbitrum - standard: EvmHypCollateralAdapter - decimals: 6 - symbol: USDT - name: Tether USD addressOrDenom: "0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af" collateralAddressOrDenom: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" connections: [] + decimals: 6 + name: Tether USD + standard: EvmHypCollateralAdapter + symbol: USDT - chainName: base - standard: EvmHypCollateralAdapter - decimals: 6 - symbol: USDT - name: Tether USD addressOrDenom: "0x23c51024b19303F1315DbFFA055666aE9B7A0B2c" collateralAddressOrDenom: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" connections: [] + decimals: 6 + name: Tether USD + standard: EvmHypCollateralAdapter + symbol: USDTAs per coding guidelines: "YAML files must have keys sorted alphabetically".
deployments/warp_routes/USDT/stableswap-deploy.yaml (1)
2-7: Same deal here - keys need to be sorted like onions have layers.The keys under each chain section should be in alphabetical order. Also, just so we're clear, that static analysis warning about an "API key" at line 3 is a false positive -
type: collateralAdapteris just a configuration value, not a secret. Nothing to lose sleep over in the swamp tonight.🧅 Proposed fix for key ordering
# Imputed deploy config for USDT CollateralAdapters on Arbitrum and Base arbitrum: - type: collateralAdapter - token: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" - sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" mailbox: "0x979Ca5202784112f4738403dBec5D0F3B9daabB9" owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" + sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" + token: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" + type: collateralAdapter base: - type: collateralAdapter - token: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" - sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" mailbox: "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" + sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" + token: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" + type: collateralAdapterAs per coding guidelines: "YAML files must have keys sorted alphabetically".
deployments/warp_routes/mantraUSD/stableswap-deploy.yaml (1)
1-6: Keys need to be sorted alphabetically, mate.Look, I know it seems like a small thing, but the swamp has rules. These keys need to be in alphabetical order per the coding guidelines.
🔧 Suggested fix for alphabetical ordering
mantra: - type: collateralAdapter - token: "0xd2b95283011E47257917770D28Bb3EE44c849f6F" - sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" + sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" + token: "0xd2b95283011E47257917770D28Bb3EE44c849f6F" + type: collateralAdapterAs per coding guidelines:
**/*.yaml: YAML files must have keys sorted alphabetically.deployments/warp_routes/mantraUSD/stableswap-config.yaml (1)
1-9: Sort those keys alphabetically, will ya?The token entry keys are scattered like onions in the wind. They need to be in alphabetical order.
🔧 Suggested fix for alphabetical ordering
tokens: - - chainName: mantra - standard: EvmHypCollateralAdapter - decimals: 6 - symbol: mantraUSD - name: MANTRA USD - addressOrDenom: "0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895" + - addressOrDenom: "0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895" + chainName: mantra collateralAddressOrDenom: "0xd2b95283011E47257917770D28Bb3EE44c849f6F" connections: [] + decimals: 6 + name: MANTRA USD + standard: EvmHypCollateralAdapter + symbol: mantraUSDAs per coding guidelines:
**/*.yaml: YAML files must have keys sorted alphabetically.deployments/warp_routes/sUSD/stableswap-deploy.yaml (1)
1-53: This whole thing needs a good re-sorting, donkey.The top-level chain keys aren't in alphabetical order (should be: arbitrum, base, hyperevm, linea, mantra, soneium). Also, the keys under each chain entry need sorting too.
🔧 Example fix for the first entry (apply pattern to all)
arbitrum: - type: syntheticWithMinters - name: "StableSwap USD" - symbol: "sUSD" + authorizedMinters: [] decimals: 6 mailbox: "0x979Ca5202784112f4738403dBec5D0F3B9daabB9" + name: "StableSwap USD" owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" - authorizedMinters: [] + symbol: "sUSD" + type: syntheticWithMintersAnd reorder top-level keys to:
arbitrum,base,hyperevm,linea,mantra,soneiumAs per coding guidelines:
**/*.yaml: YAML files must have keys sorted alphabetically.deployments/warp_routes/sUSD/stableswap-pool-config.yaml (1)
2-21: Keys need alphabetical sorting throughout this file.Every token entry has keys all over the place. They should be sorted alphabetically:
adapterAddress,addressOrDenom,chainName,collateralAddressOrDenom,connections,decimals,helperAddress,name,sUSDAddress,stableSwapPool,standard,symbol.🔧 Example fix for the Arbitrum USDC entry (apply pattern to all)
# Arbitrum USDC - - chainName: arbitrum + - adapterAddress: '0x94C62e7958738B65737a0Db8A5077def3AED84AA' + addressOrDenom: '0x94C62e7958738B65737a0Db8A5077def3AED84AA' + chainName: arbitrum + collateralAddressOrDenom: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' + connections: + - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af + - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 + - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c + - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 + - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 + - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 + - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 + decimals: 6 + helperAddress: '0x56db6AF01e03E31695F847633F0F15eF857D4179' + name: USD Coin + sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' + stableSwapPool: mainnet-stableswap-pool standard: EvmHypStableSwap - decimals: 6 symbol: USDC - name: USD Coin - addressOrDenom: '0x94C62e7958738B65737a0Db8A5077def3AED84AA' - collateralAddressOrDenom: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' - stableSwapPool: mainnet-stableswap-pool - helperAddress: '0x56db6AF01e03E31695F847633F0F15eF857D4179' - sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' - adapterAddress: '0x94C62e7958738B65737a0Db8A5077def3AED84AA' - connections: - - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af - ...As per coding guidelines:
**/*.yaml: YAML files must have keys sorted alphabetically.deployments/warp_routes/sUSD/stableswap-config.yaml (1)
1-73: Same story here - keys need alphabetical sorting.All the token entries need their keys sorted. Right now they're as organized as a swamp after a rainstorm.
🔧 Example fix for the arbitrum entry (apply pattern to all)
tokens: - - chainName: arbitrum - standard: EvmHypSyntheticWithMinters - decimals: 6 - symbol: sUSD - name: StableSwap USD - addressOrDenom: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" + - addressOrDenom: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" + chainName: arbitrum connections: - token: ethereum|base|0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6 - token: ethereum|soneium|0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6 - token: ethereum|mantra|0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6 - token: ethereum|linea|0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6 - token: ethereum|hyperevm|0x0a089A151228Fd8CdfB1082a12b030D4C064F497 + decimals: 6 + name: StableSwap USD + standard: EvmHypSyntheticWithMinters + symbol: sUSDAs per coding guidelines:
**/*.yaml: YAML files must have keys sorted alphabetically.
| tokens: | ||
| # Arbitrum USDC | ||
| - chainName: arbitrum | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: USDC | ||
| name: USD Coin | ||
| addressOrDenom: '0x94C62e7958738B65737a0Db8A5077def3AED84AA' | ||
| collateralAddressOrDenom: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0x56db6AF01e03E31695F847633F0F15eF857D4179' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0x94C62e7958738B65737a0Db8A5077def3AED84AA' | ||
| connections: | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # Arbitrum USDT | ||
| - chainName: arbitrum | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: USDT | ||
| name: Tether USD | ||
| addressOrDenom: '0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af' | ||
| collateralAddressOrDenom: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0x56db6AF01e03E31695F847633F0F15eF857D4179' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af' | ||
| connections: | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # Base USDC | ||
| - chainName: base | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: USDC | ||
| name: USD Coin | ||
| addressOrDenom: '0x73Ef899fDa87213e26501707ab585028BFB297c8' | ||
| collateralAddressOrDenom: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0x9650deA331801F944335669a8569ed39f7AEf342' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0x73Ef899fDa87213e26501707ab585028BFB297c8' | ||
| connections: | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # Base USDT | ||
| - chainName: base | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: USDT | ||
| name: Tether USD | ||
| addressOrDenom: '0x23c51024b19303F1315DbFFA055666aE9B7A0B2c' | ||
| collateralAddressOrDenom: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0x9650deA331801F944335669a8569ed39f7AEf342' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0x23c51024b19303F1315DbFFA055666aE9B7A0B2c' | ||
| connections: | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # Soneium Startale USD (USDSC) | ||
| - chainName: soneium | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: USDSC | ||
| name: Startale USD | ||
| addressOrDenom: '0x867D428B8FbE196EA4e997e7980623E75ED219a7' | ||
| collateralAddressOrDenom: '0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0xcA45246445A047670B67F87c5AC75A4DbE5134F1' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0x867D428B8FbE196EA4e997e7980623E75ED219a7' | ||
| connections: | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # HyperEVM USDH | ||
| - chainName: hyperevm | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: USDH | ||
| name: USD Hyperliquid | ||
| addressOrDenom: '0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575' | ||
| collateralAddressOrDenom: '0x111111a1a0667d36bd57c0a9f569b98057111111' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0x7e97865321a4a16B7DDc4ea5387E63ED1999b6d7' | ||
| sUSDAddress: '0x0a089A151228Fd8CdfB1082a12b030D4C064F497' | ||
| adapterAddress: '0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575' | ||
| connections: | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # Linea mUSD | ||
| - chainName: linea | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: mUSD | ||
| name: MetaMask USD | ||
| addressOrDenom: '0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895' | ||
| collateralAddressOrDenom: '0xaca92e438df0b2401ff60da7e4337b687a2435da' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0x3856c8A14cf1D1da69237B8e79aDb4E3eE44fba2' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895' | ||
| connections: | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|mantra|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 | ||
|
|
||
| # MANTRA mantraUSD | ||
| - chainName: mantra | ||
| standard: EvmHypStableSwap | ||
| decimals: 6 | ||
| symbol: mantraUSD | ||
| name: MANTRA USD | ||
| addressOrDenom: '0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895' | ||
| collateralAddressOrDenom: '0xd2b95283011E47257917770D28Bb3EE44c849f6F' | ||
| stableSwapPool: mainnet-stableswap-pool | ||
| helperAddress: '0xF0d9D232141dF68DD3CE272dd216C8D71645F25A' | ||
| sUSDAddress: '0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6' | ||
| adapterAddress: '0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895' | ||
| connections: | ||
| - token: ethereum|arbitrum|0x94C62e7958738B65737a0Db8A5077def3AED84AA | ||
| - token: ethereum|arbitrum|0x6BEC839292A36372882Cb850E93FB5aC2A9BA4Af | ||
| - token: ethereum|base|0x73Ef899fDa87213e26501707ab585028BFB297c8 | ||
| - token: ethereum|base|0x23c51024b19303F1315DbFFA055666aE9B7A0B2c | ||
| - token: ethereum|soneium|0x867D428B8FbE196EA4e997e7980623E75ED219a7 | ||
| - token: ethereum|hyperevm|0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575 | ||
| - token: ethereum|linea|0xb9Fc2748D7f4d81cfc2ca78a52f52b4ADf1C4895 |
There was a problem hiding this comment.
CI's giving you grief about Prettier formatting.
The pipeline's complaining that this file needs a prettier --write to fix the formatting. Better do that before this goes anywhere.
#!/bin/bash
# Check if prettier config exists and what formatting issues are present
fd -t f "prettier" -d 2
cat package.json 2>/dev/null | jq '.scripts | keys[] | select(contains("prettier") or contains("format"))'🧰 Tools
🪛 GitHub Actions: ci
[error] 1-1: Prettier formatting check failed. Run 'prettier --write' to fix code style issues in this file.
🤖 Prompt for AI Agents
In `@deployments/warp_routes/sUSD/stableswap-pool-config.yaml` around lines 1 -
168, CI failed Prettier on the stableswap config: run prettier --write against
deployments/warp_routes/sUSD/stableswap-pool-config.yaml (the document starting
with the top-level tokens key and entries like chainName: arbitrum / symbol:
USDC) to fix formatting; ensure your repo has a Prettier config (or use the
project package.json prettier script) and commit the reformatted file so the
pipeline passes.
| tokens: | ||
| - chainName: arbitrum | ||
| standard: EvmHypCollateralAdapter | ||
| decimals: 6 | ||
| symbol: USDC | ||
| name: USD Coin | ||
| addressOrDenom: "0x94C62e7958738B65737a0Db8A5077def3AED84AA" | ||
| collateralAddressOrDenom: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" | ||
| connections: [] | ||
| - chainName: base | ||
| standard: EvmHypCollateralAdapter | ||
| decimals: 6 | ||
| symbol: USDC | ||
| name: USD Coin | ||
| addressOrDenom: "0x73Ef899fDa87213e26501707ab585028BFB297c8" | ||
| collateralAddressOrDenom: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" | ||
| connections: [] |
There was a problem hiding this comment.
Sort token mapping keys alphabetically to fix lint.
Right now the key order trips the YAML sort-keys check. Reordering the keys inside each token entry will clear the lint failure.
✅ Suggested reorder
tokens:
- - chainName: arbitrum
- standard: EvmHypCollateralAdapter
- decimals: 6
- symbol: USDC
- name: USD Coin
- addressOrDenom: "0x94C62e7958738B65737a0Db8A5077def3AED84AA"
- collateralAddressOrDenom: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
- connections: []
+ - addressOrDenom: "0x94C62e7958738B65737a0Db8A5077def3AED84AA"
+ chainName: arbitrum
+ collateralAddressOrDenom: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
+ connections: []
+ decimals: 6
+ name: USD Coin
+ standard: EvmHypCollateralAdapter
+ symbol: USDC
- chainName: base
- standard: EvmHypCollateralAdapter
- decimals: 6
- symbol: USDC
- name: USD Coin
- addressOrDenom: "0x73Ef899fDa87213e26501707ab585028BFB297c8"
- collateralAddressOrDenom: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
- connections: []
+ - addressOrDenom: "0x73Ef899fDa87213e26501707ab585028BFB297c8"
+ chainName: base
+ collateralAddressOrDenom: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
+ connections: []
+ decimals: 6
+ name: USD Coin
+ standard: EvmHypCollateralAdapter
+ symbol: USDCAs per coding guidelines: **/*.yaml: YAML files must have keys sorted alphabetically.
📝 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.
| tokens: | |
| - chainName: arbitrum | |
| standard: EvmHypCollateralAdapter | |
| decimals: 6 | |
| symbol: USDC | |
| name: USD Coin | |
| addressOrDenom: "0x94C62e7958738B65737a0Db8A5077def3AED84AA" | |
| collateralAddressOrDenom: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" | |
| connections: [] | |
| - chainName: base | |
| standard: EvmHypCollateralAdapter | |
| decimals: 6 | |
| symbol: USDC | |
| name: USD Coin | |
| addressOrDenom: "0x73Ef899fDa87213e26501707ab585028BFB297c8" | |
| collateralAddressOrDenom: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" | |
| connections: [] | |
| tokens: | |
| - addressOrDenom: "0x94C62e7958738B65737a0Db8A5077def3AED84AA" | |
| chainName: arbitrum | |
| collateralAddressOrDenom: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" | |
| connections: [] | |
| decimals: 6 | |
| name: USD Coin | |
| standard: EvmHypCollateralAdapter | |
| symbol: USDC | |
| - addressOrDenom: "0x73Ef899fDa87213e26501707ab585028BFB297c8" | |
| chainName: base | |
| collateralAddressOrDenom: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" | |
| connections: [] | |
| decimals: 6 | |
| name: USD Coin | |
| standard: EvmHypCollateralAdapter | |
| symbol: USDC |
🧰 Tools
🪛 GitHub Actions: ci
[error] 4-4: ESLint: YAML sort-keys. Expected mapping keys to be in ascending order. 'decimals' should be before 'standard'.
🪛 GitHub Check: lint
[failure] 15-15:
Expected mapping keys to be in ascending order. 'addressOrDenom' should be before 'name'
[failure] 14-14:
Expected mapping keys to be in ascending order. 'name' should be before 'symbol'
[failure] 12-12:
Expected mapping keys to be in ascending order. 'decimals' should be before 'standard'
[failure] 7-7:
Expected mapping keys to be in ascending order. 'addressOrDenom' should be before 'name'
[failure] 6-6:
Expected mapping keys to be in ascending order. 'name' should be before 'symbol'
[failure] 4-4:
Expected mapping keys to be in ascending order. 'decimals' should be before 'standard'
🤖 Prompt for AI Agents
In `@deployments/warp_routes/USDC/stableswap-config.yaml` around lines 1 - 17, The
YAML token mappings have keys out of alphabetical order causing the linter to
fail; for each entry under the tokens list (the two mappings with chainName:
arbitrum and chainName: base) reorder the mapping keys alphabetically so each
token object uses the key order: addressOrDenom, chainName,
collateralAddressOrDenom, connections, decimals, name, standard, symbol; update
both token entries accordingly to satisfy the sort-keys rule.
| arbitrum: | ||
| type: collateralAdapter | ||
| token: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" | ||
| sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" | ||
| mailbox: "0x979Ca5202784112f4738403dBec5D0F3B9daabB9" | ||
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" | ||
|
|
||
| base: | ||
| type: collateralAdapter | ||
| token: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" | ||
| sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" | ||
| mailbox: "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" | ||
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" |
There was a problem hiding this comment.
Alphabetize keys inside each chain mapping.
Let’s keep it tidy so the YAML lint stops grumbling.
✅ Suggested reorder
arbitrum:
- type: collateralAdapter
- token: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
- sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6"
- mailbox: "0x979Ca5202784112f4738403dBec5D0F3B9daabB9"
- owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01"
+ mailbox: "0x979Ca5202784112f4738403dBec5D0F3B9daabB9"
+ owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01"
+ sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6"
+ token: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
+ type: collateralAdapter
base:
- type: collateralAdapter
- token: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
- sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6"
- mailbox: "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D"
- owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01"
+ mailbox: "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D"
+ owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01"
+ sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6"
+ token: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
+ type: collateralAdapterAs per coding guidelines: **/*.yaml: YAML files must have keys sorted alphabetically.
🧰 Tools
🪛 GitHub Check: lint
[failure] 11-11:
Expected mapping keys to be in ascending order. 'token' should be before 'type'
[failure] 6-6:
Expected mapping keys to be in ascending order. 'mailbox' should be before 'sUSD'
[failure] 5-5:
Expected mapping keys to be in ascending order. 'sUSD' should be before 'token'
[failure] 4-4:
Expected mapping keys to be in ascending order. 'token' should be before 'type'
🪛 Gitleaks (8.30.0)
[high] 4-4: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
[high] 11-11: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
🤖 Prompt for AI Agents
In `@deployments/warp_routes/USDC/stableswap-deploy.yaml` around lines 2 - 14,
Reorder the keys inside each chain mapping (e.g., the arbitrum and base blocks)
so they are alphabetized: mailbox, owner, sUSD, token, type; update both the
arbitrum and base mappings to that order while preserving the existing values
and quoting.
| - chainName: hyperevm | ||
| standard: EvmHypCollateralAdapter | ||
| decimals: 6 | ||
| symbol: USDH | ||
| name: USD Hyperliquid | ||
| addressOrDenom: "0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575" | ||
| collateralAddressOrDenom: "0x111111a1a0667d36bd57c0a9f569b98057111111" | ||
| connections: [] |
There was a problem hiding this comment.
Sort token keys alphabetically.
Key order isn’t alphabetical; please reorder for consistency.
As per coding guidelines: **/*.yaml: YAML files must have keys sorted alphabetically.
💡 Suggested reorder
- chainName: hyperevm
- standard: EvmHypCollateralAdapter
- decimals: 6
- symbol: USDH
- name: USD Hyperliquid
addressOrDenom: "0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575"
+ chainName: hyperevm
collateralAddressOrDenom: "0x111111a1a0667d36bd57c0a9f569b98057111111"
connections: []
+ decimals: 6
+ name: USD Hyperliquid
+ standard: EvmHypCollateralAdapter
+ symbol: USDH📝 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.
| - chainName: hyperevm | |
| standard: EvmHypCollateralAdapter | |
| decimals: 6 | |
| symbol: USDH | |
| name: USD Hyperliquid | |
| addressOrDenom: "0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575" | |
| collateralAddressOrDenom: "0x111111a1a0667d36bd57c0a9f569b98057111111" | |
| connections: [] | |
| - addressOrDenom: "0xc7d07C8acFC66852BAad9Afb49E8A3AA7F6D3575" | |
| chainName: hyperevm | |
| collateralAddressOrDenom: "0x111111a1a0667d36bd57c0a9f569b98057111111" | |
| connections: [] | |
| decimals: 6 | |
| name: USD Hyperliquid | |
| standard: EvmHypCollateralAdapter | |
| symbol: USDH |
🤖 Prompt for AI Agents
In `@deployments/warp_routes/USDH/stableswap-config.yaml` around lines 2 - 9, The
YAML object for the USDH token has keys out of alphabetical order; reorder the
keys (addressOrDenom, chainName, collateralAddressOrDenom, connections,
decimals, name, standard, symbol) into alphabetical order so the keys are
consistently sorted for the USDH entry (look for the USDH token block and its
keys such as chainName, standard, decimals, symbol, name, addressOrDenom,
collateralAddressOrDenom, connections and rearrange them alphabetically).
| hyperevm: | ||
| type: collateralAdapter | ||
| token: "0x111111a1a0667d36bd57c0a9f569b98057111111" | ||
| sUSD: "0x0a089A151228Fd8CdfB1082a12b030D4C064F497" | ||
| mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" | ||
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" |
There was a problem hiding this comment.
Sort deployment keys alphabetically.
Key order isn’t alphabetical; please reorder for consistency.
As per coding guidelines: **/*.yaml: YAML files must have keys sorted alphabetically.
💡 Suggested reorder
hyperevm:
- type: collateralAdapter
- token: "0x111111a1a0667d36bd57c0a9f569b98057111111"
- sUSD: "0x0a089A151228Fd8CdfB1082a12b030D4C064F497"
mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E"
owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01"
+ sUSD: "0x0a089A151228Fd8CdfB1082a12b030D4C064F497"
+ token: "0x111111a1a0667d36bd57c0a9f569b98057111111"
+ type: collateralAdapter📝 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.
| hyperevm: | |
| type: collateralAdapter | |
| token: "0x111111a1a0667d36bd57c0a9f569b98057111111" | |
| sUSD: "0x0a089A151228Fd8CdfB1082a12b030D4C064F497" | |
| mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" | |
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" | |
| hyperevm: | |
| mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" | |
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" | |
| sUSD: "0x0a089A151228Fd8CdfB1082a12b030D4C064F497" | |
| token: "0x111111a1a0667d36bd57c0a9f569b98057111111" | |
| type: collateralAdapter |
🤖 Prompt for AI Agents
In `@deployments/warp_routes/USDH/stableswap-deploy.yaml` around lines 1 - 6, The
YAML mapping under the hyperevm deployment must have its keys sorted
alphabetically; reorder the keys (for the mapping that includes type, token,
sUSD, mailbox, owner) so they follow alphabetical order (mailbox, owner, sUSD,
token, type) to comply with the `**/*.yaml` key-sorting guideline.
| tokens: | ||
| - chainName: soneium | ||
| standard: EvmHypCollateralAdapter | ||
| decimals: 6 | ||
| symbol: USDSC | ||
| name: Startale USD | ||
| addressOrDenom: "0x867D428B8FbE196EA4e997e7980623E75ED219a7" | ||
| collateralAddressOrDenom: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a" | ||
| connections: [] |
There was a problem hiding this comment.
Sort YAML keys alphabetically in the token entry.
Right now the keys inside the token map aren’t in alpha order. Please reorder them to match the YAML guideline so it stays consistent with the rest of the registry.
As per coding guidelines, YAML files must have keys sorted alphabetically.
Proposed fix
tokens:
- - chainName: soneium
- standard: EvmHypCollateralAdapter
- decimals: 6
- symbol: USDSC
- name: Startale USD
- addressOrDenom: "0x867D428B8FbE196EA4e997e7980623E75ED219a7"
- collateralAddressOrDenom: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a"
- connections: []
+ - addressOrDenom: "0x867D428B8FbE196EA4e997e7980623E75ED219a7"
+ chainName: soneium
+ collateralAddressOrDenom: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a"
+ connections: []
+ decimals: 6
+ name: Startale USD
+ standard: EvmHypCollateralAdapter
+ symbol: USDSC📝 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.
| tokens: | |
| - chainName: soneium | |
| standard: EvmHypCollateralAdapter | |
| decimals: 6 | |
| symbol: USDSC | |
| name: Startale USD | |
| addressOrDenom: "0x867D428B8FbE196EA4e997e7980623E75ED219a7" | |
| collateralAddressOrDenom: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a" | |
| connections: [] | |
| tokens: | |
| - addressOrDenom: "0x867D428B8FbE196EA4e997e7980623E75ED219a7" | |
| chainName: soneium | |
| collateralAddressOrDenom: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a" | |
| connections: [] | |
| decimals: 6 | |
| name: Startale USD | |
| standard: EvmHypCollateralAdapter | |
| symbol: USDSC |
🤖 Prompt for AI Agents
In `@deployments/warp_routes/USDSC/stableswap-config.yaml` around lines 1 - 9, The
token mapping under the tokens array is not alphabetically ordered; reorder the
keys inside the token object (chainName, standard, decimals, symbol, name,
addressOrDenom, collateralAddressOrDenom, connections) into strict alphabetical
order (addressOrDenom, chainName, collateralAddressOrDenom, connections,
decimals, name, standard, symbol) so the entry for the USDSC token matches the
repository YAML key-sorting guideline; update the existing token object (the map
containing these keys) accordingly without changing values.
| soneium: | ||
| type: collateralAdapter | ||
| token: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a" | ||
| sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" | ||
| mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" | ||
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" |
There was a problem hiding this comment.
Alphabetize the keys under soneium.
The nested fields aren’t in alpha order. Let’s sort them so the YAML stays tidy and consistent.
As per coding guidelines, YAML files must have keys sorted alphabetically.
Proposed fix
soneium:
- type: collateralAdapter
- token: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a"
- sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6"
mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E"
owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01"
+ sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6"
+ token: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a"
+ type: collateralAdapter📝 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.
| soneium: | |
| type: collateralAdapter | |
| token: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a" | |
| sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" | |
| mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" | |
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" | |
| soneium: | |
| mailbox: "0x3a464f746D23Ab22155710f44dB16dcA53e0775E" | |
| owner: "0xEA2117b24F7947647Bec60527B68f4244AE40c01" | |
| sUSD: "0x38E8720EBE02e7c5254F9De9F81440C7a770a9c6" | |
| token: "0x3f99231dD03a9F0E7e3421c92B7b90fbe012985a" | |
| type: collateralAdapter |
🤖 Prompt for AI Agents
In `@deployments/warp_routes/USDSC/stableswap-deploy.yaml` around lines 2 - 7, The
keys under the soneium mapping are not alphabetized; reorder the properties
within the soneium block (the mapping that contains type, token, sUSD, mailbox,
owner) into alphabetical order by key name (mailbox, owner, sUSD, token, type)
so the YAML follows the project's sorted-keys guideline and remains consistent.
Check Warp Deploy Summary
Last updated: 2026-02-02 17:50:08 UTC |
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
deployments/warp_routes/schema.json (1)
119-216:⚠️ Potential issue | 🟠 MajorAll four token ID regex patterns need escaping—they're too loose.
The pipe characters aren't being treated as literals, they're acting as alternation operators. What you've got now is basically
^(.+)OR(.+)OR(.+)$, which matches nearly everything: single words, two segments, random strings, you name it. Not what we're after.The pattern shows up at lines 129, 146, 174, and 215—tighten them all to
^[^|]+\|[^|]+\|[^|]+$to enforce the<protocol>|<chain>|<address>format properly. That way, only valid three-segment token IDs get through.Fix for all four occurrences
- "pattern": "^(.+)|(.+)|(.+)$" + "pattern": "^[^|]+\\|[^|]+\\|[^|]+$"
🤖 Fix all issues with AI agents
In `@deployments/warp_routes/schema.json`:
- Around line 245-261: The schema currently leaves stableSwapPool,
helperAddress, sUSDAddress, and adapterAddress as optional, allowing
EvmHypStableSwap tokens to validate without required addresses; add a
conditional schema rule using an allOf with an if/then that checks when
"standard" equals "EvmHypStableSwap" and in the then clause sets "required":
["stableSwapPool","helperAddress","sUSDAddress","adapterAddress"] so those
properties become mandatory only for that token standard; target the JSON Schema
where those properties are defined and reference the "standard" discriminator
used in your token objects.
| }, | ||
| "stableSwapPool": { | ||
| "type": "string", | ||
| "description": "Identifier for the stableswap pool (e.g., \"susd-m0\")" | ||
| }, | ||
| "helperAddress": { | ||
| "type": "string", | ||
| "description": "Address of the StableSwapHelper contract" | ||
| }, | ||
| "sUSDAddress": { | ||
| "type": "string", | ||
| "description": "Address of the sUSD token (HypERC20WithMinters)" | ||
| }, | ||
| "adapterAddress": { | ||
| "type": "string", | ||
| "description": "Address of the CollateralAdapter for this token" | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's look at the schema.json file around the specified lines
wc -l deployments/warp_routes/schema.jsonRepository: hyperlane-xyz/hyperlane-registry
Length of output: 115
🏁 Script executed:
# Read the schema file around lines 245-261 with broader context
sed -n '220,280p' deployments/warp_routes/schema.jsonRepository: hyperlane-xyz/hyperlane-registry
Length of output: 2150
🏁 Script executed:
# Let's also search for EvmHypStableSwap references to understand the token standard definition
rg "EvmHypStableSwap" --max-count 20Repository: hyperlane-xyz/hyperlane-registry
Length of output: 1485
🏁 Script executed:
# Get broader context around the token definition
sed -n '180,300p' deployments/warp_routes/schema.json | cat -nRepository: hyperlane-xyz/hyperlane-registry
Length of output: 5464
🏁 Script executed:
# Search for if/then or allOf patterns in the schema
rg "if|then|allOf" deployments/warp_routes/schema.json -A 2 -B 2Repository: hyperlane-xyz/hyperlane-registry
Length of output: 281
🏁 Script executed:
# Check actual configs to see if EvmHypStableSwap tokens include these fields
grep -A 20 "standard: EvmHypStableSwap" deployments/warp_routes/sUSD/stableswap-pool-config.yaml | head -50Repository: hyperlane-xyz/hyperlane-registry
Length of output: 2472
🏁 Script executed:
# Search for any validation or UI code that references these fields
rg "stableSwapPool|helperAddress|sUSDAddress|adapterAddress" --type js --type ts --type tsx --max-count 30Repository: hyperlane-xyz/hyperlane-registry
Length of output: 103
🏁 Script executed:
# Also check for any type definitions or interfaces related to EvmHypStableSwap
rg "EvmHypStableSwap" -A 5 -B 5 | head -100Repository: hyperlane-xyz/hyperlane-registry
Length of output: 8403
🏁 Script executed:
# Get the full context around where the adapterAddress ends and required array
sed -n '230,295p' deployments/warp_routes/schema.json | cat -nRepository: hyperlane-xyz/hyperlane-registry
Length of output: 2983
EvmHypStableSwap tokens can pass schema validation without required addresses.
The fields stableSwapPool, helperAddress, sUSDAddress, and adapterAddress are optional in the schema, but every EvmHypStableSwap token in the actual configs includes all four. This lets invalid configs slip through schema validation. Adding an allOf with an if/then guard keyed on standard: EvmHypStableSwap would enforce these as required only for that token standard.
🛠️ Suggested conditional requirement
"adapterAddress": {
"type": "string",
"description": "Address of the CollateralAdapter for this token"
}
},
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "standard": { "const": "EvmHypStableSwap" }
+ }
+ },
+ "then": {
+ "required": [
+ "stableSwapPool",
+ "helperAddress",
+ "sUSDAddress",
+ "adapterAddress"
+ ]
+ }
+ }
+ ],
"required": [🤖 Prompt for AI Agents
In `@deployments/warp_routes/schema.json` around lines 245 - 261, The schema
currently leaves stableSwapPool, helperAddress, sUSDAddress, and adapterAddress
as optional, allowing EvmHypStableSwap tokens to validate without required
addresses; add a conditional schema rule using an allOf with an if/then that
checks when "standard" equals "EvmHypStableSwap" and in the then clause sets
"required": ["stableSwapPool","helperAddress","sUSDAddress","adapterAddress"] so
those properties become mandatory only for that token standard; target the JSON
Schema where those properties are defined and reference the "standard"
discriminator used in your token objects.
…pters
Adds the full EvmHypStableSwap configuration for all 8 tokens in the stableswap pool (USDC/USDT on arb+base, USDSC soneium, USDH hyperevm, mUSD linea, mantraUSD mantra). This config includes helperAddress, sUSDAddress, and adapterAddress fields needed by the warp UI.
Description
Backward compatibility
Testing
Summary by CodeRabbit