-
Notifications
You must be signed in to change notification settings - Fork 65
feat: sponsored cctp strategy evm #1929
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: epic/sponsored-bridging-to-hypercore
Are you sure you want to change the base?
feat: sponsored cctp strategy evm #1929
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
melisaguevara
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Left some questions
ashwinrava
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I've also been using this branch to create sponsored deposits from Arbitrum Sepolia and it's been working well.
|
|
||
| export const SPONSORED_CCTP_DST_PERIPHERY_ADDRESSES = { | ||
| [CHAIN_IDs.HYPEREVM]: "0x7b164050bbc8e7ef3253e7db0d74b713ba3f1c95", | ||
| [CHAIN_IDs.HYPEREVM_TESTNET]: "0x0000000000000000000000000000000000000000", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be 0x06C61D54958a0772Ee8aF41789466d39FfeaeB13 right?
| export const CCTP_FILL_TIME_ESTIMATES: { | ||
| fast: Record<number, number>; | ||
| standard: Record<number, number>; | ||
| } = { | ||
| standard: { | ||
| [CHAIN_IDs.MAINNET]: 19 * 60, | ||
| [CHAIN_IDs.ARBITRUM]: 19 * 60, | ||
| [CHAIN_IDs.BASE]: 19 * 60, | ||
| [CHAIN_IDs.HYPEREVM]: 5, | ||
| [CHAIN_IDs.INK]: 30 * 60, | ||
| [CHAIN_IDs.OPTIMISM]: 19 * 60, | ||
| [CHAIN_IDs.POLYGON]: 8, | ||
| [CHAIN_IDs.SOLANA]: 25, | ||
| [CHAIN_IDs.UNICHAIN]: 19 * 60, | ||
| [CHAIN_IDs.WORLD_CHAIN]: 19 * 60, | ||
| }, | ||
| fast: { | ||
| [CHAIN_IDs.MAINNET]: 20, | ||
| [CHAIN_IDs.ARBITRUM]: 8, | ||
| [CHAIN_IDs.BASE]: 8, | ||
| [CHAIN_IDs.HYPEREVM]: 5, | ||
| [CHAIN_IDs.INK]: 8, | ||
| [CHAIN_IDs.OPTIMISM]: 8, | ||
| [CHAIN_IDs.POLYGON]: 8, | ||
| [CHAIN_IDs.SOLANA]: 8, | ||
| [CHAIN_IDs.UNICHAIN]: 8, | ||
| [CHAIN_IDs.WORLD_CHAIN]: 8, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have some of these set differently on the indexer side. Is it okay? We can also consider unifying them or moving it to the SDK in the future.
const ATTESTATION_TIMES = {
[CHAIN_IDs.MAINNET]: { standard: 13 * 60, fast: 20 },
[CHAIN_IDs.ARBITRUM]: { standard: 13 * 60, fast: 8 },
[CHAIN_IDs.BASE]: { standard: 13 * 60, fast: 8 },
[CHAIN_IDs.BSC]: { standard: 2, fast: 8 },
[CHAIN_IDs.HYPEREVM]: { standard: 5, fast: 8 },
[CHAIN_IDs.INK]: { standard: 30 * 60, fast: 8 },
[CHAIN_IDs.LINEA]: { standard: 6 * 60 * 60, fast: 8 },
[CHAIN_IDs.OPTIMISM]: { standard: 13 * 60, fast: 8 },
[CHAIN_IDs.POLYGON]: { standard: 8, fast: 8 },
[CHAIN_IDs.SOLANA]: { standard: 25, fast: 8 },
[CHAIN_IDs.UNICHAIN]: { standard: 13 * 60, fast: 8 },
[CHAIN_IDs.WORLD_CHAIN]: { standard: 13 * 60, fast: 8 },
[CHAIN_IDs.ARBITRUM_SEPOLIA]: { standard: 13 * 60, fast: 8 },
};
Closes ACX-4608
Adds support for sponsored CCTP route strategy. The strategy is enabled for Sepolia Arbitrum -> HyperCore Testnet. Here is an example request.
Examples
Testnet
Below are some test transactions that at least validate that the signatures are correct and the values are correctly set. We can't test the full e2e flow yet though:
Mainnet
Below example deposit flow for simple transfer USDC with HyperEVM fallback as there is no link for USDC on Mainnet yet. This is the only flow that can be tested currently.