Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0946688b1 |
+2
-2
@@ -39,9 +39,9 @@
|
|||||||
"@cosmjs/proto-signing": "^0.32.1",
|
"@cosmjs/proto-signing": "^0.32.1",
|
||||||
"@cosmjs/stargate": "^0.32.1",
|
"@cosmjs/stargate": "^0.32.1",
|
||||||
"@cosmjs/tendermint-rpc": "^0.32.1",
|
"@cosmjs/tendermint-rpc": "^0.32.1",
|
||||||
"@dydxprotocol/v4-abacus": "^1.4.2",
|
"@dydxprotocol/v4-abacus": "^1.4.0",
|
||||||
"@dydxprotocol/v4-client-js": "^1.0.20",
|
"@dydxprotocol/v4-client-js": "^1.0.20",
|
||||||
"@dydxprotocol/v4-localization": "^1.1.24",
|
"@dydxprotocol/v4-localization": "^1.1.22",
|
||||||
"@ethersproject/providers": "^5.7.2",
|
"@ethersproject/providers": "^5.7.2",
|
||||||
"@js-joda/core": "^5.5.3",
|
"@js-joda/core": "^5.5.3",
|
||||||
"@radix-ui/react-accordion": "^1.1.2",
|
"@radix-ui/react-accordion": "^1.1.2",
|
||||||
|
|||||||
Generated
+8
-8
@@ -26,14 +26,14 @@ dependencies:
|
|||||||
specifier: ^0.32.1
|
specifier: ^0.32.1
|
||||||
version: 0.32.2
|
version: 0.32.2
|
||||||
'@dydxprotocol/v4-abacus':
|
'@dydxprotocol/v4-abacus':
|
||||||
specifier: ^1.4.2
|
specifier: ^1.4.0
|
||||||
version: 1.4.2
|
version: 1.4.0
|
||||||
'@dydxprotocol/v4-client-js':
|
'@dydxprotocol/v4-client-js':
|
||||||
specifier: ^1.0.20
|
specifier: ^1.0.20
|
||||||
version: 1.0.20
|
version: 1.0.20
|
||||||
'@dydxprotocol/v4-localization':
|
'@dydxprotocol/v4-localization':
|
||||||
specifier: ^1.1.24
|
specifier: ^1.1.22
|
||||||
version: 1.1.24
|
version: 1.1.22
|
||||||
'@ethersproject/providers':
|
'@ethersproject/providers':
|
||||||
specifier: ^5.7.2
|
specifier: ^5.7.2
|
||||||
version: 5.7.2
|
version: 5.7.2
|
||||||
@@ -1088,8 +1088,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
|
resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@dydxprotocol/v4-abacus@1.4.2:
|
/@dydxprotocol/v4-abacus@1.4.0:
|
||||||
resolution: {integrity: sha512-+hugk0RulMwMthR2xCMYXohcC3sEYqVW/lmiq0RUuHZ9yrjmgy48xl0aZUmXGUYXyoiHXPS4AULhRKHQ4OOLwg==}
|
resolution: {integrity: sha512-mkdkXQXTVF1K6UmZwIwLC9gjsXg+Nt3h5/iW+WriVv1cUMPmHfPyRWL31eDDvkVO5UeECf05kiYXPk1y+7dPuA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@dydxprotocol/v4-client-js@1.0.20:
|
/@dydxprotocol/v4-client-js@1.0.20:
|
||||||
@@ -1121,8 +1121,8 @@ packages:
|
|||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@dydxprotocol/v4-localization@1.1.24:
|
/@dydxprotocol/v4-localization@1.1.22:
|
||||||
resolution: {integrity: sha512-75XpxxYTpy8eIFcJINyLlvw5J93t0TrS5LacE6J5Raz9LOUWRK4VyRbdLCU2QX8AG7xiTZk1ma8ytylVZOVx3A==}
|
resolution: {integrity: sha512-DURyvBx0qjXmtebSRMW4ZdTsX5xI8Mb6c7LQ8WUPU0O3Jr7n7iUT/phzZszTpwNOMFFMukMFtn7fHCgijw1TOg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@dydxprotocol/v4-proto@4.0.0-dev.0:
|
/@dydxprotocol/v4-proto@4.0.0-dev.0:
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"relation": ["delegate_permission/common.handle_all_urls"],
|
|
||||||
"target": {
|
|
||||||
"namespace": "android_app",
|
|
||||||
"package_name": "exchange.dydx.trading.debug",
|
|
||||||
"sha256_cert_fingerprints": [
|
|
||||||
"8A:9C:CC:49:B0:35:9A:91:67:CB:98:B0:B5:87:92:5F:9E:B7:EF:CE:A0:47:57:85:A4:35:3E:0C:E1:56:9E:A2"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"relation": ["delegate_permission/common.handle_all_urls"],
|
|
||||||
"target": {
|
|
||||||
"namespace": "android_app",
|
|
||||||
"package_name": "exchange.dydx.trading",
|
|
||||||
"sha256_cert_fingerprints": [
|
|
||||||
"B2:2D:CC:27:9D:52:05:98:63:C9:7B:34:36:70:A3:8E:00:31:28:08:2D:2E:70:76:C9:31:AE:F9:55:21:15:A5"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -122,9 +122,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-dev-2": {
|
"dydxprotocol-dev-2": {
|
||||||
@@ -204,9 +201,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-dev-4": {
|
"dydxprotocol-dev-4": {
|
||||||
@@ -287,9 +281,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-dev-5": {
|
"dydxprotocol-dev-5": {
|
||||||
@@ -369,9 +360,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-staging": {
|
"dydxprotocol-staging": {
|
||||||
@@ -453,9 +441,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-staging-forced-update": {
|
"dydxprotocol-staging-forced-update": {
|
||||||
@@ -536,9 +521,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-staging-west": {
|
"dydxprotocol-staging-west": {
|
||||||
@@ -620,9 +602,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet": {
|
"dydxprotocol-testnet": {
|
||||||
@@ -708,9 +687,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet-dydx": {
|
"dydxprotocol-testnet-dydx": {
|
||||||
@@ -793,9 +769,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet-nodefleet": {
|
"dydxprotocol-testnet-nodefleet": {
|
||||||
@@ -878,9 +851,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet-kingnodes": {
|
"dydxprotocol-testnet-kingnodes": {
|
||||||
@@ -963,9 +933,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet-liquify": {
|
"dydxprotocol-testnet-liquify": {
|
||||||
@@ -1048,9 +1015,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet-polkachu": {
|
"dydxprotocol-testnet-polkachu": {
|
||||||
@@ -1125,9 +1089,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-testnet-bware": {
|
"dydxprotocol-testnet-bware": {
|
||||||
@@ -1210,9 +1171,6 @@
|
|||||||
"delayBlocks": 900,
|
"delayBlocks": 900,
|
||||||
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dydxprotocol-mainnet": {
|
"dydxprotocol-mainnet": {
|
||||||
@@ -1295,9 +1253,6 @@
|
|||||||
"delayBlocks": 0,
|
"delayBlocks": 0,
|
||||||
"newMarketsMethodology": "[URL to spreadsheet or document that explains methodology]"
|
"newMarketsMethodology": "[URL to spreadsheet or document that explains methodology]"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"featureFlags": {
|
|
||||||
"reduceOnlySupported": false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ const AlertContainer = styled.div<StyleProps>`
|
|||||||
case AlertType.Info: {
|
case AlertType.Info: {
|
||||||
return css`
|
return css`
|
||||||
--alert-accent-color: var(--color-text-1);
|
--alert-accent-color: var(--color-text-1);
|
||||||
|
|
||||||
|
--alert-default-background-opacity: 0.133; // Relative
|
||||||
|
// --alert-background: var(--color-layer-6); // Absolute
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
case AlertType.Success: {
|
case AlertType.Success: {
|
||||||
|
|||||||
@@ -103,14 +103,14 @@ const buttonActionVariants = {
|
|||||||
|
|
||||||
[ButtonAction.Create]: css`
|
[ButtonAction.Create]: css`
|
||||||
--button-textColor: var(--color-text-button);
|
--button-textColor: var(--color-text-button);
|
||||||
--button-backgroundColor: var(--color-green);
|
--button-backgroundColor: var(--color-success);
|
||||||
--button-border: solid var(--border-width) var(--color-border-white);
|
--button-border: solid var(--border-width) var(--color-border-white);
|
||||||
--button-hover-filter: brightness(var(--hover-filter-variant));
|
--button-hover-filter: brightness(var(--hover-filter-variant));
|
||||||
`,
|
`,
|
||||||
|
|
||||||
[ButtonAction.Destroy]: css`
|
[ButtonAction.Destroy]: css`
|
||||||
--button-textColor: var(--color-text-button);
|
--button-textColor: var(--color-text-button);
|
||||||
--button-backgroundColor: var(--color-red);
|
--button-backgroundColor: var(--color-error);
|
||||||
--button-border: solid var(--border-width) var(--color-border-white);
|
--button-border: solid var(--border-width) var(--color-border-white);
|
||||||
--button-hover-filter: brightness(var(--hover-filter-variant));
|
--button-hover-filter: brightness(var(--hover-filter-variant));
|
||||||
`,
|
`,
|
||||||
@@ -122,7 +122,7 @@ const buttonActionVariants = {
|
|||||||
`,
|
`,
|
||||||
|
|
||||||
[ButtonAction.Reset]: css`
|
[ButtonAction.Reset]: css`
|
||||||
--button-textColor: var(--color-red);
|
--button-textColor: var(--color-error);
|
||||||
--button-backgroundColor: var(--color-layer-3);
|
--button-backgroundColor: var(--color-layer-3);
|
||||||
--button-border: solid var(--border-width) var(--color-border-red);
|
--button-border: solid var(--border-width) var(--color-border-red);
|
||||||
--button-hover-filter: brightness(var(--hover-filter-variant));
|
--button-hover-filter: brightness(var(--hover-filter-variant));
|
||||||
|
|||||||
@@ -91,10 +91,10 @@ Styled.Item = styled(Item)<{ $highlightColor: 'accent' | 'create' | 'destroy' }>
|
|||||||
--item-highlighted-textColor: var(--color-accent);
|
--item-highlighted-textColor: var(--color-accent);
|
||||||
`,
|
`,
|
||||||
['create']: `
|
['create']: `
|
||||||
--item-highlighted-textColor: var(--color-green);
|
--item-highlighted-textColor: var(--color-success);
|
||||||
`,
|
`,
|
||||||
['destroy']: `
|
['destroy']: `
|
||||||
--item-highlighted-textColor: var(--color-red);
|
--item-highlighted-textColor: var(--color-error);
|
||||||
`,
|
`,
|
||||||
}[$highlightColor])}
|
}[$highlightColor])}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ Styled.Root = styled(Root)`
|
|||||||
--switch-thumb-backgroundColor: var(--color-layer-6);
|
--switch-thumb-backgroundColor: var(--color-layer-6);
|
||||||
|
|
||||||
--switch-active-backgroundColor: var(--color-accent);
|
--switch-active-backgroundColor: var(--color-accent);
|
||||||
--switch-active-thumb-backgroundColor: var(--color-white);
|
--switch-active-thumb-backgroundColor: ${({ theme }) => theme.switchThumbActiveBackground};
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
width: var(--switch-width);
|
width: var(--switch-width);
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ Styled.ConfirmButton = styled(Styled.IconButton)`
|
|||||||
--button-backgroundColor: hsla(203, 25%, 19%, 1);
|
--button-backgroundColor: hsla(203, 25%, 19%, 1);
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
color: var(--color-green);
|
color: var(--color-success);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ Styled.CancelButton = styled(Styled.IconButton)`
|
|||||||
--button-backgroundColor: hsla(296, 16%, 18%, 1);
|
--button-backgroundColor: hsla(296, 16%, 18%, 1);
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
color: var(--color-red);
|
color: var(--color-error);
|
||||||
width: 0.8em;
|
width: 0.8em;
|
||||||
height: 0.8em;
|
height: 0.8em;
|
||||||
|
|
||||||
|
|||||||
@@ -173,5 +173,3 @@ export type AnalyticsEventData<T extends AnalyticsEvent> =
|
|||||||
validatorUrl: string;
|
validatorUrl: string;
|
||||||
}
|
}
|
||||||
: never;
|
: never;
|
||||||
|
|
||||||
export const DEFAULT_TRANSACTION_MEMO = 'dYdX Frontend (web)';
|
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ export type Theme = {
|
|||||||
[AppColorMode.RedUp]: ThemeColorBase;
|
[AppColorMode.RedUp]: ThemeColorBase;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ThemeColorBase = BaseColors &
|
export type ThemeColorBase = LayerColors &
|
||||||
LayerColors &
|
|
||||||
BorderColors &
|
BorderColors &
|
||||||
TextColors &
|
TextColors &
|
||||||
GradientColors &
|
GradientColors &
|
||||||
@@ -18,12 +17,6 @@ export type ThemeColorBase = BaseColors &
|
|||||||
ComponentColors &
|
ComponentColors &
|
||||||
Filters;
|
Filters;
|
||||||
|
|
||||||
type BaseColors = {
|
|
||||||
white: string;
|
|
||||||
green: string;
|
|
||||||
red: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
type LayerColors = {
|
type LayerColors = {
|
||||||
layer0: string;
|
layer0: string;
|
||||||
layer1: string;
|
layer1: string;
|
||||||
@@ -93,6 +86,7 @@ type IconColors = {
|
|||||||
type ComponentColors = {
|
type ComponentColors = {
|
||||||
inputBackground: string;
|
inputBackground: string;
|
||||||
popoverBackground: string;
|
popoverBackground: string;
|
||||||
|
switchThumbActiveBackground: string;
|
||||||
toggleBackground: string;
|
toggleBackground: string;
|
||||||
tooltipBackground: string;
|
tooltipBackground: string;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import {
|
|||||||
import type { ResolutionString } from 'public/tradingview/charting_library';
|
import type { ResolutionString } from 'public/tradingview/charting_library';
|
||||||
|
|
||||||
import type { ConnectNetworkEvent, NetworkConfig } from '@/constants/abacus';
|
import type { ConnectNetworkEvent, NetworkConfig } from '@/constants/abacus';
|
||||||
import { DEFAULT_TRANSACTION_MEMO } from '@/constants/analytics';
|
|
||||||
import { type Candle, RESOLUTION_MAP } from '@/constants/candles';
|
import { type Candle, RESOLUTION_MAP } from '@/constants/candles';
|
||||||
import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks';
|
import { ENVIRONMENT_CONFIG_MAP } from '@/constants/networks';
|
||||||
import { DydxChainAsset } from '@/constants/wallets';
|
import { DydxChainAsset } from '@/constants/wallets';
|
||||||
@@ -84,8 +83,7 @@ const useDydxClientContext = () => {
|
|||||||
{
|
{
|
||||||
broadcastPollIntervalMs: 3_000,
|
broadcastPollIntervalMs: 3_000,
|
||||||
broadcastTimeoutMs: 60_000,
|
broadcastTimeoutMs: 60_000,
|
||||||
},
|
}
|
||||||
DEFAULT_TRANSACTION_MEMO
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import {
|
|||||||
type HumanReadableTransferPayload,
|
type HumanReadableTransferPayload,
|
||||||
} from '@/constants/abacus';
|
} from '@/constants/abacus';
|
||||||
|
|
||||||
import { DEFAULT_TRANSACTION_MEMO } from '@/constants/analytics';
|
|
||||||
import { DialogTypes } from '@/constants/dialogs';
|
import { DialogTypes } from '@/constants/dialogs';
|
||||||
import { UNCOMMITTED_ORDER_TIMEOUT_MS } from '@/constants/trade';
|
import { UNCOMMITTED_ORDER_TIMEOUT_MS } from '@/constants/trade';
|
||||||
import { ENVIRONMENT_CONFIG_MAP, DydxNetwork, isTestnet } from '@/constants/networks';
|
import { ENVIRONMENT_CONFIG_MAP, DydxNetwork, isTestnet } from '@/constants/networks';
|
||||||
@@ -116,8 +115,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
{
|
{
|
||||||
broadcastPollIntervalMs: 3_000,
|
broadcastPollIntervalMs: 3_000,
|
||||||
broadcastTimeoutMs: 60_000,
|
broadcastTimeoutMs: 60_000,
|
||||||
},
|
}
|
||||||
DEFAULT_TRANSACTION_MEMO
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -372,8 +370,8 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
value: {
|
value: {
|
||||||
...params.msg,
|
...params.msg,
|
||||||
timeoutTimestamp: params.msg.timeoutTimestamp
|
timeoutTimestamp: params.msg.timeoutTimestamp
|
||||||
? // Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
// Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
||||||
BigInt(Long.fromValue(params.msg.timeoutTimestamp).toString())
|
? BigInt(Long.fromValue(params.msg.timeoutTimestamp).toString())
|
||||||
: undefined,
|
: undefined,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -389,11 +387,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ibcMsg.value.token.amount = amount.toString();
|
ibcMsg.value.token.amount = amount.toString();
|
||||||
const tx = await this.nobleClient.send(
|
const tx = await this.nobleClient.send([ibcMsg]);
|
||||||
[ibcMsg],
|
|
||||||
undefined,
|
|
||||||
`${DEFAULT_TRANSACTION_MEMO} | ${this.nobleWallet?.address}`
|
|
||||||
);
|
|
||||||
|
|
||||||
const parsedTx = this.parseToPrimitives(tx);
|
const parsedTx = this.parseToPrimitives(tx);
|
||||||
|
|
||||||
@@ -432,8 +426,8 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol {
|
|||||||
value: {
|
value: {
|
||||||
...parsedIbcPayload.msg,
|
...parsedIbcPayload.msg,
|
||||||
timeoutTimestamp: parsedIbcPayload.msg.timeoutTimestamp
|
timeoutTimestamp: parsedIbcPayload.msg.timeoutTimestamp
|
||||||
? // Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
// Squid returns timeoutTimestamp as Long, but the signer expects BigInt
|
||||||
BigInt(Long.fromValue(parsedIbcPayload.msg.timeoutTimestamp).toString())
|
? BigInt(Long.fromValue(parsedIbcPayload.msg.timeoutTimestamp).toString())
|
||||||
: undefined,
|
: undefined,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ class TestFlags {
|
|||||||
return !!this.queryParams.displayinitializingmarkets;
|
return !!this.queryParams.displayinitializingmarkets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get showMobileSignInOption() {
|
||||||
|
return !!this.queryParams.mobilesignin;
|
||||||
|
}
|
||||||
|
|
||||||
get addressOverride():string {
|
get addressOverride():string {
|
||||||
return this.queryParams.address;
|
return this.queryParams.address;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ Styled.ActionButton = styled(IconButton)<{ iconName?: IconName }>`
|
|||||||
${({ iconName }) =>
|
${({ iconName }) =>
|
||||||
iconName === IconName.Close
|
iconName === IconName.Close
|
||||||
? css`
|
? css`
|
||||||
--button-textColor: var(--color-red);
|
--button-textColor: var(--color-error);
|
||||||
--button-icon-size: 0.75em;
|
--button-icon-size: 0.75em;
|
||||||
`
|
`
|
||||||
: iconName === IconName.Transfer &&
|
: iconName === IconName.Transfer &&
|
||||||
|
|||||||
@@ -2,10 +2,6 @@ import { createGlobalStyle } from 'styled-components';
|
|||||||
|
|
||||||
export const GlobalStyle = createGlobalStyle`
|
export const GlobalStyle = createGlobalStyle`
|
||||||
:root {
|
:root {
|
||||||
--color-white: ${({ theme }) => theme.white};
|
|
||||||
--color-green: ${({ theme }) => theme.green};
|
|
||||||
--color-red: ${({ theme }) => theme.red};
|
|
||||||
|
|
||||||
--color-layer-0: ${({ theme }) => theme.layer0};
|
--color-layer-0: ${({ theme }) => theme.layer0};
|
||||||
--color-layer-1: ${({ theme }) => theme.layer1};
|
--color-layer-1: ${({ theme }) => theme.layer1};
|
||||||
--color-layer-2: ${({ theme }) => theme.layer2};
|
--color-layer-2: ${({ theme }) => theme.layer2};
|
||||||
|
|||||||
+3
-12
@@ -4,10 +4,6 @@ import { BrightnessFilterToken, ColorToken, OpacityToken } from '@/constants/sty
|
|||||||
import { generateFadedColorVariant } from '@/lib/styles';
|
import { generateFadedColorVariant } from '@/lib/styles';
|
||||||
|
|
||||||
const ClassicThemeBase: ThemeColorBase = {
|
const ClassicThemeBase: ThemeColorBase = {
|
||||||
white: ColorToken.White,
|
|
||||||
green: ColorToken.Green1,
|
|
||||||
red: ColorToken.Red2,
|
|
||||||
|
|
||||||
layer0: ColorToken.GrayBlue7,
|
layer0: ColorToken.GrayBlue7,
|
||||||
layer1: ColorToken.GrayBlue6,
|
layer1: ColorToken.GrayBlue6,
|
||||||
layer2: ColorToken.GrayBlue5,
|
layer2: ColorToken.GrayBlue5,
|
||||||
@@ -55,6 +51,7 @@ const ClassicThemeBase: ThemeColorBase = {
|
|||||||
|
|
||||||
inputBackground: ColorToken.GrayBlue3,
|
inputBackground: ColorToken.GrayBlue3,
|
||||||
popoverBackground: generateFadedColorVariant(ColorToken.GrayBlue4, OpacityToken.Opacity90),
|
popoverBackground: generateFadedColorVariant(ColorToken.GrayBlue4, OpacityToken.Opacity90),
|
||||||
|
switchThumbActiveBackground: ColorToken.White,
|
||||||
toggleBackground: ColorToken.GrayBlue3,
|
toggleBackground: ColorToken.GrayBlue3,
|
||||||
tooltipBackground: generateFadedColorVariant(ColorToken.GrayBlue3, OpacityToken.Opacity66),
|
tooltipBackground: generateFadedColorVariant(ColorToken.GrayBlue3, OpacityToken.Opacity66),
|
||||||
|
|
||||||
@@ -64,10 +61,6 @@ const ClassicThemeBase: ThemeColorBase = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const DarkThemeBase: ThemeColorBase = {
|
const DarkThemeBase: ThemeColorBase = {
|
||||||
white: ColorToken.White,
|
|
||||||
green: ColorToken.Green0,
|
|
||||||
red: ColorToken.Red0,
|
|
||||||
|
|
||||||
layer0: ColorToken.Black,
|
layer0: ColorToken.Black,
|
||||||
layer1: ColorToken.DarkGray11,
|
layer1: ColorToken.DarkGray11,
|
||||||
layer2: ColorToken.DarkGray13,
|
layer2: ColorToken.DarkGray13,
|
||||||
@@ -115,6 +108,7 @@ const DarkThemeBase: ThemeColorBase = {
|
|||||||
|
|
||||||
inputBackground: ColorToken.DarkGray6,
|
inputBackground: ColorToken.DarkGray6,
|
||||||
popoverBackground: generateFadedColorVariant(ColorToken.DarkGray8, OpacityToken.Opacity90),
|
popoverBackground: generateFadedColorVariant(ColorToken.DarkGray8, OpacityToken.Opacity90),
|
||||||
|
switchThumbActiveBackground: ColorToken.White,
|
||||||
toggleBackground: ColorToken.DarkGray6,
|
toggleBackground: ColorToken.DarkGray6,
|
||||||
tooltipBackground: generateFadedColorVariant(ColorToken.DarkGray6, OpacityToken.Opacity66),
|
tooltipBackground: generateFadedColorVariant(ColorToken.DarkGray6, OpacityToken.Opacity66),
|
||||||
|
|
||||||
@@ -124,10 +118,6 @@ const DarkThemeBase: ThemeColorBase = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const LightThemeBase: ThemeColorBase = {
|
const LightThemeBase: ThemeColorBase = {
|
||||||
white: ColorToken.White,
|
|
||||||
green: ColorToken.Green2,
|
|
||||||
red: ColorToken.Red1,
|
|
||||||
|
|
||||||
layer0: ColorToken.White,
|
layer0: ColorToken.White,
|
||||||
layer1: ColorToken.LightGray6,
|
layer1: ColorToken.LightGray6,
|
||||||
layer2: ColorToken.White,
|
layer2: ColorToken.White,
|
||||||
@@ -175,6 +165,7 @@ const LightThemeBase: ThemeColorBase = {
|
|||||||
|
|
||||||
inputBackground: ColorToken.White,
|
inputBackground: ColorToken.White,
|
||||||
popoverBackground: generateFadedColorVariant(ColorToken.LightGray8, OpacityToken.Opacity90),
|
popoverBackground: generateFadedColorVariant(ColorToken.LightGray8, OpacityToken.Opacity90),
|
||||||
|
switchThumbActiveBackground: ColorToken.White,
|
||||||
toggleBackground: ColorToken.LightGray4,
|
toggleBackground: ColorToken.LightGray4,
|
||||||
tooltipBackground: generateFadedColorVariant(ColorToken.LightGray7, OpacityToken.Opacity66),
|
tooltipBackground: generateFadedColorVariant(ColorToken.LightGray7, OpacityToken.Opacity66),
|
||||||
|
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ export const AccountInfoConnectedState = () => {
|
|||||||
<WithTooltip tooltip={tooltip} stringParams={stringParams}>
|
<WithTooltip tooltip={tooltip} stringParams={stringParams}>
|
||||||
<Styled.WithUsage>
|
<Styled.WithUsage>
|
||||||
{label}
|
{label}
|
||||||
{hasError ? <Styled.CautionIcon iconName={IconName.CautionCircle} /> : slotRight}
|
{hasError ? <Styled.Icon iconName={IconName.CautionCircle} /> : slotRight}
|
||||||
</Styled.WithUsage>
|
</Styled.WithUsage>
|
||||||
</WithTooltip>
|
</WithTooltip>
|
||||||
),
|
),
|
||||||
@@ -230,7 +230,7 @@ Styled.CircleContainer = styled.div`
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
Styled.CautionIcon = styled(Icon)`
|
Styled.Icon = styled(Icon)`
|
||||||
color: var(--color-error);
|
color: var(--color-error);
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -557,11 +557,11 @@ Styled.PositionTile = styled(PositionTile)``;
|
|||||||
|
|
||||||
Styled.ClosePositionButton = styled(Button)`
|
Styled.ClosePositionButton = styled(Button)`
|
||||||
--button-border: solid var(--border-width) var(--color-border-red);
|
--button-border: solid var(--border-width) var(--color-border-red);
|
||||||
--button-textColor: var(--color-red);
|
--button-textColor: var(--color-error);
|
||||||
`;
|
`;
|
||||||
|
|
||||||
Styled.ClosePositionToggleButton = styled(ToggleButton)`
|
Styled.ClosePositionToggleButton = styled(ToggleButton)`
|
||||||
--button-border: solid var(--border-width) var(--color-border-red);
|
--button-border: solid var(--border-width) var(--color-border-red);
|
||||||
--button-toggle-off-textColor: var(--color-red);
|
--button-toggle-off-textColor: var(--color-error);
|
||||||
--button-toggle-on-textColor: var(--color-red);
|
--button-toggle-on-textColor: var(--color-error);
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ export const DisplaySettingsDialog = ({ setIsOpen }: ElementProps) => {
|
|||||||
const sectionHeader = (heading: string) => {
|
const sectionHeader = (heading: string) => {
|
||||||
return (
|
return (
|
||||||
<Styled.Header>
|
<Styled.Header>
|
||||||
|
{heading}
|
||||||
{heading}
|
{heading}
|
||||||
<HorizontalSeparatorFiller />
|
<HorizontalSeparatorFiller />
|
||||||
</Styled.Header>
|
</Styled.Header>
|
||||||
@@ -286,10 +287,10 @@ Styled.ArrowIcon = styled(Icon)<{ direction: 'up' | 'down'; color: 'green' | 're
|
|||||||
${({ color }) =>
|
${({ color }) =>
|
||||||
({
|
({
|
||||||
['green']: css`
|
['green']: css`
|
||||||
color: var(--color-green);
|
color: var(--color-success);
|
||||||
`,
|
`,
|
||||||
['red']: css`
|
['red']: css`
|
||||||
color: var(--color-red);
|
color: var(--color-error);
|
||||||
`,
|
`,
|
||||||
}[color])}
|
}[color])}
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -155,7 +155,8 @@ Styled.CautionIconContainer = styled.div`
|
|||||||
content: '';
|
content: '';
|
||||||
width: 2.5rem;
|
width: 2.5rem;
|
||||||
height: 2.5rem;
|
height: 2.5rem;
|
||||||
background-color: var(--color-gradient-error);
|
background-color: var(--color-error);
|
||||||
|
opacity: 0.1;
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -323,7 +323,7 @@ Styled.ReceiptArea = styled.div`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
Styled.Green = styled.span`
|
Styled.Green = styled.span`
|
||||||
color: var(--color-green);
|
color: var(--color-success);
|
||||||
`;
|
`;
|
||||||
|
|
||||||
Styled.GreenCheckCircle = styled(GreenCheckCircle)`
|
Styled.GreenCheckCircle = styled(GreenCheckCircle)`
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ export const TransferForm = ({
|
|||||||
label={
|
label={
|
||||||
<Styled.DestinationInputLabel>
|
<Styled.DestinationInputLabel>
|
||||||
{stringGetter({ key: STRING_KEYS.DESTINATION })}
|
{stringGetter({ key: STRING_KEYS.DESTINATION })}
|
||||||
{isAddressValid && <Styled.CheckIcon iconName={IconName.Check} />}
|
{isAddressValid && <Icon iconName={IconName.Check} />}
|
||||||
</Styled.DestinationInputLabel>
|
</Styled.DestinationInputLabel>
|
||||||
}
|
}
|
||||||
type={InputType.Text}
|
type={InputType.Text}
|
||||||
@@ -439,10 +439,10 @@ Styled.InlineRow = styled.span`
|
|||||||
|
|
||||||
Styled.DestinationInputLabel = styled.span`
|
Styled.DestinationInputLabel = styled.span`
|
||||||
${layoutMixins.inlineRow}
|
${layoutMixins.inlineRow}
|
||||||
`;
|
|
||||||
|
|
||||||
Styled.CheckIcon = styled(Icon)`
|
svg {
|
||||||
color: var(--color-success);
|
color: var(--color-success);
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
Styled.AddressValidationAlertMessage = styled(AlertMessage)`
|
Styled.AddressValidationAlertMessage = styled(AlertMessage)`
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { OnboardingState } from '@/constants/account';
|
|||||||
import { ButtonAction, ButtonShape, ButtonSize, ButtonType } from '@/constants/buttons';
|
import { ButtonAction, ButtonShape, ButtonSize, ButtonType } from '@/constants/buttons';
|
||||||
import { DialogTypes } from '@/constants/dialogs';
|
import { DialogTypes } from '@/constants/dialogs';
|
||||||
import { STRING_KEYS, StringGetterFunction, TOOLTIP_STRING_KEYS } from '@/constants/localization';
|
import { STRING_KEYS, StringGetterFunction, TOOLTIP_STRING_KEYS } from '@/constants/localization';
|
||||||
|
import { isMainnet } from '@/constants/networks';
|
||||||
import { DydxChainAsset, wallets } from '@/constants/wallets';
|
import { DydxChainAsset, wallets } from '@/constants/wallets';
|
||||||
|
|
||||||
import { layoutMixins } from '@/styles/layoutMixins';
|
import { layoutMixins } from '@/styles/layoutMixins';
|
||||||
@@ -40,6 +41,7 @@ import { getAppTheme } from '@/state/configsSelectors';
|
|||||||
import { isTruthy } from '@/lib/isTruthy';
|
import { isTruthy } from '@/lib/isTruthy';
|
||||||
import { truncateAddress } from '@/lib/wallet';
|
import { truncateAddress } from '@/lib/wallet';
|
||||||
import { MustBigNumber } from '@/lib/numbers';
|
import { MustBigNumber } from '@/lib/numbers';
|
||||||
|
import { testFlags } from '@/lib/testFlags';
|
||||||
|
|
||||||
export const AccountMenu = () => {
|
export const AccountMenu = () => {
|
||||||
const stringGetter = useStringGetter();
|
const stringGetter = useStringGetter();
|
||||||
@@ -191,7 +193,7 @@ export const AccountMenu = () => {
|
|||||||
},
|
},
|
||||||
...(onboardingState === OnboardingState.AccountConnected && hdKey
|
...(onboardingState === OnboardingState.AccountConnected && hdKey
|
||||||
? [
|
? [
|
||||||
{
|
(!isMainnet || testFlags.showMobileSignInOption) && {
|
||||||
value: 'MobileQrSignIn',
|
value: 'MobileQrSignIn',
|
||||||
icon: <Icon iconName={IconName.Qr} />,
|
icon: <Icon iconName={IconName.Qr} />,
|
||||||
label: stringGetter({ key: STRING_KEYS.TITLE_SIGN_INTO_MOBILE }),
|
label: stringGetter({ key: STRING_KEYS.TITLE_SIGN_INTO_MOBILE }),
|
||||||
@@ -204,7 +206,7 @@ export const AccountMenu = () => {
|
|||||||
highlightColor: 'destroy',
|
highlightColor: 'destroy',
|
||||||
onSelect: () => dispatch(openDialog({ type: DialogTypes.MnemonicExport })),
|
onSelect: () => dispatch(openDialog({ type: DialogTypes.MnemonicExport })),
|
||||||
},
|
},
|
||||||
]
|
].filter(isTruthy)
|
||||||
: []),
|
: []),
|
||||||
{
|
{
|
||||||
value: 'Disconnect',
|
value: 'Disconnect',
|
||||||
|
|||||||
@@ -82,6 +82,6 @@ Styled.ActionButton = styled(IconButton)`
|
|||||||
|
|
||||||
Styled.CancelButton = styled(Styled.ActionButton)`
|
Styled.CancelButton = styled(Styled.ActionButton)`
|
||||||
&:not(:disabled) {
|
&:not(:disabled) {
|
||||||
--button-textColor: var(--color-red);
|
--button-textColor: var(--color-error);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|||||||
Reference in New Issue
Block a user