Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0971126bb | ||
|
|
f0c69f1111 | ||
|
|
b09fe9ebb1 | ||
|
|
1c28505ec0 | ||
|
|
5531e21c76 | ||
|
|
4ebeb21841 |
@@ -1 +1,2 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
|
public/
|
||||||
|
|||||||
@@ -0,0 +1,635 @@
|
|||||||
|
{
|
||||||
|
"apps":{
|
||||||
|
"ios":{
|
||||||
|
"scheme":"dydx-t-v4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokens":{
|
||||||
|
"dydxprotocol-testnet":{
|
||||||
|
"chain":{
|
||||||
|
"name":"Dv4TNT",
|
||||||
|
"denom":"adv4tnt",
|
||||||
|
"decimals":18,
|
||||||
|
"image":"/currencies/dydx.png"
|
||||||
|
},
|
||||||
|
"usdc":{
|
||||||
|
"name":"USDC",
|
||||||
|
"denom":"ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5",
|
||||||
|
"gasDenom":"uusdc",
|
||||||
|
"decimals":6,
|
||||||
|
"image":"/currencies/usdc.png"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydx-testnet-4":{
|
||||||
|
"chain": {
|
||||||
|
"name": "Dv4TNT",
|
||||||
|
"denom": "adv4tnt",
|
||||||
|
"decimals": 18,
|
||||||
|
"image": "/currencies/dydx.png"
|
||||||
|
},
|
||||||
|
"usdc": {
|
||||||
|
"name": "USDC",
|
||||||
|
"denom": "ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5",
|
||||||
|
"gasDenom": "uusdc",
|
||||||
|
"decimals": 6,
|
||||||
|
"image": "/currencies/usdc.png"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"[mainnet chain id]":{
|
||||||
|
"comment":"Change according to mainnet release",
|
||||||
|
"chain":{
|
||||||
|
"name":"TokenName",
|
||||||
|
"denom":"tokenDenom",
|
||||||
|
"decimals":18,
|
||||||
|
"image":"/currencies/dydx.png"
|
||||||
|
},
|
||||||
|
"usdc":{
|
||||||
|
"name":"USDC",
|
||||||
|
"denom":"ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5",
|
||||||
|
"gasDenom":"uusdc",
|
||||||
|
"decimals":6,
|
||||||
|
"image":"/currencies/usdc.png"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"links":{
|
||||||
|
"dydxprotocol-testnet":{
|
||||||
|
"tos":"https://dydx.exchange/v4-terms",
|
||||||
|
"privacy":"https://dydx.exchange/privacy",
|
||||||
|
"mintscan":"https://testnet.mintscan.io/dydx-testnet/txs/{tx_hash}",
|
||||||
|
"blogs":"https://www.dydx.foundation/blog",
|
||||||
|
"foundation":"https://www.dydx.foundation",
|
||||||
|
"help":"https://help.dydx.exchange/",
|
||||||
|
"reduceOnlyLearnMore":"https://help.dydx.exchange/articles/6345793-reduce-only-orders",
|
||||||
|
"mintscanBase":"https://testnet.mintscan.io/dydx-testnet",
|
||||||
|
"documentation":"https://docs.dydx.exchange/",
|
||||||
|
"community":"https://discord.com/invite/dydx",
|
||||||
|
"governanceLearnMore":"https://help.dydx.exchange",
|
||||||
|
"newMarketProposalLearnMore":"https://dydx.exchange/blog/new-market-proposals",
|
||||||
|
"stakingLearnMore":"https://help.dydx.exchange",
|
||||||
|
"keplrDashboard":"https://testnet.keplr.app/",
|
||||||
|
"strideZoneApp":"https://testnet.stride.zone",
|
||||||
|
"accountExportLearnMore":"https://help.dydx.exchange/en/articles/8565867-secret-phrase-on-dydx-chain",
|
||||||
|
"walletLearnMore":"https://www.dydx.academy/video/defi-wallet"
|
||||||
|
},
|
||||||
|
"dydx-testnet-4":{
|
||||||
|
"tos": "https://dydx.exchange/v4-terms",
|
||||||
|
"privacy": "https://dydx.exchange/privacy",
|
||||||
|
"mintscan": "https://testnet.mintscan.io/dydx-testnet/txs/{tx_hash}",
|
||||||
|
"documentation": "https://docs.dydx.exchange/",
|
||||||
|
"community": "https://discord.com/invite/dydx",
|
||||||
|
"feedback": "https://docs.google.com/forms/d/e/1FAIpQLSezLsWCKvAYDEb7L-2O4wOON1T56xxro9A2Azvl6IxXHP_15Q/viewform",
|
||||||
|
"blogs": "https://www.dydx.foundation/blog",
|
||||||
|
"foundation": "https://www.dydx.foundation",
|
||||||
|
"help": "https://help.dydx.exchange/",
|
||||||
|
"reduceOnlyLearnMore": "https://help.dydx.exchange/articles/6345793-reduce-only-orders",
|
||||||
|
"mintscanBase": "https://testnet.mintscan.io/dydx-testnet",
|
||||||
|
"governanceLearnMore": "https://help.dydx.exchange",
|
||||||
|
"newMarketProposalLearnMore": "https://dydx.exchange/blog/new-market-proposals",
|
||||||
|
"stakingLearnMore": "https://help.dydx.exchange",
|
||||||
|
"keplrDashboard": "https://testnet.keplr.app/",
|
||||||
|
"strideZoneApp": "https://testnet.stride.zone",
|
||||||
|
"accountExportLearnMore": "https://help.dydx.exchange/en/articles/8565867-secret-phrase-on-dydx-chain",
|
||||||
|
"walletLearnMore": "https://www.dydx.academy/video/defi-wallet"
|
||||||
|
},
|
||||||
|
"[mainnet chain id]":{
|
||||||
|
"tos":"[HTTP link to TOS]",
|
||||||
|
"privacy":"[HTTP link to Privacy Policy]",
|
||||||
|
"mintscan":"[HTTP link to Mintscan, with {tx_hash} placeholder]",
|
||||||
|
"mintscanBase":"[HTTP link to TOS mintscan base url]",
|
||||||
|
"feedback":"[HTTP link to feedback form, can be null]",
|
||||||
|
"blogs":"[HTTP link to blogs, can be null]",
|
||||||
|
"foundation":"[HTTP link to foundation, can be null]",
|
||||||
|
"reduceOnlyLearnMore":"[HTTP link to reduce-only learn more, can be null]",
|
||||||
|
"documentation":"[HTTP link to documentation, can be null]",
|
||||||
|
"community":"[HTTP link to community, can be null]",
|
||||||
|
"help":"[HTTP link to help page, can be null]",
|
||||||
|
"governanceLearnMore":"[HTTP link to governance learn more, can be null]",
|
||||||
|
"newMarketProposalLearnMore":"[HTTP link to new market proposal learn more, can be null]",
|
||||||
|
"stakingLearnMore":"[HTTP link to staking learn more, can be null]",
|
||||||
|
"keplrDashboard":"[HTTP link to keplr dashboard, can be null]",
|
||||||
|
"strideZoneApp":"[HTTP link to stride zone app, can be null]",
|
||||||
|
"accountExportLearnMore":"[HTTP link to account export learn more, can be null]",
|
||||||
|
"walletLearnMore":"[HTTP link to wallet learn more, can be null]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wallets":{
|
||||||
|
"dydxprotocol-testnet":{
|
||||||
|
"walletconnect":{
|
||||||
|
"client":{
|
||||||
|
"name":"dYdX v4",
|
||||||
|
"description":"dYdX v4 App",
|
||||||
|
"iconUrl":"/logos/dydx-x.png"
|
||||||
|
},
|
||||||
|
"v2":{
|
||||||
|
"projectId":"47559b2ec96c09aed9ff2cb54a31ab0e"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"walletSegue":{
|
||||||
|
"callbackUrl":"/walletsegue"
|
||||||
|
},
|
||||||
|
"images":"/wallets/",
|
||||||
|
"signTypedDataAction":"dYdX Chain Onboarding",
|
||||||
|
"signTypedDataDomainName":"dYdX Chain"
|
||||||
|
},
|
||||||
|
"dydx-testnet-4":{
|
||||||
|
"walletconnect": {
|
||||||
|
"client": {
|
||||||
|
"name": "dYdX v4",
|
||||||
|
"description": "dYdX v4 App",
|
||||||
|
"iconUrl": "/logos/dydx-x.png"
|
||||||
|
},
|
||||||
|
"v2": {
|
||||||
|
"projectId": "47559b2ec96c09aed9ff2cb54a31ab0e"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"walletSegue": {
|
||||||
|
"callbackUrl": "/walletsegue"
|
||||||
|
},
|
||||||
|
"images": "/wallets/",
|
||||||
|
"signTypedDataAction": "dYdX Chain Onboarding",
|
||||||
|
"signTypedDataDomainName": "dYdX V4"
|
||||||
|
},
|
||||||
|
"[mainnet chain id]":{
|
||||||
|
"walletconnect":{
|
||||||
|
"client":{
|
||||||
|
"name":"[Name of the app]",
|
||||||
|
"description":"[Description of the app]",
|
||||||
|
"iconUrl":"[Relative URL of the icon URL]"
|
||||||
|
},
|
||||||
|
"v2":{
|
||||||
|
"projectId":"[Project ID]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"walletSegue":{
|
||||||
|
"callbackUrl":"[Relative callback URL for WalletSegue, should match apple-app-site-association]"
|
||||||
|
},
|
||||||
|
"images":"[Relative URL for wallet images]",
|
||||||
|
"signTypedDataAction":"dYdX Chain Onboarding",
|
||||||
|
"signTypedDataDomainName":"dYdX Chain"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"governance":{
|
||||||
|
"dydxprotocol-testnet":{
|
||||||
|
"newMarketProposal":{
|
||||||
|
"initialDepositAmount":10000000,
|
||||||
|
"delayBlocks":900,
|
||||||
|
"newMarketsMethodology":"https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydx-testnet-4":{
|
||||||
|
"newMarketProposal": {
|
||||||
|
"initialDepositAmount": 10000000,
|
||||||
|
"delayBlocks": 900,
|
||||||
|
"newMarketsMethodology": "https://docs.google.com/spreadsheets/d/1zjkV9R7R_7KMItuzqzvKGwefSBRfE-ZNAx1LH55OcqY/edit?usp=sharing"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"[mainnet chain id]":{
|
||||||
|
"newMarketProposal":{
|
||||||
|
"initialDepositAmount":0,
|
||||||
|
"delayBlocks":0,
|
||||||
|
"newMarketsMethodology":"[URL to spreadsheet or document that explains methodology]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deployments":{
|
||||||
|
"MAINNET":{
|
||||||
|
"environments":[
|
||||||
|
"dydxprotocol-mainnet"
|
||||||
|
],
|
||||||
|
"default":"dydxprotocol-mainnet"
|
||||||
|
},
|
||||||
|
"TESTFLIGHT":{
|
||||||
|
"environments":[
|
||||||
|
"dydxprotocol-mainnet",
|
||||||
|
"dydxprotocol-testnet"
|
||||||
|
],
|
||||||
|
"default":"dydxprotocol-mainnet"
|
||||||
|
},
|
||||||
|
"TESTNET":{
|
||||||
|
"environments":[
|
||||||
|
"dydxprotocol-testnet"
|
||||||
|
],
|
||||||
|
"default":"dydxprotocol-testnet"
|
||||||
|
},
|
||||||
|
"DEV":{
|
||||||
|
"environments":[
|
||||||
|
"dydxprotocol-dev",
|
||||||
|
"dydxprotocol-dev-2",
|
||||||
|
"dydxprotocol-dev-4",
|
||||||
|
"dydxprotocol-dev-5",
|
||||||
|
"dydxprotocol-staging",
|
||||||
|
"dydxprotocol-staging-west",
|
||||||
|
"dydxprotocol-testnet",
|
||||||
|
"dydxprotocol-testnet-dydx",
|
||||||
|
"dydxprotocol-testnet-nodefleet",
|
||||||
|
"dydxprotocol-testnet-kingnodes",
|
||||||
|
"dydxprotocol-testnet-liquify",
|
||||||
|
"dydxprotocol-testnet-polkachu",
|
||||||
|
"dydxprotocol-testnet-bware"
|
||||||
|
],
|
||||||
|
"default":"dydxprotocol-testnet"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"environments":{
|
||||||
|
"dydxprotocol-dev":{
|
||||||
|
"name":"v4 Dev",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4dev.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4dev.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://validator.v4dev.dydx.exchange"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.0xsquid.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4dev.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-dev-2":{
|
||||||
|
"name":"v4 Dev 2",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"http://dev2-indexer-apne1-lb-public-2076363889.ap-northeast-1.elb.amazonaws.com",
|
||||||
|
"socket":"ws://dev2-indexer-apne1-lb-public-2076363889.ap-northeast-1.elb.amazonaws.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"http://54.92.118.111"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.0xsquid.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-dev-4":{
|
||||||
|
"name":"v4 Dev 4",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4dev4.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4dev4.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://validator.v4dev4.dydx.exchange"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.0xsquid.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4dev4.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-dev-5":{
|
||||||
|
"name":"v4 Dev 5",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"http://dev5-indexer-apne1-lb-public-1721328151.ap-northeast-1.elb.amazonaws.com",
|
||||||
|
"socket":"ws://dev5-indexer-apne1-lb-public-1721328151.ap-northeast-1.elb.amazonaws.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"http://18.223.78.50"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.0xsquid.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-staging":{
|
||||||
|
"name":"v4 Staging",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4staging.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4staging.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"faucet":"https://faucet.v4staging.dydx.exchange",
|
||||||
|
"validators":[
|
||||||
|
"https://validator.v4staging.dydx.exchange"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-staging-forced-update":{
|
||||||
|
"name":"v4 Staging Forced Update",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4staging.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4staging.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"faucet":"https://faucet.v4staging.dydx.exchange",
|
||||||
|
"validators":[
|
||||||
|
"https://validator.v4staging.dydx.exchange"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/"
|
||||||
|
},
|
||||||
|
"apps":{
|
||||||
|
"ios":{
|
||||||
|
"minimalVersion":"1.0",
|
||||||
|
"build":40000,
|
||||||
|
"url":"https://apps.apple.com/app/dydx/id1564787350"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-staging-west":{
|
||||||
|
"name":"v4 Staging West",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydxprotocol-testnet",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4staging.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4staging.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"faucet":"https://faucet.v4staging.dydx.exchange",
|
||||||
|
"validators":[
|
||||||
|
"https://validator-uswest1.v4staging.dydx.exchange"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet":{
|
||||||
|
"name":"v4 Public Testnet",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://dydx-testnet-full-rpc.public.blastapi.io/",
|
||||||
|
"https://dydx-testnet-rpc.polkachu.com/",
|
||||||
|
"https://dydx-testnet.nodefleet.org",
|
||||||
|
"https://test-dydx.kingnodes.com",
|
||||||
|
"https://dydx-rpc.liquify.com/api=8878132/dydx"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet-dydx":{
|
||||||
|
"name":"v4 Public Testnet/dYdX",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://validator.v4testnet.dydx.exchange"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet-nodefleet":{
|
||||||
|
"name":"v4 Public Testnet/nodefleet",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://dydx-testnet.nodefleet.org"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet-kingnodes":{
|
||||||
|
"name":"v4 Public Testnet/KingNodes",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://test-dydx.kingnodes.com"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet-liquify":{
|
||||||
|
"name":"v4 Public Testnet/Liquify",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://dydx-rpc.liquify.com/api=8878132/dydx"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet-polkachu":{
|
||||||
|
"name":"v4 Public Testnet/Polkahcu",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://dydx-testnet-rpc.polkachu.com/"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-testnet-bware":{
|
||||||
|
"name":"v4 Public Testnet/BWare",
|
||||||
|
"ethereumChainId":"11155111",
|
||||||
|
"dydxChainId":"dydx-testnet-4",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"dYdX-api",
|
||||||
|
"isMainNet":false,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"https://indexer.v4testnet.dydx.exchange",
|
||||||
|
"socket":"wss://indexer.v4testnet.dydx.exchange"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"https://dydx-testnet-full-rpc.public.blastapi.io/"
|
||||||
|
],
|
||||||
|
"0xsquid":"https://testnet.api.squidrouter.com",
|
||||||
|
"nobleValidator":"https://noble-testnet-rpc.polkachu.com/",
|
||||||
|
"faucet":"https://faucet.v4testnet.dydx.exchange"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dydxprotocol-mainnet":{
|
||||||
|
"name":"v4",
|
||||||
|
"ethereumChainId":"1",
|
||||||
|
"dydxChainId":"[mainnet chain id]",
|
||||||
|
"chainName":"dYdX Chain",
|
||||||
|
"chainLogo":"/dydx-chain.png",
|
||||||
|
"squidIntegratorId":"[mainnet squid integrator id]",
|
||||||
|
"isMainNet":true,
|
||||||
|
"endpoints":{
|
||||||
|
"indexers":[
|
||||||
|
{
|
||||||
|
"api":"[REST endpoint]",
|
||||||
|
"socket":"[Websocket endpoint]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validators":[
|
||||||
|
"[Validator endpoint 1",
|
||||||
|
"[Validator endpoint n]"
|
||||||
|
],
|
||||||
|
"0xsquid":"[0xSquid endpoint for mainnet]",
|
||||||
|
"nobleValidator":"[noble validator endpoint for mainnet]"
|
||||||
|
},
|
||||||
|
"featureFlags":{
|
||||||
|
"reduceOnlySupported":false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -14,7 +14,7 @@ if (AMPLITUDE_API_KEY) {
|
|||||||
const html = await fs.readFile(htmlFilePath, 'utf-8');
|
const html = await fs.readFile(htmlFilePath, 'utf-8');
|
||||||
|
|
||||||
const amplitudeCdnScript = `<script type="text/javascript">
|
const amplitudeCdnScript = `<script type="text/javascript">
|
||||||
!function(){"use strict";!function(e,t){var n=e.amplitude||{_q:[],_iq:{}};if(n.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var r=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,n){return function(r){e._q.push({name:t,args:Array.prototype.slice.call(n,0),resolve:r})}},o=function(e,t,n){e[t]=function(){if(n)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))}}},i=function(e){for(var t=0;t<m.length;t++)o(e,m[t],!1);for(var n=0;n<g.length;n++)o(e,g[n],!0)};n.invoked=!0;var u=t.createElement("script");u.type="text/javascript",u.integrity="sha384-x0ik2D45ZDEEEpYpEuDpmj05fY91P7EOZkgdKmq4dKL/ZAVcufJ+nULFtGn0HIZE",u.crossOrigin="anonymous",u.async=!0,u.src="https://cdn.amplitude.com/libs/analytics-browser-2.0.0-min.js.gz",u.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(u,a);for(var c=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],l=0;l<p.length;l++)r(c,p[l]);n.Identify=c;for(var d=function(){return this._q=[],this},f=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],v=0;v<f.length;v++)r(d,f[v]);n.Revenue=d;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],g=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];i(n),n.createInstance=function(e){return n._iq[e]={_q:[]},i(n._iq[e]),n._iq[e]},e.amplitude=n}}(window,document)}();
|
!function(){"use strict";!function(e,t){var n=e.amplitude||{_q:[],_iq:{}};if(n.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var r=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,n){return function(r){e._q.push({name:t,args:Array.prototype.slice.call(n,0),resolve:r})}},o=function(e,t,n){e[t]=function(){if(n)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))}}},i=function(e){for(var t=0;t<m.length;t++)o(e,m[t],!1);for(var n=0;n<g.length;n++)o(e,g[n],!0)};n.invoked=!0;var u=t.createElement("script");u.type="text/javascript",u.integrity="sha384-BVo5ZjsjH373rWbcjz9Qjb2L6BgLwLADcZtZZPu3nMl8+7LPDhi1NcUEf0Ate41Y",u.crossOrigin="anonymous",u.async=!0,u.src="/libs/amplitude-analytics-browser-2.0.0-min.js",u.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(u,a);for(var c=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],l=0;l<p.length;l++)r(c,p[l]);n.Identify=c;for(var d=function(){return this._q=[],this},f=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],v=0;v<f.length;v++)r(d,f[v]);n.Revenue=d;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],g=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];i(n),n.createInstance=function(e){return n._iq[e]={_q:[]},i(n._iq[e]),n._iq[e]},e.amplitude=n}}(window,document)}();
|
||||||
</script>
|
</script>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -33,4 +33,9 @@ TagStory.argTypes = {
|
|||||||
control: { type: 'select' },
|
control: { type: 'select' },
|
||||||
defaultValue: undefined,
|
defaultValue: undefined,
|
||||||
},
|
},
|
||||||
|
isHighlighted: {
|
||||||
|
options: [true, false],
|
||||||
|
control: { type: 'select' },
|
||||||
|
defaultValue: false,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -76,5 +76,6 @@ export const Tag = styled.span<StyleProps>`
|
|||||||
isHighlighted &&
|
isHighlighted &&
|
||||||
css`
|
css`
|
||||||
background-color: var(--color-accent);
|
background-color: var(--color-accent);
|
||||||
|
color: var(--color-text-button);
|
||||||
`}
|
`}
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -22,4 +22,5 @@ export enum NumberSign {
|
|||||||
|
|
||||||
// Deposit/Withdraw
|
// Deposit/Withdraw
|
||||||
export const MAX_CCTP_TRANSFER_AMOUNT = 1_000_000;
|
export const MAX_CCTP_TRANSFER_AMOUNT = 1_000_000;
|
||||||
|
export const MIN_CCTP_TRANSFER_AMOUNT = 10;
|
||||||
export const MAX_PRICE_IMPACT = 0.02; // 2%
|
export const MAX_PRICE_IMPACT = 0.02; // 2%
|
||||||
|
|||||||
@@ -27,19 +27,26 @@ export const useChartMarketAndResolution = ({
|
|||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
const currentMarketId: string = useSelector(getCurrentMarketId) || DEFAULT_MARKETID;
|
const currentMarketId: string = useSelector(getCurrentMarketId) || DEFAULT_MARKETID;
|
||||||
|
|
||||||
const selectedResolution: string =
|
const selectedResolution: string =
|
||||||
useSelector(getSelectedResolutionForMarket(currentMarketId)) || DEFAULT_RESOLUTION;
|
useSelector(getSelectedResolutionForMarket(currentMarketId)) || DEFAULT_RESOLUTION;
|
||||||
|
|
||||||
const chart = isWidgetReady ? tvWidget?.chart() : undefined;
|
const chart = isWidgetReady ? tvWidget?.chart() : undefined;
|
||||||
const chartResolution = chart?.resolution?.();
|
const chartResolution = chart?.resolution?.();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Hook to handle changing markets - intentionally should avoid triggering on change of resolutions.
|
||||||
|
*/
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (currentMarketId && isWidgetReady) {
|
if (currentMarketId && isWidgetReady) {
|
||||||
const resolution = savedResolution || selectedResolution;
|
const resolution = savedResolution || selectedResolution;
|
||||||
tvWidget?.setSymbol(currentMarketId, resolution as ResolutionString, () => {});
|
tvWidget?.setSymbol(currentMarketId, resolution as ResolutionString, () => {});
|
||||||
}
|
}
|
||||||
}, [currentMarketId, isWidgetReady, savedResolution, selectedResolution]);
|
}, [currentMarketId, isWidgetReady]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Hook to handle changing chart resolution
|
||||||
|
*/
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (chartResolution) {
|
if (chartResolution) {
|
||||||
if (chartResolution !== selectedResolution) {
|
if (chartResolution !== selectedResolution) {
|
||||||
|
|||||||
@@ -11,7 +11,12 @@ import { ButtonSize } from '@/constants/buttons';
|
|||||||
import { STRING_KEYS } from '@/constants/localization';
|
import { STRING_KEYS } from '@/constants/localization';
|
||||||
import { ENVIRONMENT_CONFIG_MAP, isMainnet } from '@/constants/networks';
|
import { ENVIRONMENT_CONFIG_MAP, isMainnet } from '@/constants/networks';
|
||||||
import { TransferNotificationTypes } from '@/constants/notifications';
|
import { TransferNotificationTypes } from '@/constants/notifications';
|
||||||
import { MAX_CCTP_TRANSFER_AMOUNT, MAX_PRICE_IMPACT, NumberSign } from '@/constants/numbers';
|
import {
|
||||||
|
MAX_CCTP_TRANSFER_AMOUNT,
|
||||||
|
MAX_PRICE_IMPACT,
|
||||||
|
MIN_CCTP_TRANSFER_AMOUNT,
|
||||||
|
NumberSign,
|
||||||
|
} from '@/constants/numbers';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
useAccounts,
|
useAccounts,
|
||||||
@@ -329,6 +334,12 @@ export const WithdrawForm = () => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (
|
||||||
|
!debouncedAmountBN.isZero() &&
|
||||||
|
MustBigNumber(debouncedAmountBN).lte(MIN_CCTP_TRANSFER_AMOUNT)
|
||||||
|
) {
|
||||||
|
return 'Amount must be greater than 10 USDC';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isMainnet && MustBigNumber(summary?.aggregatePriceImpact).gte(MAX_PRICE_IMPACT)) {
|
if (isMainnet && MustBigNumber(summary?.aggregatePriceImpact).gte(MAX_PRICE_IMPACT)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user