@dodoex/widgets 3.0.2-zetachain.11 → 3.0.2-zetachain.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1,91 @@
1
- "use strict";var e=require("./index-CEN1BcL7.cjs");require("@lingui/react"),require("@lingui/core"),require("@dodoex/api"),require("@dodoex/components"),require("react"),require("@web3-react/core"),require("bignumber.js"),require("lodash"),require("axios"),require("@ethersproject/bignumber"),require("zustand"),require("@dodoex/dodo-contract-request"),require("@tanstack/react-query"),require("@reown/appkit-utils"),require("@reown/appkit-common"),require("os"),require("events"),require("fs"),require("util"),require("path"),require("worker_threads"),require("module"),require("url"),require("buffer"),require("assert"),require("stream"),require("http"),require("punycode"),require("https"),require("zlib"),require("@web3-react/eip1193"),require("@web3-react/walletconnect-v2"),require("@web3-react/metamask"),require("@web3-react/types"),require("@ethersproject/contracts"),require("identicon.js"),require("react-dom"),require("dayjs"),require("react-transition-group"),require("@dodoex/contract-request"),require("recharts"),require("react-window"),require("jsbi"),require("tiny-invariant"),require("@ethersproject/units"),require("@uniswap/sdk-core"),require("@uniswap/v2-sdk"),require("react-infinite-scroller"),require("d3"),require("rmc-date-picker"),exports.AMMV2Create=e.AMMV2Create,exports.AMMV3PositionManage=e.AMMV3PositionManage,exports.AMMV3PositionsView=e.AMMV3PositionsView,exports.AddLiquidityV3=e.AddLiquidityV3,exports.EmptyList=e.EmptyList,exports.FailedList=e.FailedList,exports.InitSwapWidget=e.InitSwapWidget,exports.Message=e.Message,Object.defineProperty(exports,"MetadataFlag",{enumerable:!0,get:function(){return e.MetadataFlag}}),exports.MiningCreate=e.MiningCreate,exports.MiningDetail=e.MiningDetail,exports.MiningList=e.MiningList,Object.defineProperty(exports,"PageType",{enumerable:!0,get:function(){return e.PageType}}),exports.Pool=e.Pool,exports.PoolCreate=e.PoolCreate,exports.PoolDetail=e.PoolDetail,exports.PoolList=e.PoolList,exports.PoolModify=e.PoolModify,exports.PoolOperate=e.PoolOperate,exports.PoolOperateDialog=e.PoolOperateDialog,exports.PoolWidget=e.PoolWidget,exports.Swap=e.Swap,exports.SwapOrderHistory=e.SwapOrderHistory,exports.SwapWidget=e.SwapWidget,exports.TokenCard=e.TokenCard,exports.TokenLogo=e.TokenLogo,exports.UnstyleWidget=e.UnstyleWidget,exports.WIDGET_CLASS_NAME=e.WIDGET_CLASS_NAME,exports.WIDGET_MODULE_CLASS_NAME=e.WIDGET_MODULE_CLASS_NAME,exports.Widget=e.Widget,exports.chainListMap=e.chainListMap,exports.formatPercentageNumber=e.formatPercentageNumber,exports.formatReadableNumber=e.formatReadableNumber,exports.formatShortNumber=e.formatShortNumber,exports.formatTokenAmountNumber=e.formatTokenAmountNumber,exports.getEtherscanPage=e.getEtherscanPage,exports.rpcServerMap=e.rpcServerMap,exports.scanUrlDomainMap=e.scanUrlDomainMap,exports.useMessageState=e.useMessageState,exports.usePoolBalanceInfo=e.usePoolBalanceInfo,exports.useRouterStore=e.useRouterStore,exports.useTradeSwapOrderList=e.useTradeSwapOrderList;
1
+ 'use strict';
2
+
3
+ var index = require('./index-De8Sa6Av.cjs');
4
+ require('@lingui/react');
5
+ require('@lingui/core');
6
+ require('@dodoex/api');
7
+ require('@dodoex/components');
8
+ require('react');
9
+ require('@web3-react/core');
10
+ require('bignumber.js');
11
+ require('lodash');
12
+ require('axios');
13
+ require('@ethersproject/bignumber');
14
+ require('zustand');
15
+ require('@dodoex/dodo-contract-request');
16
+ require('@tanstack/react-query');
17
+ require('pino');
18
+ require('events');
19
+ require('node-fetch');
20
+ require('@web3-react/eip1193');
21
+ require('@web3-react/walletconnect-v2');
22
+ require('@web3-react/metamask');
23
+ require('@web3-react/types');
24
+ require('@ethersproject/contracts');
25
+ require('identicon.js');
26
+ require('react-dom');
27
+ require('dayjs');
28
+ require('react-transition-group');
29
+ require('@dodoex/contract-request');
30
+ require('recharts');
31
+ require('react-window');
32
+ require('jsbi');
33
+ require('tiny-invariant');
34
+ require('@ethersproject/units');
35
+ require('@uniswap/sdk-core');
36
+ require('@uniswap/v2-sdk');
37
+ require('react-infinite-scroller');
38
+ require('d3');
39
+ require('rmc-date-picker');
40
+
41
+
42
+
43
+ exports.AMMV2Create = index.AMMV2Create;
44
+ exports.AMMV3PositionManage = index.AMMV3PositionManage;
45
+ exports.AMMV3PositionsView = index.AMMV3PositionsView;
46
+ exports.AddLiquidityV3 = index.AddLiquidityV3;
47
+ exports.EmptyList = index.EmptyList;
48
+ exports.FailedList = index.FailedList;
49
+ exports.InitSwapWidget = index.InitSwapWidget;
50
+ exports.Message = index.Message;
51
+ Object.defineProperty(exports, "MetadataFlag", {
52
+ enumerable: true,
53
+ get: function () { return index.MetadataFlag; }
54
+ });
55
+ exports.MiningCreate = index.MiningCreate;
56
+ exports.MiningDetail = index.MiningDetail;
57
+ exports.MiningList = index.MiningList;
58
+ Object.defineProperty(exports, "PageType", {
59
+ enumerable: true,
60
+ get: function () { return index.PageType; }
61
+ });
62
+ exports.Pool = index.Pool;
63
+ exports.PoolCreate = index.PoolCreate;
64
+ exports.PoolDetail = index.PoolDetail;
65
+ exports.PoolList = index.PoolList;
66
+ exports.PoolModify = index.PoolModify;
67
+ exports.PoolOperate = index.PoolOperate;
68
+ exports.PoolOperateDialog = index.PoolOperateDialog;
69
+ exports.PoolWidget = index.PoolWidget;
70
+ exports.Swap = index.Swap;
71
+ exports.SwapOrderHistory = index.SwapOrderHistory;
72
+ exports.SwapWidget = index.SwapWidget;
73
+ exports.TokenCard = index.TokenCard;
74
+ exports.TokenLogo = index.TokenLogo;
75
+ exports.UnstyleWidget = index.UnstyleWidget;
76
+ exports.WIDGET_CLASS_NAME = index.WIDGET_CLASS_NAME;
77
+ exports.WIDGET_MODULE_CLASS_NAME = index.WIDGET_MODULE_CLASS_NAME;
78
+ exports.Widget = index.Widget;
79
+ exports.chainListMap = index.chainListMap;
80
+ exports.formatPercentageNumber = index.formatPercentageNumber;
81
+ exports.formatReadableNumber = index.formatReadableNumber;
82
+ exports.formatShortNumber = index.formatShortNumber;
83
+ exports.formatTokenAmountNumber = index.formatTokenAmountNumber;
84
+ exports.getEtherscanPage = index.getEtherscanPage;
85
+ exports.rpcServerMap = index.rpcServerMap;
86
+ exports.scanUrlDomainMap = index.scanUrlDomainMap;
87
+ exports.useMessageState = index.useMessageState;
88
+ exports.usePoolBalanceInfo = index.usePoolBalanceInfo;
89
+ exports.useRouterStore = index.useRouterStore;
90
+ exports.useTradeSwapOrderList = index.useTradeSwapOrderList;
91
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -1 +1,37 @@
1
- export{A as AMMV2Create,E as AMMV3PositionManage,D as AMMV3PositionsView,C as AddLiquidityV3,H as EmptyList,G as FailedList,I as InitSwapWidget,g as Message,M as MetadataFlag,B as MiningCreate,z as MiningDetail,y as MiningList,c as PageType,n as Pool,p as PoolCreate,t as PoolDetail,o as PoolList,q as PoolModify,w as PoolOperate,v as PoolOperateDialog,P as PoolWidget,k as Swap,l as SwapOrderHistory,S as SwapWidget,T as TokenCard,F as TokenLogo,U as UnstyleWidget,W as WIDGET_CLASS_NAME,h as WIDGET_MODULE_CLASS_NAME,e as Widget,d as chainListMap,a as formatPercentageNumber,K as formatReadableNumber,f as formatShortNumber,L as formatTokenAmountNumber,J as getEtherscanPage,r as rpcServerMap,s as scanUrlDomainMap,i as useMessageState,x as usePoolBalanceInfo,u as useRouterStore,m as useTradeSwapOrderList}from"./index-DjAOs16s.js";import"@lingui/react";import"@lingui/core";import"@dodoex/api";import"@dodoex/components";import"react";import"@web3-react/core";import"bignumber.js";import"lodash";import"axios";import"@ethersproject/bignumber";import"zustand";import"@dodoex/dodo-contract-request";import"@tanstack/react-query";import"@reown/appkit-utils";import"@reown/appkit-common";import"os";import"events";import"fs";import"util";import"path";import"worker_threads";import"module";import"url";import"buffer";import"assert";import"stream";import"http";import"punycode";import"https";import"zlib";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@ethersproject/contracts";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@ethersproject/units";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";
1
+ export { A as AMMV2Create, E as AMMV3PositionManage, D as AMMV3PositionsView, C as AddLiquidityV3, H as EmptyList, G as FailedList, I as InitSwapWidget, g as Message, M as MetadataFlag, B as MiningCreate, z as MiningDetail, y as MiningList, c as PageType, n as Pool, p as PoolCreate, t as PoolDetail, o as PoolList, q as PoolModify, w as PoolOperate, v as PoolOperateDialog, P as PoolWidget, k as Swap, l as SwapOrderHistory, S as SwapWidget, T as TokenCard, F as TokenLogo, U as UnstyleWidget, W as WIDGET_CLASS_NAME, h as WIDGET_MODULE_CLASS_NAME, e as Widget, d as chainListMap, a as formatPercentageNumber, K as formatReadableNumber, f as formatShortNumber, L as formatTokenAmountNumber, J as getEtherscanPage, r as rpcServerMap, s as scanUrlDomainMap, i as useMessageState, x as usePoolBalanceInfo, u as useRouterStore, m as useTradeSwapOrderList } from './index-bUI_7SKV.js';
2
+ import '@lingui/react';
3
+ import '@lingui/core';
4
+ import '@dodoex/api';
5
+ import '@dodoex/components';
6
+ import 'react';
7
+ import '@web3-react/core';
8
+ import 'bignumber.js';
9
+ import 'lodash';
10
+ import 'axios';
11
+ import '@ethersproject/bignumber';
12
+ import 'zustand';
13
+ import '@dodoex/dodo-contract-request';
14
+ import '@tanstack/react-query';
15
+ import 'pino';
16
+ import 'events';
17
+ import 'node-fetch';
18
+ import '@web3-react/eip1193';
19
+ import '@web3-react/walletconnect-v2';
20
+ import '@web3-react/metamask';
21
+ import '@web3-react/types';
22
+ import '@ethersproject/contracts';
23
+ import 'identicon.js';
24
+ import 'react-dom';
25
+ import 'dayjs';
26
+ import 'react-transition-group';
27
+ import '@dodoex/contract-request';
28
+ import 'recharts';
29
+ import 'react-window';
30
+ import 'jsbi';
31
+ import 'tiny-invariant';
32
+ import '@ethersproject/units';
33
+ import '@uniswap/sdk-core';
34
+ import '@uniswap/v2-sdk';
35
+ import 'react-infinite-scroller';
36
+ import 'd3';
37
+ import 'rmc-date-picker';
@@ -1,7 +1,9 @@
1
1
  import { ChainId } from '@dodoex/api';
2
+ import { AppKitNetwork } from '@reown/appkit/networks';
3
+ export declare function getChainNamespace(network: AppKitNetwork): import("@reown/appkit-common").ChainNamespace;
2
4
  export declare function useWalletInfo(): {
3
5
  chainId: ChainId;
4
- chainIdToCaipNetwork: import("@reown/appkit/networks").AppKitNetwork | undefined;
6
+ chainIdToCaipNetwork: AppKitNetwork | undefined;
5
7
  connectedChainId: ChainId;
6
8
  defaultChainId: ChainId;
7
9
  onlyChainId: ChainId | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodoex/widgets",
3
- "version": "3.0.2-zetachain.11",
3
+ "version": "3.0.2-zetachain.12",
4
4
  "description": "DODO Widgets",
5
5
  "source": "src/index.tsx",
6
6
  "types": "dist/types/index.d.ts",
@@ -62,7 +62,6 @@
62
62
  "@dodoex/components": "3.0.3-zetachain.3",
63
63
  "@dodoex/contract-request": "^1.3.0",
64
64
  "@dodoex/dodo-contract-request": "1.12.0-alpha.4",
65
- "@dodoex/icons": "^2.0.3-zetachain.1",
66
65
  "@emotion/react": "^11.10.0",
67
66
  "@emotion/styled": "^11.10.0",
68
67
  "@ethersproject/bignumber": "^5.8.0",
@@ -73,14 +72,6 @@
73
72
  "@lingui/react": "^4.14.1",
74
73
  "@reduxjs/toolkit": "^1.6.1",
75
74
  "@reown/appkit": "^1.7.5",
76
- "@reown/appkit-adapter-bitcoin": "^1.7.5",
77
- "@reown/appkit-adapter-ethers5": "^1.7.5",
78
- "@reown/appkit-adapter-solana": "^1.7.5",
79
- "@reown/appkit-common": "^1.7.5",
80
- "@reown/appkit-experimental": "^1.7.5",
81
- "@reown/appkit-utils": "^1.7.5",
82
- "@semantic-release/changelog": "^6.0.1",
83
- "@semantic-release/git": "^10.0.1",
84
75
  "@tanstack/react-query": "^5.74.3",
85
76
  "@uniswap/sdk-core": "^7.7.1",
86
77
  "@uniswap/v2-sdk": "^4.15.2",
@@ -99,7 +90,9 @@
99
90
  "lodash": "^4.17.21",
100
91
  "make-plural": "^7.0.0",
101
92
  "moment": "^2.29.4",
93
+ "react": "^18.0.0",
102
94
  "react-datetime": "^3.1.1",
95
+ "react-dom": "^18.0.0",
103
96
  "react-icons": "^5.0.1",
104
97
  "react-infinite-scroller": "^1.2.6",
105
98
  "react-konva": "^18.2.10",
@@ -107,11 +100,8 @@
107
100
  "react-window": "^1.8.8",
108
101
  "recharts": "^2.12.7",
109
102
  "rmc-date-picker": "^6.0.10",
110
- "semantic-release": "^19.0.2",
111
103
  "tiny-invariant": "^1.1.0",
112
- "zustand": "4.4.0",
113
- "react": "^18.0.0",
114
- "react-dom": "^18.0.0"
104
+ "zustand": "4.4.0"
115
105
  },
116
106
  "peerDependencies": {
117
107
  "@babel/runtime": ">=7.17.0"
@@ -138,11 +128,11 @@
138
128
  "@types/identicon.js": "^2.3.1",
139
129
  "@types/jest": "^29.0.3",
140
130
  "@types/lodash": "^4.14.184",
131
+ "@types/react": "^18.0.0",
132
+ "@types/react-dom": "^18.0.0",
141
133
  "@types/react-infinite-scroller": "^1.2.5",
142
134
  "@types/react-transition-group": "^4.4.11",
143
135
  "@types/react-window": "^1.8.5",
144
- "@types/react": "^18.0.0",
145
- "@types/react-dom": "^18.0.0",
146
136
  "babel-plugin-macros": "^3.1.0",
147
137
  "babel-runtime": "^6.26.0",
148
138
  "dotenv": "^16.0.2",
@@ -154,6 +144,7 @@
154
144
  "rollup": "^4.18.0",
155
145
  "rollup-plugin-clear": "^2.0.7",
156
146
  "rollup-plugin-import-css": "^3.5.5",
147
+ "rollup-plugin-visualizer": "^5.14.0",
157
148
  "svg-jest": "^1.0.1",
158
149
  "ts-jest": "^29.0.1",
159
150
  "typescript": "^5.6.3"
@@ -1 +0,0 @@
1
- import{i18n as e}from"@lingui/core";import t from"bignumber.js";import{f as i}from"./index-DjAOs16s.js";function o(t,i){switch(t){case"depth-chart.tips.buy":return e._({id:"q+Q952",message:"Users pay {0} {1} and receive {2} {3}\\nPrice {4} ({5}%)",values:{0:i.amountText,1:i.baseTokenSymbol,2:i.oppositeAmountText,3:i.quoteTokenSymbol,4:i.priceText,5:i.slippageText}});case"depth-chart.tips.mid-price":return e._({id:"cnbRVW",message:"Initial Price {0} {1} = {2} {3}",values:{0:i.amountText,1:i.baseTokenSymbol,2:i.oppositeAmountText,3:i.quoteTokenSymbol}});case"depth-chart.tips.sell":return e._({id:"q+Q952",message:"Users pay {0} {1} and receive {2} {3}\\nPrice {4} ({5}%)",values:{0:i.oppositeAmountText,1:i.quoteTokenSymbol,2:i.amountText,3:i.baseTokenSymbol,4:i.priceText,5:i.slippageText}});case"pool.chart.buy-amount":return e._({id:"TaScUS",message:"Users sell {0} amount:",values:{0:i.symbol}});case"pool.chart.price-impact":return e._({id:"I0LXan",message:"Price Impact: {0}",values:{0:i.amount}});case"pool.chart.sell-amount":return e._({id:"F2vX4t",message:"Users buy {0} amount:",values:{0:i.symbol}});case"pool.create.disabled-token-amount":return e._({id:"5QDjef",message:"The token amount is calculated by initial price."});case"pool.create.set-pool.emulator.title":return e._({id:"FQfStS",message:"Emulator"});case"pool.create.set-pool.emulator.title.question":return e._({id:"9D2g7k",message:"The liquidity of DODO is continuous, which is different from the discrete liquidity of UniV3. The ticks shown in the illustration are for demonstration purposes only."});case"pool.chart.liquidity-chart-tip":return e._({id:"YvXHDU",message:"The area of the chart indicates the buy/sell volume of {0} that can be carried by the market when the current price changes to the hover price.",values:{0:i.baseTokenSymbol}});case"pool.chart.liquidity-chart-buy":return e._({id:"TvH4Ym",message:"Bought {0} {1}, price in the pool decreased to {2}",values:{0:i.amount,1:i.symbol,2:i.price}});case"pool.chart.liquidity-chart-sell":return e._({id:"0O1wzf",message:"Traders sold ‪{0}‬ {1}, price in the pool increased to {2}",values:{0:i.amount,1:i.symbol,2:i.price}});default:throw new Error(`Unknown key ${t}`)}}const l=12,n=18;function s(e){let t=e.toLowerCase();if(t&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)){if(4===t.length){let e="#";for(let i=1;i<4;i+=1)e+=t.slice(i,i+1).concat(t.slice(i,i+1));t=e}const e=[];for(let i=1;i<7;i+=2)e.push(parseInt(`0x${t.slice(i,i+2)}`));return e.join(",")}return t}function r({val:e,model:i}){let o=e;if(e.isNaN())return{side:"no-one",vert:new t(0),base:new t(0),quote:new t(0)};i.Q0.eq(0)&&e.lt(i.i)&&(o=i.i),i.B0.eq(0)&&e.gt(i.i)&&(o=i.i);const l=i.getPriceDepth(o),n=l.baseAmount,s=l.quoteAmount,{isBuy:r}=l;return{side:r?"ask":"bid",vert:r?n:s,base:n,quote:s}}function a({midPrice:e,q:i,q0:o,pmmModel:l}){let n=t.maximum(i,o,l.B.multipliedBy(e));return n.isNaN()&&(n=new t(10)),n.eq(0)&&(n=new t(1)),{buyBaseVert:n.multipliedBy(1.2),sellBaseVert:n.div(e).multipliedBy(1.2)}}function u(e,i=1){return new t(i).div(e/2)}function m({tooltip:e,x:o,chartWidth:l,chartHeight:n,buyBaseVert:a,sellBaseVert:m,pmmModel:p,midPrice:d,baseTokenSymbol:c,quoteTokenSymbol:h,t:b,baseMinAndZoomMultiples:f,isHover:y,color:g,leftColor:T,rightColor:x}){const{zoomMultiples:v,baseMin:w}=f,k=u(l,v),M=a.div(n),B=m.div(n),q=2*v,S=w.multipliedBy(10**k.multipliedBy(o).toNumber());let N=new t(Math.log(d.div(w).toNumber())/Math.log(10));N=t.minimum(q,N),N=t.maximum(0,N);const P=N.div(k),X=r({val:S,model:p,midPrice:d});if(X.vert.isNaN())return;const A=S.lt(d);let _=n-X.vert.div(M).toNumber();A||(_=n-X.vert.div(B).toNumber());const z=i(S),O=i(X.vert),$=S.minus(d).abs().div(d).multipliedBy(100).toFixed(2),D=P.toNumber(),H=e.findOne("#toolTipVertLine"),L=e.findOne("#toolTipHoriLine"),U=e.findOne("#joinCircle"),V=e.findOne("#toolTip"),j=e.findOne("#priceTextLabel"),W=e.findOne("#slippageTextLabel");if(!V)return;V.x(o),V.y(_-5-6);const Y=V.getText(),F=V.getTag();let I="ask"===X.side?i(X.quote):i(X.base);const Q=p.k.lte(0);Q&&(I=O);const C=i(d),Z={amountText:O,baseTokenSymbol:c,oppositeAmountText:I,quoteTokenSymbol:h,priceText:Q?C:z,slippageText:`${A?"-":"+"}${$}`};if(P.minus(4).lte(o)&&P.plus(2).gte(o)&&y)Y.text(b("depth-chart.tips.mid-price",{amountText:1,baseTokenSymbol:c,oppositeAmountText:C,quoteTokenSymbol:h})),V.x(D),V.y(n/2),null==H||H.hide(),null==L||L.hide(),null==U||U.hide(),null==j||j.hide(),null==W||W.hide();else{Y.text(A?b("depth-chart.tips.buy",{amountText:I,baseTokenSymbol:c,oppositeAmountText:O,quoteTokenSymbol:h,priceText:Q?C:z,slippageText:`${A?"-":"+"}${$}`}):b("depth-chart.tips.sell",Z));const e=g||(A?"#55f6db":"#ff4f73"),t=A?T||"#55f6db":x||"#ff4f73";Y.fill(e),V.width()/2>o?(F.pointerDirection("left"),F.pointerHeight(15),F.pointerWidth(8),V.offsetX(-11),V.offsetY(-11)):V.width()/2+o>l?(F.pointerDirection("right"),F.pointerHeight(15),F.pointerWidth(8),V.offsetX(11),V.offsetY(-11)):(F.pointerDirection("down"),F.pointerHeight(8),F.pointerWidth(15),V.offsetX(0),V.offsetY(0)),null==H||H.points([o,n,o,_]),null==H||H.stroke(t),null==L||L.points(A?[o,_,D,_]:[D,_,o,_]),null==L||L.stroke(t),null==U||U.x(o),null==U||U.y(_),null==U||U.fill(A?T||"rgb(86, 246, 218)":x||"#FF5072"),null==U||U.stroke(A?T?`rgba(${s(T)}, 0.4)`:"rgba(86, 246, 218, 0.3)":x?`rgba(${s(x)}, 0.4)`:"rgba(255, 80, 114, 0.3)"),j&&(j.x(o),j.y(n),j.offsetX(j.width()/2),j.x()-j.width()/2<0?j.x(j.width()/2):j.x()+j.width()/2>l?j.x(l-j.width()/2):j.x(o));const i=null==j?void 0:j.findOne("#priceTextLabel-text");i&&(i.fill(e),i.text(z)),W&&(W.x(A?o+(D-o)/2:o-(o-D)/2),W.y(_),W.offsetY(W.height()/2),W.offsetX(W.width()/2));const r=null==W?void 0:W.findOne("#slippageTextLabel-text");r&&(r.fill(e),r.text(`${A?"-":"+"}${$}%`)),null==H||H.show(),null==L||L.show(),null==U||U.show(),null==j||j.show(),null==W||W.show()}e.show()}function p({dragDistance:e,prevBaseMin:i,chartWidth:o,zoomMultiples:l}){const n=u(o,l);return e>0?i.multipliedBy(1-n.multipliedBy(e).toNumber()):i.multipliedBy(10**n.multipliedBy(new t(e).abs()).plus(0).toNumber())}const d=1;function c({prevZoomMultiples:e,zoomIn:t}){return!t&&e<=.1?e:t?e+.1:e-.1}function h({type:e,targetPrice:i,midPrice:o,width:l}){if("sell"===e){return{zoomMultiples:new t(Math.log10(i.div(o).toNumber())).minus(0).div(3/4).abs(),targetX:l/2*(3/4)+l/2}}const n=new t(Math.log10(i.div(o).toNumber()));return{zoomMultiples:new t(0).minus(n).div(3/4).abs(),targetX:l/2*(1/4)}}function b({currentBaseMinAndZoomMultiples:e,targetPrice:i,midPrice:o,width:l}){const{baseMin:n,zoomMultiples:s}=e,r=new t(Math.log10(n.div(o).toNumber())),a=r.plus(2*s),u=new t(o.multipliedBy(10**a.toNumber()));if(i.gte(n)&&i.lte(u)){return{isSkip:!0,targetX:new t(Math.log10(i.div(o).toNumber())).minus(r).div(2*s).multipliedBy(l).toNumber(),baseMin:new t(0),zoomMultiples:1}}const m=new t(o.multipliedBy(.1)),p=new t(o.multipliedBy(10));if(i.gte(m)&&i.lte(p)){return{isSkip:!1,targetX:new t(Math.log10(i.div(o).toNumber())).minus(-1).div(2).multipliedBy(l).toNumber(),baseMin:m,zoomMultiples:1}}return{isSkip:!1,targetX:-1,baseMin:new t(0),zoomMultiples:1}}function f({midPrice:e,zoomMultiples:t}){return e.multipliedBy(10**-t)}export{a,p as b,u as c,c as d,r as e,f,o as g,n as h,d as i,b as j,h as k,l,s as m,m as u};
@@ -1 +0,0 @@
1
- "use strict";var e=require("@lingui/core"),t=require("bignumber.js"),i=require("./index-CEN1BcL7.cjs");function o(e){let t=e.toLowerCase();if(t&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)){if(4===t.length){let e="#";for(let i=1;i<4;i+=1)e+=t.slice(i,i+1).concat(t.slice(i,i+1));t=e}const e=[];for(let i=1;i<7;i+=2)e.push(parseInt(`0x${t.slice(i,i+2)}`));return e.join(",")}return t}function r({val:e,model:i}){let o=e;if(e.isNaN())return{side:"no-one",vert:new t(0),base:new t(0),quote:new t(0)};i.Q0.eq(0)&&e.lt(i.i)&&(o=i.i),i.B0.eq(0)&&e.gt(i.i)&&(o=i.i);const r=i.getPriceDepth(o),n=r.baseAmount,l=r.quoteAmount,{isBuy:s}=r;return{side:s?"ask":"bid",vert:s?n:l,base:n,quote:l}}function n(e,i=1){return new t(i).div(e/2)}exports.baseZoomMultiples=1,exports.beforePriceImpactEffect=function({currentBaseMinAndZoomMultiples:e,targetPrice:i,midPrice:o,width:r}){const{baseMin:n,zoomMultiples:l}=e,s=new t(Math.log10(n.div(o).toNumber())),u=s.plus(2*l),a=new t(o.multipliedBy(10**u.toNumber()));if(i.gte(n)&&i.lte(a)){return{isSkip:!0,targetX:new t(Math.log10(i.div(o).toNumber())).minus(s).div(2*l).multipliedBy(r).toNumber(),baseMin:new t(0),zoomMultiples:1}}const m=new t(o.multipliedBy(.1)),p=new t(o.multipliedBy(10));if(i.gte(m)&&i.lte(p)){return{isSkip:!1,targetX:new t(Math.log10(i.div(o).toNumber())).minus(-1).div(2).multipliedBy(r).toNumber(),baseMin:m,zoomMultiples:1}}return{isSkip:!1,targetX:-1,baseMin:new t(0),zoomMultiples:1}},exports.chartOffsetYBCToolTip=18,exports.chartT=function(t,i){switch(t){case"depth-chart.tips.buy":return e.i18n._({id:"q+Q952",message:"Users pay {0} {1} and receive {2} {3}\\nPrice {4} ({5}%)",values:{0:i.amountText,1:i.baseTokenSymbol,2:i.oppositeAmountText,3:i.quoteTokenSymbol,4:i.priceText,5:i.slippageText}});case"depth-chart.tips.mid-price":return e.i18n._({id:"cnbRVW",message:"Initial Price {0} {1} = {2} {3}",values:{0:i.amountText,1:i.baseTokenSymbol,2:i.oppositeAmountText,3:i.quoteTokenSymbol}});case"depth-chart.tips.sell":return e.i18n._({id:"q+Q952",message:"Users pay {0} {1} and receive {2} {3}\\nPrice {4} ({5}%)",values:{0:i.oppositeAmountText,1:i.quoteTokenSymbol,2:i.amountText,3:i.baseTokenSymbol,4:i.priceText,5:i.slippageText}});case"pool.chart.buy-amount":return e.i18n._({id:"TaScUS",message:"Users sell {0} amount:",values:{0:i.symbol}});case"pool.chart.price-impact":return e.i18n._({id:"I0LXan",message:"Price Impact: {0}",values:{0:i.amount}});case"pool.chart.sell-amount":return e.i18n._({id:"F2vX4t",message:"Users buy {0} amount:",values:{0:i.symbol}});case"pool.create.disabled-token-amount":return e.i18n._({id:"5QDjef",message:"The token amount is calculated by initial price."});case"pool.create.set-pool.emulator.title":return e.i18n._({id:"FQfStS",message:"Emulator"});case"pool.create.set-pool.emulator.title.question":return e.i18n._({id:"9D2g7k",message:"The liquidity of DODO is continuous, which is different from the discrete liquidity of UniV3. The ticks shown in the illustration are for demonstration purposes only."});case"pool.chart.liquidity-chart-tip":return e.i18n._({id:"YvXHDU",message:"The area of the chart indicates the buy/sell volume of {0} that can be carried by the market when the current price changes to the hover price.",values:{0:i.baseTokenSymbol}});case"pool.chart.liquidity-chart-buy":return e.i18n._({id:"TvH4Ym",message:"Bought {0} {1}, price in the pool decreased to {2}",values:{0:i.amount,1:i.symbol,2:i.price}});case"pool.chart.liquidity-chart-sell":return e.i18n._({id:"0O1wzf",message:"Traders sold ‪{0}‬ {1}, price in the pool increased to {2}",values:{0:i.amount,1:i.symbol,2:i.price}});default:throw new Error(`Unknown key ${t}`)}},exports.colorRgb=o,exports.computeBaseAfterZoom=function({midPrice:e,zoomMultiples:t}){return e.multipliedBy(10**-t)},exports.computeBaseMinByDistance=function({dragDistance:e,prevBaseMin:i,chartWidth:o,zoomMultiples:r}){const l=n(o,r);return e>0?i.multipliedBy(1-l.multipliedBy(e).toNumber()):i.multipliedBy(10**l.multipliedBy(new t(e).abs()).plus(0).toNumber())},exports.computeBaseVert=function({midPrice:e,q:i,q0:o,pmmModel:r}){let n=t.maximum(i,o,r.B.multipliedBy(e));return n.isNaN()&&(n=new t(10)),n.eq(0)&&(n=new t(1)),{buyBaseVert:n.multipliedBy(1.2),sellBaseVert:n.div(e).multipliedBy(1.2)}},exports.computeTargetXByTargetPrice=function({type:e,targetPrice:i,midPrice:o,width:r}){if("sell"===e){return{zoomMultiples:new t(Math.log10(i.div(o).toNumber())).minus(0).div(3/4).abs(),targetX:r/2*(3/4)+r/2}}const n=new t(Math.log10(i.div(o).toNumber()));return{zoomMultiples:new t(0).minus(n).div(3/4).abs(),targetX:r/2*(1/4)}},exports.computeXPortion=n,exports.computeZoomMultiplesWhenZoom=function({prevZoomMultiples:e,zoomIn:t}){return!t&&e<=.1?e:t?e+.1:e-.1},exports.evalPoint=r,exports.labelPadding=12,exports.updateTooltip=function({tooltip:e,x:l,chartWidth:s,chartHeight:u,buyBaseVert:a,sellBaseVert:m,pmmModel:p,midPrice:c,baseTokenSymbol:d,quoteTokenSymbol:h,t:b,baseMinAndZoomMultiples:f,isHover:g,color:y,leftColor:x,rightColor:T}){const{zoomMultiples:v,baseMin:w}=f,B=n(s,v),M=a.div(u),k=m.div(u),q=2*v,S=w.multipliedBy(10**B.multipliedBy(l).toNumber());let N=new t(Math.log(c.div(w).toNumber())/Math.log(10));N=t.minimum(q,N),N=t.maximum(0,N);const P=N.div(B),X=r({val:S,model:p,midPrice:c});if(X.vert.isNaN())return;const A=S.lt(c);let O=u-X.vert.div(M).toNumber();A||(O=u-X.vert.div(k).toNumber());const _=i.formatShortNumber(S),z=i.formatShortNumber(X.vert),D=S.minus(c).abs().div(c).multipliedBy(100).toFixed(2),$=P.toNumber(),H=e.findOne("#toolTipVertLine"),L=e.findOne("#toolTipHoriLine"),U=e.findOne("#joinCircle"),V=e.findOne("#toolTip"),W=e.findOne("#priceTextLabel"),Y=e.findOne("#slippageTextLabel");if(!V)return;V.x(l),V.y(O-5-6);const Z=V.getText(),I=V.getTag();let j="ask"===X.side?i.formatShortNumber(X.quote):i.formatShortNumber(X.base);const C=p.k.lte(0);C&&(j=z);const F=i.formatShortNumber(c),Q={amountText:z,baseTokenSymbol:d,oppositeAmountText:j,quoteTokenSymbol:h,priceText:C?F:_,slippageText:`${A?"-":"+"}${D}`};if(P.minus(4).lte(l)&&P.plus(2).gte(l)&&g)Z.text(b("depth-chart.tips.mid-price",{amountText:1,baseTokenSymbol:d,oppositeAmountText:F,quoteTokenSymbol:h})),V.x($),V.y(u/2),null==H||H.hide(),null==L||L.hide(),null==U||U.hide(),null==W||W.hide(),null==Y||Y.hide();else{Z.text(A?b("depth-chart.tips.buy",{amountText:j,baseTokenSymbol:d,oppositeAmountText:z,quoteTokenSymbol:h,priceText:C?F:_,slippageText:`${A?"-":"+"}${D}`}):b("depth-chart.tips.sell",Q));const e=y||(A?"#55f6db":"#ff4f73"),t=A?x||"#55f6db":T||"#ff4f73";Z.fill(e),V.width()/2>l?(I.pointerDirection("left"),I.pointerHeight(15),I.pointerWidth(8),V.offsetX(-11),V.offsetY(-11)):V.width()/2+l>s?(I.pointerDirection("right"),I.pointerHeight(15),I.pointerWidth(8),V.offsetX(11),V.offsetY(-11)):(I.pointerDirection("down"),I.pointerHeight(8),I.pointerWidth(15),V.offsetX(0),V.offsetY(0)),null==H||H.points([l,u,l,O]),null==H||H.stroke(t),null==L||L.points(A?[l,O,$,O]:[$,O,l,O]),null==L||L.stroke(t),null==U||U.x(l),null==U||U.y(O),null==U||U.fill(A?x||"rgb(86, 246, 218)":T||"#FF5072"),null==U||U.stroke(A?x?`rgba(${o(x)}, 0.4)`:"rgba(86, 246, 218, 0.3)":T?`rgba(${o(T)}, 0.4)`:"rgba(255, 80, 114, 0.3)"),W&&(W.x(l),W.y(u),W.offsetX(W.width()/2),W.x()-W.width()/2<0?W.x(W.width()/2):W.x()+W.width()/2>s?W.x(s-W.width()/2):W.x(l));const i=null==W?void 0:W.findOne("#priceTextLabel-text");i&&(i.fill(e),i.text(_)),Y&&(Y.x(A?l+($-l)/2:l-(l-$)/2),Y.y(O),Y.offsetY(Y.height()/2),Y.offsetX(Y.width()/2));const r=null==Y?void 0:Y.findOne("#slippageTextLabel-text");r&&(r.fill(e),r.text(`${A?"-":"+"}${D}%`)),null==H||H.show(),null==L||L.show(),null==U||U.show(),null==W||W.show(),null==Y||Y.show()}e.show()};
@@ -1,12 +0,0 @@
1
- import t from"@emotion/styled";import{merge as i}from"lodash";import{useMemo as e,useRef as n}from"react";import{l as r,g as o,m as l}from"./helper-Bh6_7gAw.js";import{Line as a,Text as s,Stage as d,Layer as m,Rect as p,Circle as g,Label as u,Tag as c}from"react-konva";import{j as h,f}from"./index-DjAOs16s.js";import x from"bignumber.js";import{solveQuadraticFunctionForTarget as L,PMMState as w,PMMHelper as b}from"@dodoex/api";import"@lingui/core";import"@lingui/react";import"@dodoex/components";import"@web3-react/core";import"axios";import"@ethersproject/bignumber";import"zustand";import"@dodoex/dodo-contract-request";import"@tanstack/react-query";import"@reown/appkit-utils";import"@reown/appkit-common";import"os";import"events";import"fs";import"util";import"path";import"worker_threads";import"module";import"url";import"buffer";import"assert";import"stream";import"http";import"punycode";import"https";import"zlib";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@ethersproject/contracts";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@ethersproject/units";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";const A=t.div`
2
- height: 100%;
3
- position: relative;
4
- `,y=t.div`
5
- text-align: center;
6
- margin-top: 17.1px;
7
- margin-bottom: 88.41px;
8
- color: #606066;
9
- font-size: 12px;
10
- line-height: 17px;
11
- font-weight: 400;
12
- `,N=36;function P({maxHeight:t,gridAreaHeight:i,value:e}){const n=new x(i).minus(N),r=n.div(t);return n.minus(e.multipliedBy(r)).plus(N).toNumber()}function v({targetPrice:t,areaPoints:i,isLeft:e}){for(let n=0;n<i.length;n++){const r=i[n],o=n<i.length-1?i[n+1]:null;if(!o)return{targetAreaStatPoint:r,targetAreaStatPoints:i};if(e){if(t.lte(r.middlePrice)&&t.gte(o.middlePrice))return{targetAreaStatPoint:r,targetAreaStatPoints:i.slice(0,n+1)}}else if(t.gte(r.middlePrice)&&t.lte(o.middlePrice))return{targetAreaStatPoint:r,targetAreaStatPoints:i.slice(0,n+1)}}return{targetAreaStatPoint:null,targetAreaStatPoints:[]}}function j({x:t,width:i,minXLN10:e,maxXLN10:n}){const r=new x(t).div(i).multipliedBy(n.minus(e)).plus(e);return new x(10**r.toNumber())}function H({width:t,targetLN10:i,minXLN10:e,maxXLN10:n}){return i.minus(e).div(n.minus(e)).multipliedBy(t).toNumber()}function S({target:t}){return new x(Math.log10(t.toNumber()))}const k="rgba(38, 39, 41, 0.3)";function X({width:t,height:A,params:y,baseTokenSymbol:N,quoteTokenSymbol:X,colorMap:B}){const{maxLeftHeight:C,maxRightHeight:F,leftStatAreaPoints:M,rightStatAreaPoints:W,minXLN10:T,maxXLN10:q}=function({params:t}){return e((()=>{const i=new x(t.b),e=new x(t.q);let n=new x(t.b0);const r=new x(t.q0),o=new x(t.i),l=new x(t.k),{R:a}=t;1===a&&n.eq(i)&&(n=L(i,e.minus(r),new x(1).div(o),l));const s=new w({i:o,K:l,B:i,Q:e,B0:n,Q0:r,R:a,mtFeeRate:new x(0),lpFeeRate:new x(0)}),d=new b,m=new x(s.B),p=[],g=[];let u=new x(0),c=new x(0);const h=d.GetMidPrice(s),f=e.gt(0)?i.div(e):new x(1);for(let t=0;t<=250;t++){let i=m.multipliedBy(t/100).multipliedBy(h.multipliedBy(f).multipliedBy(4));0===t&&(i=m.multipliedBy(1e-11));const e=null==d?void 0:d.QuerySellBase(i,s);if(e.isNaN()||!e.gt(0))p.push({giveAmount:i,getAmount:new x(0),price:new x(0)});else{const t=e.div(i);p.push({giveAmount:i,getAmount:e,price:t})}}for(let t=0;t<=250;t++){let i=m.multipliedBy(t/100).multipliedBy(h.multipliedBy(4));0===t&&(i=m.multipliedBy(1e-11));const e=null==d?void 0:d.QuerySellQuote(i,s);if(e.isNaN()||!e.gt(0))g.push({giveAmount:i,getAmount:new x(0),price:new x(0)});else{const t=i.dividedBy(e);g.push({giveAmount:i,getAmount:e,price:t})}}if(p.length<2&&g.length<2)return{leftStatAreaPoints:[],rightStatAreaPoints:[],maxLeftHeight:new x(10).multipliedBy(1.2),maxRightHeight:new x(10).multipliedBy(1.2),middlePriceLN10:new x(0),minXLN10:new x(-1),maxXLN10:new x(1)};const A=[];for(let t=1;t<p.length;t++){const i=p[t],{giveAmount:e,getAmount:n,price:r}=i,o=p[t-1];if(!r.isNaN()&&r.gt(0)&&o){const i=r.minus(o.price).abs(),l=e.minus(o.giveAmount).abs(),a=n.minus(o.getAmount).abs().multipliedBy(l);1===t&&A.push({area:n,price:r,middlePrice:r.plus(i.div(1.1)),rectangleHeight:a.plus(a.multipliedBy(.03))}),A.push({area:n,price:r,middlePrice:r.plus(i.div(2)),rectangleHeight:a}),u=x.max(a,u)}}const y=[];for(let t=1;t<g.length;t++){const i=g[t],{giveAmount:e,getAmount:n,price:r}=i,o=g[t-1],l=o.price,a=o.giveAmount,s=o.getAmount;if(!r.isNaN()&&r.gt(0)&&o){const i=r.minus(l).abs(),o=e.minus(a).abs(),d=n.minus(s).abs().multipliedBy(o);1===t&&y.push({area:n,price:r,middlePrice:r.minus(i.div(1.1)),rectangleHeight:d.plus(d.multipliedBy(.03))}),y.push({area:n,price:r,middlePrice:r.minus(i.div(2)),rectangleHeight:d}),c=x.max(d,c)}}const N=p.length>0?p[p.length-1]:g[0],P=g.length>0?g[0]:p[0],v=g.length>0?g[g.length-1]:p[0],j=N.price,H=v.price,S=P.price,k=new x(Math.log10(S.toNumber()));let X=j.gt(0)?new x(Math.log10(j.toNumber())):new x(-Math.log10(H.toNumber())),B=H.gt(0)?new x(Math.log10(H.toNumber())):new x(-Math.log10(j.toNumber()));const C=x.max(k.minus(X).abs(),B.minus(k).abs());return X=k.minus(C),B=k.plus(C),{leftStatAreaPoints:A,rightStatAreaPoints:y,maxLeftHeight:u.multipliedBy(1.2),maxRightHeight:c.multipliedBy(1.2),minXLN10:X,maxXLN10:B,middlePriceLN10:k}}),[t])}({params:y}),J=A-30.13,O=n(null),R=i({grid:"#2A2A2D",midPriceLine:"#313335",leftBg:[0,k,1,"#31645d"],leftLine:"#55f6db",leftColor:"",rightBg:[0,k,1,"#67303d"],rightLine:"#ff4f73",rightColor:"",tooltipBg:"#121212",tooltipColor:void 0,textColor:"#606066"},B),z=i=>{var e;const{current:n}=O,r=i.target;if(r&&n){const i=null===(e=r.getStage())||void 0===e?void 0:e.getPointerPosition();if(i){const{x:e}=i,r=t/2;if(Math.abs(e-r)<=2)return;if(e<=2||t-e<=2)return;const a=j({x:e,width:t,minXLN10:T,maxXLN10:q});let s=null,d=[];const m=e<r;if(m){const t=v({areaPoints:M,targetPrice:a,isLeft:m});s=t.targetAreaStatPoint,d=t.targetAreaStatPoints}else{const t=v({areaPoints:W,targetPrice:a,isLeft:m});s=t.targetAreaStatPoint,d=t.targetAreaStatPoints}if(s){const i=S({target:s.middlePrice}),r=H({minXLN10:T,maxXLN10:q,width:t,targetLN10:i}),a=P({maxHeight:m?C:F,gridAreaHeight:J,value:s.rectangleHeight}),p=n.findOne("#tooltip"),g=n.findOne("#toolTipVertLine"),u=n.findOne("#joinCircle"),c=n.findOne("#tooltip-Text"),h=n.findOne("#tooltip-tag"),x=n.findOne("#priceTextLabel"),L=null==x?void 0:x.findOne("#priceTextLabel-text"),w=n.findOne("#area");null==p||p.position({x:r,y:a-5-6}),null==c||c.fill(R.tooltipColor||(m?"#00FAD9":"#FF5072")),null==c||c.text(m?o("pool.chart.liquidity-chart-buy",{amount:f(s.area),symbol:N,price:f(s.price)}):o("pool.chart.liquidity-chart-sell",{amount:f(s.area),symbol:X,price:f(s.price)})),p&&h&&(p.width()/2>e?(h.pointerDirection("left"),h.pointerHeight(15),h.pointerWidth(8),p.offsetX(-11),p.offsetY(-11)):p.width()/2+e>t?(h.pointerDirection("right"),h.pointerHeight(15),h.pointerWidth(8),p.offsetX(11),p.offsetY(-11)):(h.pointerDirection("down"),h.pointerHeight(8),h.pointerWidth(15),p.offsetX(0),p.offsetY(0))),null==g||g.points([r,J,r,a]),null==g||g.stroke(m?"#55f6db":"#ff4f73");let b=m?"rgb(86, 246, 218)":"#FF5072",A=m?"rgba(86, 246, 218, 0.3)":"rgba(255, 80, 114, 0.3)";R.leftLine&&R.rightLine&&(b=m?R.leftLine:R.rightLine,A=m?`rgba(${l(R.leftLine)}, 0.4)`:`rgba(${l(R.rightLine)}, 0.4)`),u&&(u.x(r),u.y(a),u.fill(b),u.stroke(A)),x&&(x.x(r),x.y(J+8.08+1),x.offsetX(x.width()/2),x.x()-x.width()/2<0?x.x(x.width()/2):x.x()+x.width()/2>t?x.x(t-x.width()/2):x.x(e)),L&&(L.fill(R.tooltipColor||(m?"#00FAD9":"#FF5072")),L.text(f(s.price)));const y=[];for(const i of d){const{middlePrice:e,rectangleHeight:n}=i,r=S({target:e}),o=H({minXLN10:T,maxXLN10:q,width:t,targetLN10:r}),l=P({maxHeight:m?C:F,gridAreaHeight:J,value:n});y.push(o,l+1)}const v=y.slice(),[j,k]=v;m?(v.push(r,a),v.push(r,J),v.push(j,J),v.push(j,k)):(v.unshift(j,J),v.unshift(r,J),v.unshift(r,a)),w&&(w.points(v),w.fill(m?R.leftLine||"#2c5b56":R.rightLine||"#7b3a48")),n.show()}}}},D=function({gridAreaHeight:t,gridAreaWidth:i,horizontalLineCount:n,verticalLineCount:r,color:o="#2A2A2D"}){return e((()=>{const e=[],l=t/(n+1),s=[],d=i/(r+1);for(let t=0;t<n;t++){const n=l*(t+1);e.push([0,n,i,n])}for(let i=0;i<r;i++){const e=d*(i+1);s.push([e,0,e,t])}return h.jsxs(h.Fragment,{children:[e.map(((t,i)=>h.jsx(a,{points:t,stroke:o,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1},i))),s.map(((t,i)=>h.jsx(a,{points:t,stroke:o,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1},i)))]})}),[t,i,n,r,o])}({gridAreaHeight:J,gridAreaWidth:t,horizontalLineCount:9,verticalLineCount:7,color:R.grid}),G=function({minXLN10:t,maxXLN10:i,labelCount:n,gridAreaHeight:r,gridAreaWidth:o,color:l="#606066"}){return e((()=>{const e=o/(n+1),d=[],m=[];for(let l=0;l<n;l++){const n=e/2+e*l;d.push({x:n,y:r+10.08+1,text:f(j({x:e*(l+1),width:o,minXLN10:t,maxXLN10:i}))});const a=e*(l+1);m.push([a,r+1,a,r+4+1])}return h.jsxs(h.Fragment,{children:[d.map(((t,i)=>h.jsx(s,{x:t.x,y:t.y,text:t.text,fontSize:14,fontFamily:"Manrope",fill:l,width:e,padding:0,align:"center",verticalAlign:"bottom",listening:!1},i))),m.map(((t,i)=>h.jsx(a,{points:t,stroke:l,strokeWidth:1,lineCap:"butt",lineJoin:"miter",tension:1,listening:!1},i)))]})}),[t,i,r,o,n])}({gridAreaHeight:J,gridAreaWidth:t,labelCount:7,minXLN10:T,maxXLN10:q,color:R.textColor}),Q=function({gridAreaHeight:t,gridAreaWidth:i,color:n="#606066"}){return e((()=>{const e=i/2;return h.jsx(a,{points:[e,0,e,t-1],stroke:n,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1})}),[t,i,n])}({gridAreaHeight:J,gridAreaWidth:t,color:R.midPriceLine}),{leftLine:E,rightLine:Y}=function({leftStatAreaPoints:t,rightStatAreaPoints:i,minXLN10:n,maxXLN10:r,maxLeftHeight:o,maxRightHeight:l,gridAreaWidth:s,gridAreaHeight:d,colorMap:m}){return{leftLine:e((()=>{if(t.length<1)return h.jsx(h.Fragment,{});const i=[];let e=d;for(const l of t){const{middlePrice:t,rectangleHeight:a}=l,m=S({target:t}),p=H({minXLN10:n,maxXLN10:r,width:s,targetLN10:m}),g=P({maxHeight:o,gridAreaHeight:d,value:a});i.push(p,g),g<e&&(e=g)}const l=i.slice(),[p,g]=l,u=l[l.length-1],c=l[l.length-2];return l.push(c,u),l.push(c,d),l.push(p,d),l.push(p,g),h.jsxs(h.Fragment,{children:[h.jsx(a,{points:l,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:d},fillLinearGradientEndPoint:{x:0,y:e},fillLinearGradientColorStops:m.leftBg}),h.jsx(a,{points:i,stroke:m.leftLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]})}),[t,s,n,r,d,o]),rightLine:e((()=>{if(i.length<1)return h.jsx(h.Fragment,{});const t=[];let e=d;for(const o of i){const{middlePrice:i,rectangleHeight:a}=o,m=S({target:i}),p=H({minXLN10:n,maxXLN10:r,width:s,targetLN10:m}),g=P({maxHeight:l,gridAreaHeight:d,value:a});t.push(p,g),g<e&&(e=g)}const o=t.slice(),[p]=o;return o.unshift(p,d),o.unshift(s,d),h.jsxs(h.Fragment,{children:[h.jsx(a,{points:o,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:d},fillLinearGradientEndPoint:{x:0,y:e},fillLinearGradientColorStops:m.rightBg}),h.jsx(a,{points:t,stroke:m.rightLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]})}),[i,s,n,r,d,l])}}({leftStatAreaPoints:M,rightStatAreaPoints:W,minXLN10:T,maxXLN10:q,maxLeftHeight:C,maxRightHeight:F,gridAreaWidth:t,gridAreaHeight:J,colorMap:R});return h.jsxs(d,{width:t,height:A,onMouseMove:z,onMouseOver:z,onMouseEnter:z,onMouseOut:()=>{const{current:t}=O;t&&t.hide()},children:[h.jsxs(m,{children:[h.jsx(p,{x:0,y:0,width:t,height:J,stroke:R.grid,strokeWidth:1}),D,G,E,Y,Q]}),h.jsxs(m,{ref:O,visible:!1,children:[h.jsx(a,{points:[],closed:!0,listening:!1,lineCap:"round",lineJoin:"round",id:"area"}),h.jsx(a,{points:[],strokeWidth:1,stroke:"#ff4f73",lineJoin:"round",lineCap:"round",dash:[4,6],id:"toolTipVertLine"}),h.jsx(g,{x:0,y:0,radius:5,fill:"#FF5072",stroke:"rgba(255, 80, 114, 0.3)",strokeWidth:12,id:"joinCircle"}),h.jsxs(u,{listening:!1,x:0,y:0,id:"priceTextLabel",children:[h.jsx(c,{fill:R.tooltipBg,id:"priceTextLabel-tag"}),h.jsx(s,{text:"-",fontSize:14,fontFamily:"Manrope",padding:2,fill:"#FF5072",id:"priceTextLabel-text"})]}),h.jsxs(u,{listening:!1,id:"tooltip",children:[h.jsx(c,{fill:R.tooltipBg,pointerDirection:"down",pointerWidth:15,pointerHeight:8,cornerRadius:8,lineJoin:"round",id:"tooltip-tag"}),h.jsx(s,{text:"",fontFamily:"Manrope",fontSize:12,lineHeight:17/12,padding:r,fill:"#FF5072",id:"tooltip-Text"})]})]})]})}const B=({width:t=834,height:i=462,baseTokenSymbol:e,quoteTokenSymbol:n,pmmModel:r,pmmParams:l,midPrice:a,notShowTipText:s,colorMap:d})=>h.jsxs(A,{children:[void 0!==l&&void 0!==a&&void 0!==r&&void 0!==a&&h.jsx(X,{width:t,height:i,params:l,midPrice:a,pmmModel:r,baseTokenSymbol:e,quoteTokenSymbol:n,colorMap:d}),s?"":h.jsxs(y,{children:["* ",o("pool.chart.liquidity-chart-tip",{baseTokenSymbol:e})]})]});export{B as default};