diff --git a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.module.css b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.module.css
index 94b568b438f..e3be031847e 100644
--- a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.module.css
+++ b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.module.css
@@ -186,3 +186,45 @@
min-width: 0;
max-width: 100%;
}
+
+.input {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-2x);
+}
+
+.inputLabel {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-1x);
+}
+
+.inputLabel label {
+ font-weight: 600;
+ color: var(--color-text-primary);
+}
+
+.inputHint {
+ font-size: var(--font-size-sm);
+ color: var(--color-text-secondary);
+}
+
+.numericInput {
+ padding: var(--space-2x);
+ border: 1px solid var(--color-border);
+ border-radius: var(--border-radius);
+ background: var(--color-background);
+ font-family: var(--font-mono);
+ width: 100%;
+ transition: all 0.2s ease;
+}
+
+.numericInput:hover {
+ border-color: var(--color-border-hover);
+}
+
+.numericInput:focus {
+ border-color: var(--color-accent);
+ outline: none;
+ box-shadow: 0 0 0 2px var(--color-accent-alpha);
+}
diff --git a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.tsx b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.tsx
index 76cfbcb855a..2c005107168 100644
--- a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.tsx
+++ b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilder.tsx
@@ -212,23 +212,31 @@ export const ChainUpdateBuilder = ({ chain, readOnly, defaultConfig, onCalculate
{outbound.enabled && (
-
+
+
+ Maximum tokens allowed per period
+
handleRateLimitChange("outbound", "capacity", e.target.value)}
- placeholder="Max tokens per period"
+ placeholder="Enter amount..."
pattern="[0-9]*"
+ className={styles.numericInput}
/>
-
+
+
+ Tokens allowed per second
+
handleRateLimitChange("outbound", "rate", e.target.value)}
- placeholder="Tokens per second"
+ placeholder="Enter amount..."
pattern="[0-9]*"
+ className={styles.numericInput}
/>
@@ -252,23 +260,31 @@ export const ChainUpdateBuilder = ({ chain, readOnly, defaultConfig, onCalculate
{inbound.enabled && (
-
+
+
+ Maximum tokens allowed per period
+
handleRateLimitChange("inbound", "capacity", e.target.value)}
- placeholder="Max tokens per period"
+ placeholder="Enter amount..."
pattern="[0-9]*"
+ className={styles.numericInput}
/>
-
+
+
+ Tokens allowed per second
+
handleRateLimitChange("inbound", "rate", e.target.value)}
- placeholder="Tokens per second"
+ placeholder="Enter amount..."
pattern="[0-9]*"
+ className={styles.numericInput}
/>
diff --git a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.module.css b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.module.css
index 6380c0a19ff..a1367a3cd1a 100644
--- a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.module.css
+++ b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.module.css
@@ -27,13 +27,6 @@
opacity: 1;
}
-.chainInfo {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: var(--space-3x);
- margin-bottom: var(--space-4x);
-}
-
.chainDetails {
position: relative;
padding: var(--space-3x);
@@ -113,13 +106,6 @@
font-size: 14px;
}
-@media (max-width: 768px) {
- .chainInfo {
- grid-template-columns: 1fr;
- gap: 16px;
- }
-}
-
.loadingState {
text-align: center;
padding: 32px 16px;
@@ -549,17 +535,7 @@
gap: var(--space-3x);
}
-@media (max-width: 1200px) {
- .chainInfo {
- gap: var(--space-2x);
- }
-}
-
@media (max-width: 768px) {
- .chainInfo {
- grid-template-columns: 1fr;
- }
-
.verificationCard {
padding: var(--space-3x);
}
@@ -595,15 +571,24 @@
.configurationTool {
margin-top: var(--space-4x);
- border-top: 1px solid var(--color-border);
padding-top: var(--space-4x);
- width: 100%;
+ border-top: 1px solid var(--color-border);
+}
+
+.configSteps {
+ margin-bottom: var(--space-4x);
}
.configTitle {
font-size: var(--font-size-lg);
color: var(--color-text-primary);
- margin-bottom: var(--space-3x);
+ margin-bottom: var(--space-2x);
+}
+
+.configDescription {
+ color: var(--color-text-secondary);
+ font-size: var(--font-size-base);
+ line-height: 1.5;
}
.resultSection {
diff --git a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.tsx b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.tsx
index 9893870856f..a50a64da802 100644
--- a/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.tsx
+++ b/src/components/CCIP/TutorialBlockchainSelector/ChainUpdateBuilderWrapper.tsx
@@ -209,7 +209,13 @@ export const ChainUpdateBuilderWrapper = ({ chain }: ChainUpdateBuilderWrapperPr
-
Rate Limit Configuration Tool
+
+
Rate Limit Configuration
+
+ Configure the rate limits below. The generated value will be used for the chainsToAdd parameter.
+
+
+