Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce5b6d92d5 | ||
|
|
4a044da38f | ||
|
|
fbbfbc6580 | ||
|
|
2714c2b084 |
+2
-2
@@ -39,9 +39,9 @@
|
|||||||
"@cosmjs/proto-signing": "^0.31.0",
|
"@cosmjs/proto-signing": "^0.31.0",
|
||||||
"@cosmjs/stargate": "^0.31.0",
|
"@cosmjs/stargate": "^0.31.0",
|
||||||
"@cosmjs/tendermint-rpc": "^0.31.0",
|
"@cosmjs/tendermint-rpc": "^0.31.0",
|
||||||
"@dydxprotocol/v4-abacus": "^1.1.4",
|
"@dydxprotocol/v4-abacus": "^1.1.16",
|
||||||
"@dydxprotocol/v4-client-js": "^1.0.6",
|
"@dydxprotocol/v4-client-js": "^1.0.6",
|
||||||
"@dydxprotocol/v4-localization": "^1.0.17",
|
"@dydxprotocol/v4-localization": "^1.0.18",
|
||||||
"@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-checkbox": "^1.0.4",
|
"@radix-ui/react-checkbox": "^1.0.4",
|
||||||
|
|||||||
Generated
+8
-8
@@ -27,14 +27,14 @@ dependencies:
|
|||||||
specifier: ^0.31.0
|
specifier: ^0.31.0
|
||||||
version: 0.31.0
|
version: 0.31.0
|
||||||
'@dydxprotocol/v4-abacus':
|
'@dydxprotocol/v4-abacus':
|
||||||
specifier: ^1.1.4
|
specifier: ^1.1.16
|
||||||
version: 1.1.4
|
version: 1.1.16
|
||||||
'@dydxprotocol/v4-client-js':
|
'@dydxprotocol/v4-client-js':
|
||||||
specifier: ^1.0.6
|
specifier: ^1.0.6
|
||||||
version: 1.0.6
|
version: 1.0.6
|
||||||
'@dydxprotocol/v4-localization':
|
'@dydxprotocol/v4-localization':
|
||||||
specifier: ^1.0.17
|
specifier: ^1.0.18
|
||||||
version: 1.0.17
|
version: 1.0.18
|
||||||
'@ethersproject/providers':
|
'@ethersproject/providers':
|
||||||
specifier: ^5.7.2
|
specifier: ^5.7.2
|
||||||
version: 5.7.2
|
version: 5.7.2
|
||||||
@@ -988,8 +988,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
|
resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@dydxprotocol/v4-abacus@1.1.4:
|
/@dydxprotocol/v4-abacus@1.1.16:
|
||||||
resolution: {integrity: sha512-gml6qheFsPShE9p3FmzFeStYM9ZVhgMq0K0+y12V7pObnMKbumkOIISgCzc47idkah0GMNhiqwi9faD5SjOy/A==}
|
resolution: {integrity: sha512-R9ROWx70f0a4lHxAPP/iJd9qnLhzL1SG8vIowfNg2VvWLk6f+f1HwsgMhDd07H328RqY016GNrRmnigeyVcz/g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@dydxprotocol/v4-client-js@1.0.6:
|
/@dydxprotocol/v4-client-js@1.0.6:
|
||||||
@@ -1020,8 +1020,8 @@ packages:
|
|||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@dydxprotocol/v4-localization@1.0.17:
|
/@dydxprotocol/v4-localization@1.0.18:
|
||||||
resolution: {integrity: sha512-fybNpi1ono1IdwFQJTszsHbHmGti2BdhTo1nz9KOmKh3tmXdhWObKb64Ve6/6Fjk6h/9+DeZ5ZG4UbYyYMyhCA==}
|
resolution: {integrity: sha512-790ajXfGzqRs7JVA3vISCg0Vh4EEN7SlcI8u04iryPcBp1WwkQ5TFGllF32+YPs1+mgjMRhwrg6jP8zEGMQFyw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@dydxprotocol/v4-proto@0.4.1:
|
/@dydxprotocol/v4-proto@0.4.1:
|
||||||
|
|||||||
+29
-29
@@ -42,7 +42,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"https://validator.v4dev.dydx.exchange"
|
"https://validator.v4dev.dydx.exchange"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.0xsquid.com",
|
"0xsquid": "https://testnet.api.0xsquid.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4dev.dydx.exchange"
|
"faucet": "https://faucet.v4dev.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
"http://54.92.118.111"
|
"http://54.92.118.111"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.0xsquid.com",
|
"0xsquid": "https://testnet.api.0xsquid.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love"
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"tos": "https://dydx.exchange/v4-terms",
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
@@ -189,7 +189,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -218,7 +218,7 @@
|
|||||||
"http://validator.v4dev4.dydx.exchange"
|
"http://validator.v4dev4.dydx.exchange"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.0xsquid.com",
|
"0xsquid": "https://testnet.api.0xsquid.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love"
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"tos": "https://dydx.exchange/v4-terms",
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
@@ -262,7 +262,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -291,7 +291,7 @@
|
|||||||
"http://18.223.78.50"
|
"http://18.223.78.50"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.0xsquid.com",
|
"0xsquid": "https://testnet.api.0xsquid.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love"
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"tos": "https://dydx.exchange/v4-terms",
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
@@ -335,7 +335,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -365,7 +365,7 @@
|
|||||||
"https://validator.v4staging.dydx.exchange"
|
"https://validator.v4staging.dydx.exchange"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love"
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"tos": "https://dydx.exchange/v4-terms",
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
@@ -410,7 +410,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -440,7 +440,7 @@
|
|||||||
"https://validator.v4staging.dydx.exchange"
|
"https://validator.v4staging.dydx.exchange"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love"
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"tos": "https://dydx.exchange/v4-terms",
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
@@ -483,7 +483,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydxprotocol-testnet",
|
"dydxChainId": "dydxprotocol-testnet",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -513,7 +513,7 @@
|
|||||||
"https://validator-uswest1.v4staging.dydx.exchange"
|
"https://validator-uswest1.v4staging.dydx.exchange"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love"
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"tos": "https://dydx.exchange/v4-terms",
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
@@ -558,7 +558,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -591,7 +591,7 @@
|
|||||||
"https://dydx-rpc.liquify.com/api=8878132/dydx"
|
"https://dydx-rpc.liquify.com/api=8878132/dydx"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -637,7 +637,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -666,7 +666,7 @@
|
|||||||
"https://validator.v4testnet.dydx.exchange"
|
"https://validator.v4testnet.dydx.exchange"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -713,7 +713,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -742,7 +742,7 @@
|
|||||||
"https://dydx-testnet.nodefleet.org"
|
"https://dydx-testnet.nodefleet.org"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -789,7 +789,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -818,7 +818,7 @@
|
|||||||
"https://test-dydx.kingnodes.com"
|
"https://test-dydx.kingnodes.com"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -865,7 +865,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -894,7 +894,7 @@
|
|||||||
"https://dydx-rpc.liquify.com/api=8878132/dydx"
|
"https://dydx-rpc.liquify.com/api=8878132/dydx"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -941,7 +941,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -970,7 +970,7 @@
|
|||||||
"https://dydx-testnet-rpc.polkachu.com/"
|
"https://dydx-testnet-rpc.polkachu.com/"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -1008,7 +1008,7 @@
|
|||||||
"ethereumChainId": "5",
|
"ethereumChainId": "5",
|
||||||
"dydxChainId": "dydx-testnet-4",
|
"dydxChainId": "dydx-testnet-4",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "dYdX-api",
|
"squidIntegratorId": "dYdX-api",
|
||||||
"isMainNet": false,
|
"isMainNet": false,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
@@ -1037,7 +1037,7 @@
|
|||||||
"https://dydx-testnet-full-rpc.public.blastapi.io/"
|
"https://dydx-testnet-full-rpc.public.blastapi.io/"
|
||||||
],
|
],
|
||||||
"0xsquid": "https://testnet.api.squidrouter.com",
|
"0xsquid": "https://testnet.api.squidrouter.com",
|
||||||
"nobleValidator": "https://rpc.testnet.noble.strange.love",
|
"nobleValidator": "https://noble-testnet-rpc.polkachu.com/",
|
||||||
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
"faucet": "https://faucet.v4testnet.dydx.exchange"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
@@ -1084,7 +1084,7 @@
|
|||||||
"ethereumChainId": "1",
|
"ethereumChainId": "1",
|
||||||
"dydxChainId": "[mainnet chain id]",
|
"dydxChainId": "[mainnet chain id]",
|
||||||
"chainName": "dYdX Chain",
|
"chainName": "dYdX Chain",
|
||||||
"chainLogo": "dydx-chain.png",
|
"chainLogo": "/dydx-chain.png",
|
||||||
"squidIntegratorId": "[mainnet squid integrator id]",
|
"squidIntegratorId": "[mainnet squid integrator id]",
|
||||||
"isMainNet": true,
|
"isMainNet": true,
|
||||||
"tokens": {
|
"tokens": {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { type Dispatch, type SetStateAction, useCallback, useMemo } from 'react';
|
import { useCallback, useMemo } from 'react';
|
||||||
import styled, { AnyStyledComponent, css } from 'styled-components';
|
import styled, { AnyStyledComponent, css } from 'styled-components';
|
||||||
import { Root, Thumb, Track } from '@radix-ui/react-slider';
|
import { Root, Thumb, Track } from '@radix-ui/react-slider';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { OrderSide } from '@dydxprotocol/v4-client-js';
|
import { OrderSide } from '@dydxprotocol/v4-client-js';
|
||||||
|
|
||||||
import { type Nullable, TradeInputField } from '@/constants/abacus';
|
import { TradeInputField } from '@/constants/abacus';
|
||||||
import { PositionSide } from '@/constants/trade';
|
import { PositionSide } from '@/constants/trade';
|
||||||
|
|
||||||
import { MustBigNumber, type BigNumberish } from '@/lib/numbers';
|
import { MustBigNumber, type BigNumberish } from '@/lib/numbers';
|
||||||
@@ -12,11 +12,11 @@ import abacusStateManager from '@/lib/abacus';
|
|||||||
|
|
||||||
type ElementProps = {
|
type ElementProps = {
|
||||||
leverage?: BigNumberish | null;
|
leverage?: BigNumberish | null;
|
||||||
leverageInputValue: Nullable<number>;
|
leverageInputValue: string;
|
||||||
maxLeverage: BigNumberish | null;
|
maxLeverage: BigNumberish | null;
|
||||||
orderSide: OrderSide;
|
orderSide: OrderSide;
|
||||||
positionSide: PositionSide;
|
positionSide: PositionSide;
|
||||||
setLeverageInputValue: Dispatch<SetStateAction<Nullable<number>>>;
|
setLeverageInputValue: (value: string) => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
type StyleProps = { className?: string };
|
type StyleProps = { className?: string };
|
||||||
@@ -33,6 +33,7 @@ export const LeverageSlider = ({
|
|||||||
const leverageBN = MustBigNumber(leverage);
|
const leverageBN = MustBigNumber(leverage);
|
||||||
const maxLeverageBN = MustBigNumber(maxLeverage);
|
const maxLeverageBN = MustBigNumber(maxLeverage);
|
||||||
const leverageInputBN = MustBigNumber(leverageInputValue || leverage);
|
const leverageInputBN = MustBigNumber(leverageInputValue || leverage);
|
||||||
|
const leverageInputNumber = isNaN(leverageInputBN.toNumber()) ? 0 : leverageInputBN.toNumber();
|
||||||
|
|
||||||
const sliderConfig = useMemo(
|
const sliderConfig = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
@@ -79,12 +80,12 @@ export const LeverageSlider = ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const onSliderDrag = ([newLeverage]: number[]) => {
|
const onSliderDrag = ([newLeverage]: number[]) => {
|
||||||
setLeverageInputValue(newLeverage);
|
setLeverageInputValue(`${newLeverage}`);
|
||||||
debouncedSetAbacusLeverage(newLeverage);
|
debouncedSetAbacusLeverage(newLeverage);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onValueCommit = ([newLeverage]: number[]) => {
|
const onValueCommit = ([newLeverage]: number[]) => {
|
||||||
setLeverageInputValue(newLeverage);
|
setLeverageInputValue(`${newLeverage}`);
|
||||||
|
|
||||||
// Ensure Abacus is updated with the latest, committed value
|
// Ensure Abacus is updated with the latest, committed value
|
||||||
debouncedSetAbacusLeverage.cancel();
|
debouncedSetAbacusLeverage.cancel();
|
||||||
@@ -102,7 +103,7 @@ export const LeverageSlider = ({
|
|||||||
min={min}
|
min={min}
|
||||||
max={max}
|
max={max}
|
||||||
step={0.1}
|
step={0.1}
|
||||||
value={[Math.min(Math.max(leverageInputBN.toNumber(), min), max)]}
|
value={[Math.min(Math.max(leverageInputNumber, min), max)]}
|
||||||
onValueChange={onSliderDrag}
|
onValueChange={onSliderDrag}
|
||||||
onValueCommit={onValueCommit}
|
onValueCommit={onValueCommit}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import type { Dispatch, SetStateAction } from 'react';
|
|
||||||
import { shallowEqual, useSelector } from 'react-redux';
|
import { shallowEqual, useSelector } from 'react-redux';
|
||||||
import styled, { AnyStyledComponent } from 'styled-components';
|
import styled, { AnyStyledComponent } from 'styled-components';
|
||||||
import { OrderSide } from '@dydxprotocol/v4-client-js';
|
import { OrderSide } from '@dydxprotocol/v4-client-js';
|
||||||
|
|
||||||
import { TradeInputField, Nullable } from '@/constants/abacus';
|
import { TradeInputField } from '@/constants/abacus';
|
||||||
import { ButtonShape } from '@/constants/buttons';
|
import { ButtonShape } from '@/constants/buttons';
|
||||||
import { STRING_KEYS } from '@/constants/localization';
|
import { STRING_KEYS } from '@/constants/localization';
|
||||||
import { LEVERAGE_DECIMALS } from '@/constants/numbers';
|
import { LEVERAGE_DECIMALS } from '@/constants/numbers';
|
||||||
@@ -62,21 +61,7 @@ export const MarketLeverageInput = ({
|
|||||||
|
|
||||||
const leveragePosition = postOrderLeverage ? newPositionSide : currentPositionSide;
|
const leveragePosition = postOrderLeverage ? newPositionSide : currentPositionSide;
|
||||||
|
|
||||||
const onLeverageInput = ({ value, floatValue }: { value: string; floatValue?: number }) => {
|
const getSignedLeverage = (newLeverage: string | number) => {
|
||||||
const newLeverage = MustBigNumber(floatValue).toFixed();
|
|
||||||
|
|
||||||
if (value === '' || newLeverage === 'NaN' || !floatValue) {
|
|
||||||
setLeverageInputValue('');
|
|
||||||
abacusStateManager.setTradeValue({
|
|
||||||
value: null,
|
|
||||||
field: TradeInputField.leverage,
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
updateLeverage(floatValue);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const updateLeverage = (newLeverage: string | number) => {
|
|
||||||
const newLeverageBN = MustBigNumber(newLeverage);
|
const newLeverageBN = MustBigNumber(newLeverage);
|
||||||
const newLeverageSignedBN =
|
const newLeverageSignedBN =
|
||||||
leveragePosition === PositionSide.Short ||
|
leveragePosition === PositionSide.Short ||
|
||||||
@@ -84,10 +69,33 @@ export const MarketLeverageInput = ({
|
|||||||
? newLeverageBN.abs().negated()
|
? newLeverageBN.abs().negated()
|
||||||
: newLeverageBN.abs();
|
: newLeverageBN.abs();
|
||||||
|
|
||||||
setLeverageInputValue(newLeverageSignedBN.toString());
|
return newLeverageSignedBN.toFixed(LEVERAGE_DECIMALS);
|
||||||
|
};
|
||||||
|
|
||||||
|
const onLeverageInput = ({
|
||||||
|
floatValue,
|
||||||
|
formattedValue,
|
||||||
|
}: {
|
||||||
|
floatValue?: number;
|
||||||
|
formattedValue: string;
|
||||||
|
}) => {
|
||||||
|
setLeverageInputValue(formattedValue);
|
||||||
|
const newLeverage = MustBigNumber(floatValue).toFixed();
|
||||||
|
|
||||||
abacusStateManager.setTradeValue({
|
abacusStateManager.setTradeValue({
|
||||||
value: newLeverageSignedBN.toFixed(LEVERAGE_DECIMALS),
|
value:
|
||||||
|
formattedValue === '' || newLeverage === 'NaN' ? null : getSignedLeverage(formattedValue),
|
||||||
|
field: TradeInputField.leverage,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const updateLeverage = (newLeverage: string | number) => {
|
||||||
|
const newLeverageSigned = getSignedLeverage(newLeverage);
|
||||||
|
|
||||||
|
setLeverageInputValue(newLeverageSigned);
|
||||||
|
|
||||||
|
abacusStateManager.setTradeValue({
|
||||||
|
value: newLeverageSigned,
|
||||||
field: TradeInputField.leverage,
|
field: TradeInputField.leverage,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -130,7 +138,7 @@ export const MarketLeverageInput = ({
|
|||||||
>
|
>
|
||||||
<Styled.LeverageSlider
|
<Styled.LeverageSlider
|
||||||
leverage={currentLeverage}
|
leverage={currentLeverage}
|
||||||
leverageInputValue={leverageInputValue}
|
leverageInputValue={getSignedLeverage(leverageInputValue)}
|
||||||
maxLeverage={maxLeverage}
|
maxLeverage={maxLeverage}
|
||||||
orderSide={orderSide}
|
orderSide={orderSide}
|
||||||
positionSide={currentPositionSide}
|
positionSide={currentPositionSide}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export const TradeSizeInputs = () => {
|
|||||||
floatValue?: number;
|
floatValue?: number;
|
||||||
formattedValue: string;
|
formattedValue: string;
|
||||||
}) => {
|
}) => {
|
||||||
dispatch(setTradeFormInputs({ amountInput: MustBigNumber(floatValue).toString() }));
|
dispatch(setTradeFormInputs({ amountInput: formattedValue }));
|
||||||
const newAmount = MustBigNumber(floatValue).toFixed(decimals);
|
const newAmount = MustBigNumber(floatValue).toFixed(decimals);
|
||||||
|
|
||||||
abacusStateManager.setTradeValue({
|
abacusStateManager.setTradeValue({
|
||||||
@@ -93,7 +93,7 @@ export const TradeSizeInputs = () => {
|
|||||||
floatValue?: number;
|
floatValue?: number;
|
||||||
formattedValue: string;
|
formattedValue: string;
|
||||||
}) => {
|
}) => {
|
||||||
dispatch(setTradeFormInputs({ usdAmountInput: MustBigNumber(floatValue).toString() }));
|
dispatch(setTradeFormInputs({ usdAmountInput: formattedValue }));
|
||||||
const newUsdcAmount = MustBigNumber(floatValue).toFixed(tickSizeDecimals || USD_DECIMALS);
|
const newUsdcAmount = MustBigNumber(floatValue).toFixed(tickSizeDecimals || USD_DECIMALS);
|
||||||
|
|
||||||
abacusStateManager.setTradeValue({
|
abacusStateManager.setTradeValue({
|
||||||
|
|||||||
Reference in New Issue
Block a user