Skip to content

Commit

Permalink
Unichain CCTP support (#794)
Browse files Browse the repository at this point in the history
* Unichain CCTP support

* Added Unichain blockTimeMilliseconds entry

* Added Unichain mainnet rpc entry

* tweak finality for unichain
  • Loading branch information
kev1n-peters authored Feb 12, 2025
1 parent ab661a7 commit b3b4e26
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 4 deletions.
10 changes: 7 additions & 3 deletions core/base/src/constants/circle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ const usdcContracts = [[
["Base", "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],
["Polygon", "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"],
["Sui", "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"],
["Aptos", "0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b"]
["Aptos", "0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b"],
["Unichain", "0x078D782b760474a361dDA0AF3839290b0EF57AD6"]
]], [
"Testnet", [
["Sepolia", "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"],
Expand All @@ -31,13 +32,14 @@ const usdcContracts = [[
["BaseSepolia", "0x036CbD53842c5426634e7929541eC2318f3dCF7e"],
["Polygon", "0x9999f7Fea5938fD3b1E26A12c3f2fb024e194f97"],
["Sui", "0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC"],
["Aptos", "0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832"]
["Aptos", "0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832"],
["Unichain", "0x31d0220469e10c4E71834a79b1f276d740d3768F"]
]],
] as const satisfies MapLevel<Network, MapLevel<Chain, string>>;
export const usdcContract = constMap(usdcContracts);

// prettier-ignore
// https://developers.circle.com/stablecoin/docs/cctp-technical-reference#domain-list
// https://developers.circle.com/stablecoins/supported-domains
const circleDomains = [[
"Mainnet", [
["Ethereum", 0],
Expand All @@ -49,6 +51,7 @@ const circleDomains = [[
["Polygon", 7],
["Sui", 8],
["Aptos", 9],
["Unichain", 10],
]], [
"Testnet", [
["Sepolia", 0],
Expand All @@ -60,6 +63,7 @@ const circleDomains = [[
["Polygon", 7],
["Sui", 8],
["Aptos", 9],
["Unichain", 10],
]],
] as const satisfies MapLevel<Network, MapLevel<Chain, number>>;

Expand Down
12 changes: 12 additions & 0 deletions core/base/src/constants/contracts/circle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ export const circleContracts = [[
messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772",
wormholeRelayer: "",
wormhole: "",
}], [
"Unichain", {
tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762",
messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4",
wormholeRelayer: "",
wormhole: "",
}],
]], [
"Testnet", [[
Expand Down Expand Up @@ -121,6 +127,12 @@ export const circleContracts = [[
messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9",
wormholeRelayer: "",
wormhole: "",
}], [
"Unichain", {
tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782",
messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086",
wormholeRelayer: "",
wormhole: "",
}],
]],
] as const satisfies MapLevels<[Network, Chain, CircleContracts]>;
3 changes: 2 additions & 1 deletion core/base/src/constants/finality.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ const finalityThresholds = [
["Berachain", 1],
["Seievm", 1],
["Snaxchain", 512],
["Unichain", 512],
["Unichain", 1024], // TODO: validate, this is inferred from vaa metrics timing
["Ink", 512],
["HyperEVM", 1],
["Monad", 1],
Expand Down Expand Up @@ -133,6 +133,7 @@ const blockTimeMilliseconds = [
["Sui", 3_000],
["Terra", 6_000],
["Terra2", 6_000],
["Unichain", 1_000],
["Xpla", 5_000],
["Xlayer", 3_000],
["Worldchain", 2_000],
Expand Down
1 change: 1 addition & 0 deletions core/base/src/constants/rpc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ const rpcConfig = [[
["Berachain", "https://rpc.berachain.com"],
["Unichain", "https://mainnet.unichain.org"],
["Worldchain","https://worldchain-mainnet.g.alchemy.com/public"],
["Unichain", "https://mainnet.unichain.org"],
]], [
"Testnet", [
["Ethereum", "https://eth-sepolia.public.blastapi.io"],
Expand Down

0 comments on commit b3b4e26

Please sign in to comment.