Skip to content

Conversation

@shankars99
Copy link
Collaborator

SDK Updates

Quote Assets

USDe is now a known quote asset on mainnet.

Hyperliquid's quote asset protocol automatically deploys a HYPE/ASSET spot market pair when an asset is promoted to a quote asset. Based on this we can assert that the ASSET of every HYPE/ASSET spot pair is a quote asset.

New command added to check if a given core spot is a quote asset.

This logic is applied to registerSpot (part of core spot deploy) and composer deployments to ensure that users deploy FeeToken or regular composers.

EVM<>Core Linking

Renamed files from register* to link* to match hyperliquid's documentation.

Also created a new command to generate a CoreWriter compatible finalizeEvmContract payload that needs to be signed and submitted to CoreWriter (0x3333333333333333333333333333333333333333)

refer: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm/interacting-with-hypercore#corewriter-contract

Docs update

For quote asset and new commands

Signed-off-by: shankar [email protected]

@shankars99 shankars99 requested a review from lzErfan December 11, 2025 04:43
@shankars99 shankars99 force-pushed the hlp/sdk-finalize-and-quote-asset-update branch from e7ea8ff to 7ecbe53 Compare December 12, 2025 00:39
@shankars99 shankars99 added the ready to review in a state where CI passes and the PR is quite upto date with main and you need reviews label Dec 16, 2025
@shankars99 shankars99 force-pushed the hlp/sdk-finalize-and-quote-asset-update branch from 31a2e84 to f187628 Compare December 16, 2025 01:08
@github-actions
Copy link
Contributor

🚨 E2E Tests Failed

The E2E tests failed during CI. These tests validate real blockchain interactions and may fail due to:

This is non-blocking and does not prevent merging. Check the action logs above for detailed failure information.

@LayerZero-Labs LayerZero-Labs deleted a comment from github-actions bot Dec 16, 2025
@LayerZero-Labs LayerZero-Labs deleted a comment from github-actions bot Dec 16, 2025
@LayerZero-Labs LayerZero-Labs deleted a comment from github-actions bot Dec 16, 2025
@LayerZero-Labs LayerZero-Labs deleted a comment from github-actions bot Dec 16, 2025
Copy link
Contributor

@tinom9 tinom9 left a comment

Choose a reason for hiding this comment

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

🔝

Comment on lines +38 to +41
} catch (error) {
logger.error(`Failed to check quote asset status: ${error}`)
process.exit(1)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

I understand we want to be try-catching to avoid ugly errors from node.

Can we do it once at the CLI entrypoint?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

imo cli should at-most validate inputs and is a wrapper to commands

Copy link
Contributor

Choose a reason for hiding this comment

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

I would prefer consistency on how we handle process terminations on errors for cases like this at the CLI level, as we're don't know what exactly went wrong.

Still a nit though, can be disregarded.

@github-actions
Copy link
Contributor

🚨 E2E Tests Failed

The E2E tests failed during CI. These tests validate real blockchain interactions and may fail due to:

This is non-blocking and does not prevent merging. Check the action logs above for detailed failure information.

@github-actions
Copy link
Contributor

🚨 E2E Tests Failed

The E2E tests failed during CI. These tests validate real blockchain interactions and may fail due to:

This is non-blocking and does not prevent merging. Check the action logs above for detailed failure information.

@github-actions
Copy link
Contributor

🚨 E2E Tests Failed

The E2E tests failed during CI. These tests validate real blockchain interactions and may fail due to:

This is non-blocking and does not prevent merging. Check the action logs above for detailed failure information.

Copy link
Contributor

@ravinagill15 ravinagill15 left a comment

Choose a reason for hiding this comment

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

Looks good, minor nits, no need to update in this PR

Comment on lines +12 to +14
const COREWRITER_ADDRESS = '0x3333333333333333333333333333333333333333'
const FINALIZE_EVM_CONTRACT_ACTION_TYPE_PREFIX = '0x01000008'
const ACTION_TYPE_FINALIZE = 1
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: can move this to a constants.ts file

const hypeTokenIndex = isTestnet ? HYPE_INDEX.TESTNET : HYPE_INDEX.MAINNET

// Get all HYPE trading pairs with metadata
const { pairs, tokens } = await getSpotPairsWithMetadata(isTestnet, hypeTokenIndex, logLevel)
Copy link
Contributor

Choose a reason for hiding this comment

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

potentially wrap with try/catch for in case of API failures

@shankars99 shankars99 enabled auto-merge December 17, 2025 00:13
@github-actions
Copy link
Contributor

🚨 E2E Tests Failed

The E2E tests failed during CI. These tests validate real blockchain interactions and may fail due to:

This is non-blocking and does not prevent merging. Check the action logs above for detailed failure information.

@shankars99 shankars99 added this pull request to the merge queue Dec 17, 2025
Merged via the queue into main with commit bb2f4c3 Dec 17, 2025
17 checks passed
@shankars99 shankars99 deleted the hlp/sdk-finalize-and-quote-asset-update branch December 17, 2025 00:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready to review in a state where CI passes and the PR is quite upto date with main and you need reviews

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants