Registry Module Owner Custom address |
diff --git a/src/features/ccip/components/supported-networks/LaneConfig.astro b/src/features/ccip/components/supported-networks/LaneConfig.astro
index 1454fc30f91..97a36bb72ec 100644
--- a/src/features/ccip/components/supported-networks/LaneConfig.astro
+++ b/src/features/ccip/components/supported-networks/LaneConfig.astro
@@ -15,6 +15,7 @@ import { utils } from "ethers"
import { getExplorer, getExplorerAddressUrl } from "@features/utils"
import { TokenExtraInfo } from "./types"
import TokenSearch from "./TokenSearch"
+import { Tooltip } from "@features/common/Tooltip"
type ConfigProps = {
laneConfig: LaneConfig
@@ -36,7 +37,8 @@ const {
version,
destinationChainSelector,
} = Astro.props as ConfigProps
-const { supportedTokens, onRamp, offRamp } = laneConfig
+
+const { rateLimiterConfig, supportedTokens, onRamp, offRamp, rmnPermeable } = laneConfig
const normalizeNumber = (bigNum: BigNumber, decimals: number = 18) => {
const divisor = new BigNumber(10).pow(decimals)
@@ -98,9 +100,13 @@ const explorerUrl = getExplorer(sourceChain)
if (!explorerUrl) throw Error(`Explorer url not found for ${sourceChain}`)
-const onRampExplorerUrl = getExplorerAddressUrl(explorerUrl)(onRamp)
+const onRampExplorerUrl = getExplorerAddressUrl(explorerUrl)(onRamp.address)
+const enforceOutOfOrder = onRamp.enforceOutOfOrder
+const enforceOutOfOrderText = enforceOutOfOrder === undefined ? "N/A" : enforceOutOfOrder ? "Required" : "Optional"
+
+const rmnStatusText = rmnPermeable ? "Coming Soon" : "Enabled"
-const offRampExplorerUrl = getExplorerAddressUrl(explorerUrl)(offRamp)
+const offRampExplorerUrl = getExplorerAddressUrl(explorerUrl)(offRamp.address)
let tokensWithExtraInfo: TokenExtraInfo[] = []
@@ -216,6 +222,50 @@ if (supportedTokens) {
+ {
+ enforceOutOfOrder !== undefined && (
+
+ <>
+
+
+ <>
+ Property |
+ Value |
+ >
+
+
+
+
+ <>
+
+
+ |
+ {rmnStatusText} |
+ >
+
+
+ <>
+
+
+ |
+ {enforceOutOfOrderText} |
+ >
+
+
+ >
+
+ )
+ }
{
tokensWithExtraInfo.length > 0 ? (
<>
diff --git a/src/features/ccip/components/supported-networks/Main.astro b/src/features/ccip/components/supported-networks/Main.astro
index d2b63dec211..887d6ee1c03 100644
--- a/src/features/ccip/components/supported-networks/Main.astro
+++ b/src/features/ccip/components/supported-networks/Main.astro
@@ -13,6 +13,8 @@ const { environment, version } = Astro.props as MainProps
const chainsReferenceData = loadReferenceData({ environment, version }).chainsReferenceData
+if (!chainsReferenceData) throw Error(`Error while loading CCIP reference data`)
+
const sortedEntries = Object.entries(chainsReferenceData).sort(
([chainRefIdA, chainConfigA], [chainRefIdB, chainConfigB]) => {
const chainTitleA = getTitle(directoryToSupportedChain(chainRefIdA)) || ""
@@ -32,6 +34,7 @@ const sortedEntries = Object.entries(chainsReferenceData).sort(
const chainIcon = getChainIcon(chainKey)
if (!chainIcon) throw Error(`Icon not found for chain ${chainKey}`)
const id = chainKey.replace(/_/g, "-").toLowerCase()
+
return (
<>
diff --git a/src/features/ccip/components/supported-networks/TokenSearch.tsx b/src/features/ccip/components/supported-networks/TokenSearch.tsx
index 83f75d9b629..46a7b0918c4 100644
--- a/src/features/ccip/components/supported-networks/TokenSearch.tsx
+++ b/src/features/ccip/components/supported-networks/TokenSearch.tsx
@@ -180,16 +180,16 @@ const TokenSearch: FunctionComponent = ({ tokens, sourceChain
{token.decimals} |
{token.poolMechanism} |
- {token.rateLimiterConfig?.isEnabled
- ? display(token.rateLimiterConfig.capacity, token.decimals) + " " + token.symbol
+ {token.rateLimiterConfig?.out?.isEnabled
+ ? display(token.rateLimiterConfig.out?.capacity, token.decimals) + " " + token.symbol
: "N/A"}
|
- {token.rateLimiterConfig?.isEnabled
+ {token.rateLimiterConfig?.out?.isEnabled
? (() => {
const { rateSecond, maxThroughput } = displayRate(
- token.rateLimiterConfig.capacity,
- token.rateLimiterConfig.rate,
+ token.rateLimiterConfig.out?.capacity,
+ token.rateLimiterConfig.out?.rate,
token.symbol,
token.decimals
)
diff --git a/src/features/ccip/components/supported-networks/types.ts b/src/features/ccip/components/supported-networks/types.ts
index be4ab088230..90412471be7 100644
--- a/src/features/ccip/components/supported-networks/types.ts
+++ b/src/features/ccip/components/supported-networks/types.ts
@@ -2,7 +2,18 @@ export interface TokenExtraInfo {
token: string
symbol: string
address: string
- rateLimiterConfig: { capacity: string; isEnabled: boolean; rate: string }
+ rateLimiterConfig?: {
+ in?: {
+ capacity: string
+ isEnabled: boolean
+ rate: string
+ }
+ out?: {
+ capacity: string
+ isEnabled: boolean
+ rate: string
+ }
+ }
name?: string
decimals: number
poolMechanism?: string
diff --git a/src/features/chainlink-automation/common/deprecation.mdx b/src/features/chainlink-automation/common/deprecation.mdx
index 74d55defe2d..3a86c6836ae 100644
--- a/src/features/chainlink-automation/common/deprecation.mdx
+++ b/src/features/chainlink-automation/common/deprecation.mdx
@@ -1,6 +1,8 @@
import { Aside } from "@components"
diff --git a/src/features/chainlink-automation/data/chainlink-automation-addresses.json b/src/features/chainlink-automation/data/chainlink-automation-addresses.json
index bfd78631d77..6a7299cc030 100644
--- a/src/features/chainlink-automation/data/chainlink-automation-addresses.json
+++ b/src/features/chainlink-automation/data/chainlink-automation-addresses.json
@@ -56,12 +56,12 @@
"registrarAddress": "0x110Bd89F0B62EA1598FfeBF8C0304c9e58510Ee5"
},
"BASE_MAINNET": {
- "registryAddress": "0xE226D5aCae908252CcA3F6CEFa577527650a9e1e",
- "registrarAddress": "0xD8983a340A96b9C2Bb6855E46847aE134Db71fB1"
+ "registryAddress": "0xf4bAb6A129164aBa9B113cB96BA4266dF49f8743",
+ "registrarAddress": "0xE28Adc50c7551CFf69FCF32D45d037e5F6554264"
},
"BASE_SEPOLIA": {
- "registryAddress": "0x8B1565DbAF0577F2F3b474334b068C95687f4FcE",
- "registrarAddress": "0x80C55e674a34FfE730B0357E16e8852B19573f7C"
+ "registryAddress": "0x91D4a4C3D448c7f3CB477332B1c7D420a5810aC3",
+ "registrarAddress": "0xf28D56F3A707E25B71Ce529a21AF388751E1CF2A"
},
"GNOSIS_MAINNET": {
"registryAddress": "0x299c92a219F61a82E91d2062A262f7157F155AC1",
diff --git a/src/features/chainlink-automation/data/chainlink-automation-config.json b/src/features/chainlink-automation/data/chainlink-automation-config.json
index 00f3caf5c07..79cd720fd68 100644
--- a/src/features/chainlink-automation/data/chainlink-automation-config.json
+++ b/src/features/chainlink-automation/data/chainlink-automation-config.json
@@ -349,6 +349,31 @@
"registrar": "0x110Bd89F0B62EA1598FfeBF8C0304c9e58510Ee5",
"transcoder": "0x245675A2f4b4C1052C880cD600DCF04D58520eE7"
},
+ "BASE_MAINNET": {
+ "paymentPremiumPPB": 500000000,
+ "blockCountPerTurn": "Not Applicable",
+ "maxCheckDataSize": 5000,
+ "checkGasLimit": 10000000,
+ "gasCeilingMultiplier": 5,
+ "minUpkeepSpend": {
+ "type": "BigNumber",
+ "hex": "0x016345785d8a0000"
+ },
+ "maxPerformGas": 5000000,
+ "fallbackGasPrice": {
+ "type": "BigNumber",
+ "hex": "0x3b9aca00"
+ },
+ "fallbackLinkPrice": {
+ "type": "BigNumber",
+ "hex": "0x2386f26fc10000"
+ },
+ "maxPerformDataSize": 2000,
+ "flatFeeMicroLink": 0,
+ "stalenessSeconds": 90000,
+ "registrar": "0xE28Adc50c7551CFf69FCF32D45d037e5F6554264",
+ "transcoder": "0x395C8461299c9981E9D1A30d116F0c80a927d2A4"
+ },
"BASE_SEPOLIA": {
"paymentPremiumPPB": 500000000,
"blockCountPerTurn": "Not Applicable",
@@ -371,8 +396,8 @@
"maxPerformDataSize": 1000,
"flatFeeMicroLink": 20000,
"stalenessSeconds": 360000,
- "registrar": "0x80C55e674a34FfE730B0357E16e8852B19573f7C",
- "transcoder": "0xd543F8aE4e54D90cAC7367c3C570De35E911fB51"
+ "registrar": "0xf28D56F3A707E25B71Ce529a21AF388751E1CF2A",
+ "transcoder": "0x0000000000000000000000000000000000000000"
},
"GNOSIS_MAINNET": {
"paymentPremiumPPB": 1000000000,
diff --git a/src/features/data-streams/common/dsNotes.mdx b/src/features/data-streams/common/dsNotes.mdx
index bbdc2e0f6bf..6dc8da7f451 100644
--- a/src/features/data-streams/common/dsNotes.mdx
+++ b/src/features/data-streams/common/dsNotes.mdx
@@ -1,10 +1,7 @@
import { Aside } from "@components"
-
-
- | |