Compare commits

...
Author SHA1 Message Date
Bill He b0971126bb update sha 2024-02-15 10:12:56 -08:00
Bill He f0c69f1111 host amplitude script ourselves 2024-02-15 09:55:23 -08:00
moo-onthelawn b09fe9ebb1 fix bug (#304) 2024-02-14 15:19:37 -08:00
Bill 1c28505ec0 Set minimum for CCTP withdraws (#306) 2024-02-14 14:59:04 -08:00
moo-onthelawn 5531e21c76 change text color (#302) 2024-02-14 14:29:38 -05:00
John Huang 4ebeb21841 MOB-231 Refactor env.json to env2.json (#303)
* MOB-231 Refactor env.json to env2.json

* Move to v1/env.json

* dydx-testnet-4
2024-02-14 13:37:51 -05:00
9 changed files with 665 additions and 3 deletions
+1
View File
@@ -1 +1,2 @@
node_modules/
public/
+635
View File
@@ -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
+1 -1
View File
@@ -14,7 +14,7 @@ if (AMPLITUDE_API_KEY) {
const html = await fs.readFile(htmlFilePath, 'utf-8');
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>
`;
+5
View File
@@ -33,4 +33,9 @@ TagStory.argTypes = {
control: { type: 'select' },
defaultValue: undefined,
},
isHighlighted: {
options: [true, false],
control: { type: 'select' },
defaultValue: false,
},
};
+1
View File
@@ -76,5 +76,6 @@ export const Tag = styled.span<StyleProps>`
isHighlighted &&
css`
background-color: var(--color-accent);
color: var(--color-text-button);
`}
`;
+1
View File
@@ -22,4 +22,5 @@ export enum NumberSign {
// Deposit/Withdraw
export const MAX_CCTP_TRANSFER_AMOUNT = 1_000_000;
export const MIN_CCTP_TRANSFER_AMOUNT = 10;
export const MAX_PRICE_IMPACT = 0.02; // 2%
@@ -27,19 +27,26 @@ export const useChartMarketAndResolution = ({
const dispatch = useDispatch();
const currentMarketId: string = useSelector(getCurrentMarketId) || DEFAULT_MARKETID;
const selectedResolution: string =
useSelector(getSelectedResolutionForMarket(currentMarketId)) || DEFAULT_RESOLUTION;
const chart = isWidgetReady ? tvWidget?.chart() : undefined;
const chartResolution = chart?.resolution?.();
/**
* @description Hook to handle changing markets - intentionally should avoid triggering on change of resolutions.
*/
useEffect(() => {
if (currentMarketId && isWidgetReady) {
const resolution = savedResolution || selectedResolution;
tvWidget?.setSymbol(currentMarketId, resolution as ResolutionString, () => {});
}
}, [currentMarketId, isWidgetReady, savedResolution, selectedResolution]);
}, [currentMarketId, isWidgetReady]);
/**
* @description Hook to handle changing chart resolution
*/
useEffect(() => {
if (chartResolution) {
if (chartResolution !== selectedResolution) {
@@ -11,7 +11,12 @@ import { ButtonSize } from '@/constants/buttons';
import { STRING_KEYS } from '@/constants/localization';
import { ENVIRONMENT_CONFIG_MAP, isMainnet } from '@/constants/networks';
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 {
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)) {