@dodoex/widgets 3.0.0-beta.8 → 3.0.0-taiko.1

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.
Files changed (213) hide show
  1. package/dist/8de9a184d4ef0a11.svg +6 -0
  2. package/dist/cjs/8de9a184d4ef0a11.svg +6 -0
  3. package/dist/cjs/components/AddressWithLinkAndCopy.d.ts +2 -1
  4. package/dist/cjs/components/Confirm.d.ts +3 -2
  5. package/dist/cjs/components/Swap/components/Dialog.d.ts +1 -0
  6. package/dist/cjs/components/Swap/components/ReviewDialog.d.ts +2 -1
  7. package/dist/cjs/components/Swap/components/TokenCard/BalanceText.d.ts +2 -1
  8. package/dist/cjs/components/Swap/components/TokenCard/TokenLogoCollapse.d.ts +2 -1
  9. package/dist/cjs/components/Swap/components/TokenCard/index.d.ts +5 -2
  10. package/dist/cjs/components/Swap/index.d.ts +4 -1
  11. package/dist/cjs/components/TokenLogo.d.ts +3 -1
  12. package/dist/cjs/components/TokenLogoPair.d.ts +1 -1
  13. package/dist/cjs/components/UserOptionsProvider.d.ts +7 -0
  14. package/dist/cjs/components/Widget/index.d.ts +6 -3
  15. package/dist/cjs/components/WidgetContainer.d.ts +1 -0
  16. package/dist/cjs/constants/api.d.ts +1 -2
  17. package/dist/cjs/constants/chains.d.ts +2 -0
  18. package/dist/cjs/{helper-CJs0kk7i.cjs → helper-BqWucj2L.cjs} +1 -1
  19. package/dist/cjs/{helper-9v1xZPrA.cjs → helper-CA2Unt8z.cjs} +1 -1
  20. package/dist/cjs/{helper-B2-rZVIE.cjs → helper-Ddx6E78N.cjs} +1 -1
  21. package/dist/cjs/hooks/ConnectWallet/useCurrentChainId.d.ts +1 -2
  22. package/dist/cjs/hooks/ConnectWallet/useWalletInfo.d.ts +3 -2
  23. package/dist/cjs/hooks/Submission/types.d.ts +2 -0
  24. package/dist/cjs/hooks/Submission/useBalanceUpdateLoading.d.ts +3 -2
  25. package/dist/cjs/hooks/Submission/useExecution.d.ts +2 -1
  26. package/dist/cjs/hooks/Swap/index.d.ts +0 -1
  27. package/dist/cjs/hooks/Swap/useExecuteSwap.d.ts +2 -1
  28. package/dist/cjs/hooks/Swap/useFetchRoutePrice.d.ts +2 -1
  29. package/dist/cjs/hooks/Swap/useInitDefaultToken.d.ts +2 -1
  30. package/dist/cjs/hooks/Token/useTokenStatus.d.ts +2 -2
  31. package/dist/cjs/{index-CehtAWbq.cjs → index-Bxtcvdw2.cjs} +2 -2
  32. package/dist/cjs/{index-CjauijUe.cjs → index-ByeimHe5.cjs} +1 -1
  33. package/dist/cjs/index-C7nZV-Xv.cjs +53 -0
  34. package/dist/cjs/{index-B7_JblND.cjs → index-CV0irHwe.cjs} +2 -2
  35. package/dist/cjs/{index-2gIiWluA.cjs → index-CwlNU9tc.cjs} +1 -1
  36. package/dist/cjs/index-DQdaYoYP.cjs +53 -0
  37. package/dist/cjs/index-b5ToTyox.cjs +53 -0
  38. package/dist/cjs/{index-CwNxbpQG.cjs → index-eAzTiLuw.cjs} +2 -2
  39. package/dist/cjs/{index-DcTfgD7l.cjs → index-oVjjHgRx.cjs} +1 -1
  40. package/dist/cjs/index.cjs +1 -1
  41. package/dist/cjs/index.d.ts +9 -1
  42. package/dist/cjs/locales/en-US.js +1 -0
  43. package/dist/cjs/locales/zh-CN.js +1 -0
  44. package/dist/cjs/providers/GlobalConfigContext.d.ts +14 -3
  45. package/dist/cjs/router/index.d.ts +2 -1
  46. package/dist/cjs/store/actions/globals.d.ts +2 -2
  47. package/dist/cjs/store/actions/settings.d.ts +0 -2
  48. package/dist/cjs/store/actions/token.d.ts +0 -1
  49. package/dist/cjs/store/actions/wallet.d.ts +0 -1
  50. package/dist/cjs/store/reducers/globals.d.ts +1 -3
  51. package/dist/cjs/store/reducers/settings.d.ts +0 -3
  52. package/dist/cjs/store/reducers/token.d.ts +1 -3
  53. package/dist/cjs/store/reducers/wallet.d.ts +0 -1
  54. package/dist/cjs/store/selectors/globals.d.ts +1 -1
  55. package/dist/cjs/store/selectors/settings.d.ts +0 -1
  56. package/dist/cjs/store/selectors/token.d.ts +0 -3
  57. package/dist/cjs/store/selectors/wallet.d.ts +0 -1
  58. package/dist/cjs/widgets/MiningWidget/LpTokenMiningOperate/index.d.ts +1 -3
  59. package/dist/cjs/widgets/MiningWidget/OperateArea/AssociateMine.d.ts +2 -2
  60. package/dist/cjs/widgets/MiningWidget/OperateArea/StakeButton.d.ts +5 -1
  61. package/dist/cjs/widgets/MiningWidget/OperateArea/UnstakeButton.d.ts +5 -1
  62. package/dist/cjs/widgets/MiningWidget/OperateArea/Widgets.d.ts +3 -0
  63. package/dist/cjs/widgets/MiningWidget/OperateArea/index.d.ts +2 -3
  64. package/dist/cjs/widgets/MiningWidget/hooks/useClaimMiningSubmit.d.ts +2 -1
  65. package/dist/cjs/widgets/MiningWidget/hooks/useRewardListAmount.d.ts +1 -0
  66. package/dist/cjs/widgets/MiningWidget/hooks/useStakeMiningSubmit.d.ts +5 -1
  67. package/dist/cjs/widgets/MiningWidget/hooks/useUnstakeMiningSubmit.d.ts +5 -1
  68. package/dist/cjs/widgets/PoolWidget/PoolList/components/LiquidityTable.d.ts +5 -1
  69. package/dist/cjs/widgets/PoolWidget/PoolList/components/SkeletonTable.d.ts +4 -0
  70. package/dist/cjs/widgets/PoolWidget/PoolModify/index.d.ts +1 -1
  71. package/dist/cjs/widgets/PoolWidget/PoolOperate/PoolOperateInner.d.ts +2 -1
  72. package/dist/cjs/widgets/PoolWidget/PoolOperate/components/OperateBtn.d.ts +2 -1
  73. package/dist/cjs/widgets/PoolWidget/PoolOperate/components/SlippageSetting.d.ts +3 -6
  74. package/dist/cjs/widgets/PoolWidget/PoolOperate/index.d.ts +3 -2
  75. package/dist/cjs/widgets/PoolWidget/hooks/usePoolTypeTag.d.ts +2 -2
  76. package/dist/cjs/widgets/PoolWidget/utils.d.ts +1 -0
  77. package/dist/components/AddressWithLinkAndCopy.d.ts +2 -1
  78. package/dist/components/Confirm.d.ts +3 -2
  79. package/dist/components/Swap/components/Dialog.d.ts +1 -0
  80. package/dist/components/Swap/components/ReviewDialog.d.ts +2 -1
  81. package/dist/components/Swap/components/TokenCard/BalanceText.d.ts +2 -1
  82. package/dist/components/Swap/components/TokenCard/TokenLogoCollapse.d.ts +2 -1
  83. package/dist/components/Swap/components/TokenCard/index.d.ts +5 -2
  84. package/dist/components/Swap/index.d.ts +4 -1
  85. package/dist/components/TokenLogo.d.ts +3 -1
  86. package/dist/components/TokenLogoPair.d.ts +1 -1
  87. package/dist/components/UserOptionsProvider.d.ts +7 -0
  88. package/dist/components/Widget/index.d.ts +6 -3
  89. package/dist/components/WidgetContainer.d.ts +1 -0
  90. package/dist/constants/api.d.ts +1 -2
  91. package/dist/constants/chains.d.ts +2 -0
  92. package/dist/{helper-BkVWYFdX.js → helper-Bt2jqmHJ.js} +1 -1
  93. package/dist/{helper-BnZccHWW.js → helper-CffQwkVy.js} +1 -1
  94. package/dist/{helper-CRRYcp-I.js → helper-CuF0qqWC.js} +1 -1
  95. package/dist/hooks/ConnectWallet/useCurrentChainId.d.ts +1 -2
  96. package/dist/hooks/ConnectWallet/useWalletInfo.d.ts +3 -2
  97. package/dist/hooks/Submission/types.d.ts +2 -0
  98. package/dist/hooks/Submission/useBalanceUpdateLoading.d.ts +3 -2
  99. package/dist/hooks/Submission/useExecution.d.ts +2 -1
  100. package/dist/hooks/Swap/index.d.ts +0 -1
  101. package/dist/hooks/Swap/useExecuteSwap.d.ts +2 -1
  102. package/dist/hooks/Swap/useFetchRoutePrice.d.ts +2 -1
  103. package/dist/hooks/Swap/useInitDefaultToken.d.ts +2 -1
  104. package/dist/hooks/Token/useTokenStatus.d.ts +2 -2
  105. package/dist/{index-BZwfyyd7.js → index-55pJL40G.js} +1 -1
  106. package/dist/{index-5b4GvkIX.js → index-B4mdq_2j.js} +1 -1
  107. package/dist/{index-B3VoNr6u.js → index-B5GYrOLU.js} +1 -1
  108. package/dist/index-BJITf9wa.js +53 -0
  109. package/dist/index-C9MWtFb0.js +53 -0
  110. package/dist/{index-BeDXO0sq.js → index-COI8TWZn.js} +1 -1
  111. package/dist/index-CsmjYFZZ.js +53 -0
  112. package/dist/{index-Bj86XWJe.js → index-DFbGQPje.js} +1 -1
  113. package/dist/{index-B9Ld2lke.js → index-dy1bNsNN.js} +1 -1
  114. package/dist/index.d.ts +9 -1
  115. package/dist/index.js +1 -1
  116. package/dist/locales/en-US.js +1 -0
  117. package/dist/locales/zh-CN.js +1 -0
  118. package/dist/providers/GlobalConfigContext.d.ts +14 -3
  119. package/dist/router/index.d.ts +2 -1
  120. package/dist/store/actions/globals.d.ts +2 -2
  121. package/dist/store/actions/settings.d.ts +0 -2
  122. package/dist/store/actions/token.d.ts +0 -1
  123. package/dist/store/actions/wallet.d.ts +0 -1
  124. package/dist/store/reducers/globals.d.ts +1 -3
  125. package/dist/store/reducers/settings.d.ts +0 -3
  126. package/dist/store/reducers/token.d.ts +1 -3
  127. package/dist/store/reducers/wallet.d.ts +0 -1
  128. package/dist/store/selectors/globals.d.ts +1 -1
  129. package/dist/store/selectors/settings.d.ts +0 -1
  130. package/dist/store/selectors/token.d.ts +0 -3
  131. package/dist/store/selectors/wallet.d.ts +0 -1
  132. package/dist/widgets/MiningWidget/LpTokenMiningOperate/index.d.ts +1 -3
  133. package/dist/widgets/MiningWidget/OperateArea/AssociateMine.d.ts +2 -2
  134. package/dist/widgets/MiningWidget/OperateArea/StakeButton.d.ts +5 -1
  135. package/dist/widgets/MiningWidget/OperateArea/UnstakeButton.d.ts +5 -1
  136. package/dist/widgets/MiningWidget/OperateArea/Widgets.d.ts +3 -0
  137. package/dist/widgets/MiningWidget/OperateArea/index.d.ts +2 -3
  138. package/dist/widgets/MiningWidget/hooks/useClaimMiningSubmit.d.ts +2 -1
  139. package/dist/widgets/MiningWidget/hooks/useRewardListAmount.d.ts +1 -0
  140. package/dist/widgets/MiningWidget/hooks/useStakeMiningSubmit.d.ts +5 -1
  141. package/dist/widgets/MiningWidget/hooks/useUnstakeMiningSubmit.d.ts +5 -1
  142. package/dist/widgets/PoolWidget/PoolList/components/LiquidityTable.d.ts +5 -1
  143. package/dist/widgets/PoolWidget/PoolList/components/SkeletonTable.d.ts +4 -0
  144. package/dist/widgets/PoolWidget/PoolModify/index.d.ts +1 -1
  145. package/dist/widgets/PoolWidget/PoolOperate/PoolOperateInner.d.ts +2 -1
  146. package/dist/widgets/PoolWidget/PoolOperate/components/OperateBtn.d.ts +2 -1
  147. package/dist/widgets/PoolWidget/PoolOperate/components/SlippageSetting.d.ts +3 -6
  148. package/dist/widgets/PoolWidget/PoolOperate/index.d.ts +3 -2
  149. package/dist/widgets/PoolWidget/hooks/usePoolTypeTag.d.ts +2 -2
  150. package/dist/widgets/PoolWidget/utils.d.ts +1 -0
  151. package/package.json +5 -4
  152. package/dist/cjs/failed-list-DRBOVKWp-DC1nhEC-.cjs +0 -1
  153. package/dist/cjs/helper-C0YMPIhl.cjs +0 -1
  154. package/dist/cjs/helper-CLLyxV4k.cjs +0 -1
  155. package/dist/cjs/helper-DIPGhxwy.cjs +0 -1
  156. package/dist/cjs/helper-TLfYWcrp.cjs +0 -1
  157. package/dist/cjs/hooks/Widget/useInitPropsToRedux.d.ts +0 -2
  158. package/dist/cjs/index-BWnG4lrS.cjs +0 -78
  159. package/dist/cjs/index-Bav9CAmb.cjs +0 -12
  160. package/dist/cjs/index-C88-b-Wy.cjs +0 -58
  161. package/dist/cjs/index-CGYgLzId.cjs +0 -58
  162. package/dist/cjs/index-CReDAoH1.cjs +0 -58
  163. package/dist/cjs/index-CRy_F8z-.cjs +0 -58
  164. package/dist/cjs/index-D0vhEDHr.cjs +0 -12
  165. package/dist/cjs/index-DVIn_6Rm.cjs +0 -58
  166. package/dist/cjs/index-DlRXMtyN.cjs +0 -12
  167. package/dist/cjs/index-Dz-MCVVA.cjs +0 -78
  168. package/dist/cjs/index-GmVuq-HG.cjs +0 -58
  169. package/dist/cjs/index-LrumBPzq.cjs +0 -78
  170. package/dist/cjs/index-NhIIGWO7.cjs +0 -78
  171. package/dist/cjs/index-O0NwxpAG.cjs +0 -12
  172. package/dist/cjs/index-rIBJLbpB.cjs +0 -58
  173. package/dist/cjs/lottie-7NcOWIJ4.cjs +0 -1
  174. package/dist/cjs/lottie-B6Jr7IL6.cjs +0 -1
  175. package/dist/cjs/lottie-BdJNUW9a.cjs +0 -1
  176. package/dist/cjs/lottie-Br_vIGRH.cjs +0 -1
  177. package/dist/cjs/lottie-CZaIiam5.cjs +0 -1
  178. package/dist/cjs/lottie-JP26wQPR.cjs +0 -1
  179. package/dist/cjs/lottie-YDIvS9JC.cjs +0 -1
  180. package/dist/cjs/multi-entry.js +0 -7
  181. package/dist/cjs/no-found-BKLZjsgH-DqAhyXyc.cjs +0 -1
  182. package/dist/cjs/no-result-FTqGvqhr-_3xEQ9ck.cjs +0 -1
  183. package/dist/failed-list-DRBOVKWp-DRBOVKWp.js +0 -1
  184. package/dist/helper-CTfrV0Rj.js +0 -1
  185. package/dist/helper-CxIwwxNg.js +0 -1
  186. package/dist/helper-DNb0C46N.js +0 -1
  187. package/dist/helper-qQa3KkTY.js +0 -1
  188. package/dist/hooks/Widget/useInitPropsToRedux.d.ts +0 -2
  189. package/dist/index-BRQ-O8V_.js +0 -58
  190. package/dist/index-BnI0cbY9.js +0 -58
  191. package/dist/index-C40rjn-m.js +0 -78
  192. package/dist/index-C6tQX6eZ.js +0 -12
  193. package/dist/index-CWf6IcCi.js +0 -12
  194. package/dist/index-D8t1zmBi.js +0 -78
  195. package/dist/index-DFNQbZdf.js +0 -58
  196. package/dist/index-DP4xH8dV.js +0 -12
  197. package/dist/index-DVDdzCO4.js +0 -78
  198. package/dist/index-DZ4BV65W.js +0 -58
  199. package/dist/index-DdOBpj2U.js +0 -78
  200. package/dist/index-DtsZYrPp.js +0 -58
  201. package/dist/index-dq4v_RjC.js +0 -58
  202. package/dist/index-gimKgjoZ.js +0 -12
  203. package/dist/index-s1t2K9PZ.js +0 -58
  204. package/dist/lottie-AFoy96Z1.js +0 -1
  205. package/dist/lottie-CFAC9m8a.js +0 -1
  206. package/dist/lottie-CampOEpU.js +0 -1
  207. package/dist/lottie-CqX6d-YU.js +0 -1
  208. package/dist/lottie-DHt3-R9A.js +0 -1
  209. package/dist/lottie-WSOvHtU6.js +0 -1
  210. package/dist/lottie-k2Vu6Na2.js +0 -1
  211. package/dist/multi-entry.js +0 -7
  212. package/dist/no-found-BKLZjsgH-LomOnbuz.js +0 -1
  213. package/dist/no-result-FTqGvqhr-DhAfvy2a.js +0 -1
@@ -1,12 +0,0 @@
1
- "use strict";var e=require("@emotion/styled"),t=require("lodash"),i=require("react"),r=require("./helper-9v1xZPrA.cjs"),n=require("react-konva"),o=require("./index-rIBJLbpB.cjs"),s=require("bignumber.js"),l=require("@dodoex/api");require("@lingui/core"),require("@lingui/react"),require("@dodoex/icons"),require("react-dom"),require("react-redux"),require("identicon.js"),require("@web3-react/core"),require("@web3-react/eip1193"),require("@web3-react/walletconnect-v2"),require("@web3-react/metamask"),require("@web3-react/types"),require("@reduxjs/toolkit"),require("redux"),require("@tanstack/react-query"),require("react-window"),require("@ethersproject/bignumber"),require("dayjs"),require("axios"),require("zustand"),require("react-infinite-scroller"),require("@emotion/react"),require("recharts");const a=e.div`
2
- height: 100%;
3
- position: relative;
4
- `,u=e.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
- `,d=36;function g({maxHeight:e,gridAreaHeight:t,value:i}){const r=new s(t).minus(d),n=r.div(e);return r.minus(i.multipliedBy(n)).plus(d).toNumber()}function m({targetPrice:e,areaPoints:t,isLeft:i}){for(let r=0;r<t.length;r++){const n=t[r],o=r<t.length-1?t[r+1]:null;if(!o)return{targetAreaStatPoint:n,targetAreaStatPoints:t};if(i){if(e.lte(n.middlePrice)&&e.gte(o.middlePrice))return{targetAreaStatPoint:n,targetAreaStatPoints:t.slice(0,r+1)}}else if(e.gte(n.middlePrice)&&e.lte(o.middlePrice))return{targetAreaStatPoint:n,targetAreaStatPoints:t.slice(0,r+1)}}return{targetAreaStatPoint:null,targetAreaStatPoints:[]}}function h({x:e,width:t,minXLN10:i,maxXLN10:r}){const n=new s(e).div(t).multipliedBy(r.minus(i)).plus(i);return new s(10**n.toNumber())}function c({width:e,targetLN10:t,minXLN10:i,maxXLN10:r}){return t.minus(i).div(r.minus(i)).multipliedBy(e).toNumber()}function p({target:e}){return new s(Math.log10(e.toNumber()))}const x="rgba(38, 39, 41, 0.3)";function f({width:e,height:a,params:u,baseTokenSymbol:d,quoteTokenSymbol:f,colorMap:L}){const{maxLeftHeight:j,maxRightHeight:b,leftStatAreaPoints:w,rightStatAreaPoints:A,minXLN10:N,maxXLN10:y}=function({params:e}){return i.useMemo((()=>{const t=new s(e.b),i=new s(e.q);let r=new s(e.b0);const n=new s(e.q0),o=new s(e.i),a=new s(e.k),{R:u}=e;1===u&&r.eq(t)&&(r=l.solveQuadraticFunctionForTarget(t,i.minus(n),new s(1).div(o),a));const d=new l.PMMState({i:o,K:a,B:t,Q:i,B0:r,Q0:n,R:u,mtFeeRate:new s(0),lpFeeRate:new s(0)}),g=new l.PMMHelper,m=new s(d.B),h=[],c=[];let p=new s(0),x=new s(0);const f=g.GetMidPrice(d),L=i.gt(0)?t.div(i):new s(1);for(let e=0;e<=250;e++){let t=m.multipliedBy(e/100).multipliedBy(f.multipliedBy(L).multipliedBy(4));0===e&&(t=m.multipliedBy(1e-11));const i=null==g?void 0:g.QuerySellBase(t,d);if(i.isNaN()||!i.gt(0))h.push({giveAmount:t,getAmount:new s(0),price:new s(0)});else{const e=i.div(t);h.push({giveAmount:t,getAmount:i,price:e})}}for(let e=0;e<=250;e++){let t=m.multipliedBy(e/100).multipliedBy(f.multipliedBy(4));0===e&&(t=m.multipliedBy(1e-11));const i=null==g?void 0:g.QuerySellQuote(t,d);if(i.isNaN()||!i.gt(0))c.push({giveAmount:t,getAmount:new s(0),price:new s(0)});else{const e=t.dividedBy(i);c.push({giveAmount:t,getAmount:i,price:e})}}if(h.length<2&&c.length<2)return{leftStatAreaPoints:[],rightStatAreaPoints:[],maxLeftHeight:new s(10).multipliedBy(1.2),maxRightHeight:new s(10).multipliedBy(1.2),middlePriceLN10:new s(0),minXLN10:new s(-1),maxXLN10:new s(1)};const j=[];for(let e=1;e<h.length;e++){const t=h[e],{giveAmount:i,getAmount:r,price:n}=t,o=h[e-1];if(!n.isNaN()&&n.gt(0)&&o){const t=n.minus(o.price).abs(),l=i.minus(o.giveAmount).abs(),a=r.minus(o.getAmount).abs().multipliedBy(l);1===e&&j.push({area:r,price:n,middlePrice:n.plus(t.div(1.1)),rectangleHeight:a.plus(a.multipliedBy(.03))}),j.push({area:r,price:n,middlePrice:n.plus(t.div(2)),rectangleHeight:a}),p=s.max(a,p)}}const b=[];for(let e=1;e<c.length;e++){const t=c[e],{giveAmount:i,getAmount:r,price:n}=t,o=c[e-1],l=o.price,a=o.giveAmount,u=o.getAmount;if(!n.isNaN()&&n.gt(0)&&o){const t=n.minus(l).abs(),o=i.minus(a).abs(),d=r.minus(u).abs().multipliedBy(o);1===e&&b.push({area:r,price:n,middlePrice:n.minus(t.div(1.1)),rectangleHeight:d.plus(d.multipliedBy(.03))}),b.push({area:r,price:n,middlePrice:n.minus(t.div(2)),rectangleHeight:d}),x=s.max(d,x)}}const w=h.length>0?h[h.length-1]:c[0],A=c.length>0?c[0]:h[0],N=c.length>0?c[c.length-1]:h[0],y=w.price,P=N.price,R=A.price,v=new s(Math.log10(R.toNumber()));let S=y.gt(0)?new s(Math.log10(y.toNumber())):new s(-Math.log10(P.toNumber())),H=P.gt(0)?new s(Math.log10(P.toNumber())):new s(-Math.log10(y.toNumber()));const q=s.max(v.minus(S).abs(),H.minus(v).abs());return S=v.minus(q),H=v.plus(q),{leftStatAreaPoints:j,rightStatAreaPoints:b,maxLeftHeight:p.multipliedBy(1.2),maxRightHeight:x.multipliedBy(1.2),minXLN10:S,maxXLN10:H,middlePriceLN10:v}}),[e])}({params:u}),P=a-30.13,R=i.useRef(null),v=t.merge({grid:"#2A2A2D",midPriceLine:"#313335",leftBg:[0,x,1,"#31645d"],leftLine:"#55f6db",leftColor:"",rightBg:[0,x,1,"#67303d"],rightLine:"#ff4f73",rightColor:"",tooltipBg:"#121212",tooltipColor:void 0,textColor:"#606066"},L),S=t=>{var i;const{current:n}=R,s=t.target;if(s&&n){const t=null===(i=s.getStage())||void 0===i?void 0:i.getPointerPosition();if(t){const{x:i}=t,s=e/2;if(Math.abs(i-s)<=2)return;if(i<=2||e-i<=2)return;const l=h({x:i,width:e,minXLN10:N,maxXLN10:y});let a=null,u=[];const x=i<s;if(x){const e=m({areaPoints:w,targetPrice:l,isLeft:x});a=e.targetAreaStatPoint,u=e.targetAreaStatPoints}else{const e=m({areaPoints:A,targetPrice:l,isLeft:x});a=e.targetAreaStatPoint,u=e.targetAreaStatPoints}if(a){const t=p({target:a.middlePrice}),s=c({minXLN10:N,maxXLN10:y,width:e,targetLN10:t}),l=g({maxHeight:x?j:b,gridAreaHeight:P,value:a.rectangleHeight}),m=n.findOne("#tooltip"),h=n.findOne("#toolTipVertLine"),L=n.findOne("#joinCircle"),w=n.findOne("#tooltip-Text"),A=n.findOne("#tooltip-tag"),R=n.findOne("#priceTextLabel"),S=null==R?void 0:R.findOne("#priceTextLabel-text"),H=n.findOne("#area");null==m||m.position({x:s,y:l-5-6}),null==w||w.fill(v.tooltipColor||(x?"#00FAD9":"#FF5072")),null==w||w.text(x?r.chartT("pool.chart.liquidity-chart-buy",{amount:o.formatShortNumber(a.area),symbol:d,price:o.formatShortNumber(a.price)}):r.chartT("pool.chart.liquidity-chart-sell",{amount:o.formatShortNumber(a.area),symbol:f,price:o.formatShortNumber(a.price)})),m&&A&&(m.width()/2>i?(A.pointerDirection("left"),A.pointerHeight(15),A.pointerWidth(8),m.offsetX(-11),m.offsetY(-11)):m.width()/2+i>e?(A.pointerDirection("right"),A.pointerHeight(15),A.pointerWidth(8),m.offsetX(11),m.offsetY(-11)):(A.pointerDirection("down"),A.pointerHeight(8),A.pointerWidth(15),m.offsetX(0),m.offsetY(0))),null==h||h.points([s,P,s,l]),null==h||h.stroke(x?"#55f6db":"#ff4f73");let q=x?"rgb(86, 246, 218)":"#FF5072",E=x?"rgba(86, 246, 218, 0.3)":"rgba(255, 80, 114, 0.3)";v.leftLine&&v.rightLine&&(q=x?v.leftLine:v.rightLine,E=x?`rgba(${r.colorRgb(v.leftLine)}, 0.4)`:`rgba(${r.colorRgb(v.rightLine)}, 0.4)`),L&&(L.x(s),L.y(l),L.fill(q),L.stroke(E)),R&&(R.x(s),R.y(P+8.08+1),R.offsetX(R.width()/2),R.x()-R.width()/2<0?R.x(R.width()/2):R.x()+R.width()/2>e?R.x(e-R.width()/2):R.x(i)),S&&(S.fill(v.tooltipColor||(x?"#00FAD9":"#FF5072")),S.text(o.formatShortNumber(a.price)));const X=[];for(const t of u){const{middlePrice:i,rectangleHeight:r}=t,n=p({target:i}),o=c({minXLN10:N,maxXLN10:y,width:e,targetLN10:n}),s=g({maxHeight:x?j:b,gridAreaHeight:P,value:r});X.push(o,s+1)}const M=X.slice(),[k,B]=M;x?(M.push(s,l),M.push(s,P),M.push(k,P),M.push(k,B)):(M.unshift(k,P),M.unshift(s,P),M.unshift(s,l)),H&&(H.points(M),H.fill(x?v.leftLine||"#2c5b56":v.rightLine||"#7b3a48")),n.show()}}}},H=function({gridAreaHeight:e,gridAreaWidth:t,horizontalLineCount:r,verticalLineCount:s,color:l="#2A2A2D"}){return i.useMemo((()=>{const i=[],a=e/(r+1),u=[],d=t/(s+1);for(let e=0;e<r;e++){const r=a*(e+1);i.push([0,r,t,r])}for(let t=0;t<s;t++){const i=d*(t+1);u.push([i,0,i,e])}return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[i.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:l,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1},t))),u.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:l,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1},t)))]})}),[e,t,r,s,l])}({gridAreaHeight:P,gridAreaWidth:e,horizontalLineCount:9,verticalLineCount:7,color:v.grid}),q=function({minXLN10:e,maxXLN10:t,labelCount:r,gridAreaHeight:s,gridAreaWidth:l,color:a="#606066"}){return i.useMemo((()=>{const i=l/(r+1),u=[],d=[];for(let n=0;n<r;n++){const r=i/2+i*n;u.push({x:r,y:s+10.08+1,text:o.formatShortNumber(h({x:i*(n+1),width:l,minXLN10:e,maxXLN10:t}))});const a=i*(n+1);d.push([a,s+1,a,s+4+1])}return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[u.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Text,{x:e.x,y:e.y,text:e.text,fontSize:14,fontFamily:"Manrope",fill:a,width:i,padding:0,align:"center",verticalAlign:"bottom",listening:!1},t))),d.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:a,strokeWidth:1,lineCap:"butt",lineJoin:"miter",tension:1,listening:!1},t)))]})}),[e,t,s,l,r])}({gridAreaHeight:P,gridAreaWidth:e,labelCount:7,minXLN10:N,maxXLN10:y,color:v.textColor}),E=function({gridAreaHeight:e,gridAreaWidth:t,color:r="#606066"}){return i.useMemo((()=>{const i=t/2;return o.jsxRuntimeExports.jsx(n.Line,{points:[i,0,i,e-1],stroke:r,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1})}),[e,t,r])}({gridAreaHeight:P,gridAreaWidth:e,color:v.midPriceLine}),{leftLine:X,rightLine:M}=function({leftStatAreaPoints:e,rightStatAreaPoints:t,minXLN10:r,maxXLN10:s,maxLeftHeight:l,maxRightHeight:a,gridAreaWidth:u,gridAreaHeight:d,colorMap:m}){return{leftLine:i.useMemo((()=>{if(e.length<1)return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{});const t=[];let i=d;for(const n of e){const{middlePrice:e,rectangleHeight:o}=n,a=p({target:e}),m=c({minXLN10:r,maxXLN10:s,width:u,targetLN10:a}),h=g({maxHeight:l,gridAreaHeight:d,value:o});t.push(m,h),h<i&&(i=h)}const a=t.slice(),[h,x]=a,f=a[a.length-1],L=a[a.length-2];return a.push(L,f),a.push(L,d),a.push(h,d),a.push(h,x),o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(n.Line,{points:a,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:d},fillLinearGradientEndPoint:{x:0,y:i},fillLinearGradientColorStops:m.leftBg}),o.jsxRuntimeExports.jsx(n.Line,{points:t,stroke:m.leftLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]})}),[e,u,r,s,d,l]),rightLine:i.useMemo((()=>{if(t.length<1)return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{});const e=[];let i=d;for(const n of t){const{middlePrice:t,rectangleHeight:o}=n,l=p({target:t}),m=c({minXLN10:r,maxXLN10:s,width:u,targetLN10:l}),h=g({maxHeight:a,gridAreaHeight:d,value:o});e.push(m,h),h<i&&(i=h)}const l=e.slice(),[h]=l;return l.unshift(h,d),l.unshift(u,d),o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(n.Line,{points:l,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:d},fillLinearGradientEndPoint:{x:0,y:i},fillLinearGradientColorStops:m.rightBg}),o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:m.rightLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]})}),[t,u,r,s,d,a])}}({leftStatAreaPoints:w,rightStatAreaPoints:A,minXLN10:N,maxXLN10:y,maxLeftHeight:j,maxRightHeight:b,gridAreaWidth:e,gridAreaHeight:P,colorMap:v});return o.jsxRuntimeExports.jsxs(n.Stage,{width:e,height:a,onMouseMove:S,onMouseOver:S,onMouseEnter:S,onMouseOut:()=>{const{current:e}=R;e&&e.hide()},children:[o.jsxRuntimeExports.jsxs(n.Layer,{children:[o.jsxRuntimeExports.jsx(n.Rect,{x:0,y:0,width:e,height:P,stroke:v.grid,strokeWidth:1}),H,q,X,M,E]}),o.jsxRuntimeExports.jsxs(n.Layer,{ref:R,visible:!1,children:[o.jsxRuntimeExports.jsx(n.Line,{points:[],closed:!0,listening:!1,lineCap:"round",lineJoin:"round",id:"area"}),o.jsxRuntimeExports.jsx(n.Line,{points:[],strokeWidth:1,stroke:"#ff4f73",lineJoin:"round",lineCap:"round",dash:[4,6],id:"toolTipVertLine"}),o.jsxRuntimeExports.jsx(n.Circle,{x:0,y:0,radius:5,fill:"#FF5072",stroke:"rgba(255, 80, 114, 0.3)",strokeWidth:12,id:"joinCircle"}),o.jsxRuntimeExports.jsxs(n.Label,{listening:!1,x:0,y:0,id:"priceTextLabel",children:[o.jsxRuntimeExports.jsx(n.Tag,{fill:v.tooltipBg,id:"priceTextLabel-tag"}),o.jsxRuntimeExports.jsx(n.Text,{text:"-",fontSize:14,fontFamily:"Manrope",padding:2,fill:"#FF5072",id:"priceTextLabel-text"})]}),o.jsxRuntimeExports.jsxs(n.Label,{listening:!1,id:"tooltip",children:[o.jsxRuntimeExports.jsx(n.Tag,{fill:v.tooltipBg,pointerDirection:"down",pointerWidth:15,pointerHeight:8,cornerRadius:8,lineJoin:"round",id:"tooltip-tag"}),o.jsxRuntimeExports.jsx(n.Text,{text:"",fontFamily:"Manrope",fontSize:12,lineHeight:17/12,padding:r.labelPadding,fill:"#FF5072",id:"tooltip-Text"})]})]})]})}exports.default=({width:e=834,height:t=462,baseTokenSymbol:i,quoteTokenSymbol:n,pmmModel:s,pmmParams:l,midPrice:d,notShowTipText:g,colorMap:m})=>o.jsxRuntimeExports.jsxs(a,{children:[void 0!==l&&void 0!==d&&void 0!==s&&void 0!==d&&o.jsxRuntimeExports.jsx(f,{width:e,height:t,params:l,midPrice:d,pmmModel:s,baseTokenSymbol:i,quoteTokenSymbol:n,colorMap:m}),g?"":o.jsxRuntimeExports.jsxs(u,{children:["* ",r.chartT("pool.chart.liquidity-chart-tip",{baseTokenSymbol:i})]})]});
@@ -1,78 +0,0 @@
1
- "use strict";var e=require("bignumber.js"),t=require("lodash"),i=require("react"),r=require("@emotion/styled"),o=require("@emotion/react"),n=require("react-konva"),s=require("./helper-C0YMPIhl.cjs"),l=require("./index-DVIn_6Rm.cjs"),a=require("@dodoex/api");require("@lingui/core"),require("@lingui/react"),require("@dodoex/icons"),require("react-dom"),require("react-redux"),require("identicon.js"),require("@web3-react/core"),require("@web3-react/eip1193"),require("@web3-react/walletconnect-v2"),require("@web3-react/metamask"),require("@web3-react/types"),require("@reduxjs/toolkit"),require("redux"),require("@tanstack/react-query"),require("react-window"),require("@ethersproject/bignumber"),require("dayjs"),require("axios"),require("zustand"),require("react-infinite-scroller"),require("recharts");var u={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},c=i.createContext&&i.createContext(u),d=["attr","size","title"];function p(e,t){if(null==e)return{};var i,r,o=function(e,t){if(null==e)return{};var i,r,o={},n=Object.keys(e);for(r=0;r<n.length;r++)i=n[r],t.indexOf(i)>=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)i=n[r],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},m.apply(this,arguments)}function g(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function x(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?g(Object(i),!0).forEach((function(t){h(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):g(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function h(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function f(e){return e&&e.map(((e,t)=>i.createElement(e.tag,x({key:t},e.attr),f(e.child))))}function b(e){return t=>i.createElement(M,m({attr:x({},e.attr)},t),f(e.child))}function M(e){var t=t=>{var r,{attr:o,size:n,title:s}=e,l=p(e,d),a=n||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),i.createElement("svg",m({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,l,{className:r,style:x(x({color:e.color||t.color},t.style),e.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),s&&i.createElement("title",null,s),e.children)};return void 0!==c?i.createElement(c.Consumer,null,(e=>t(e))):t(u)}function v(e){return b({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z"},child:[]}]})(e)}function j(e){return b({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z"},child:[]}]})(e)}function P(e){return b({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M5 11h14v2H5z"},child:[]}]})(e)}function y(e){return b({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z"},child:[]}]})(e)}const L=r.input`
2
- margin: 4px 10px 4px 6px;
3
- border-radius: 10px;
4
- border: 1px solid #373739;
5
- padding: 4px 9px;
6
- background-color: #1a1a1b;
7
- color: #ffffff;
8
- font-size: 14px;
9
- font-weight: 400;
10
- line-height: 20px;
11
- outline: none;
12
- width: 96px;
13
- &:focus {
14
- border-color: #fff;
15
-
16
- ${({error:e})=>e&&o.css`
17
- border-color: red;
18
- `}
19
- }
20
- `;const w="rgba(38, 39, 41, 0.3)";function E({width:r,height:o,midPrice:a,pmmModel:u,params:c,baseTokenSymbol:d,quoteTokenSymbol:p,baseMinAndZoomMultiples:m,colorMap:g,setBaseMinAndZoomMultiples:x}){const h=t.merge({grid:"#2A2A2D",midPriceLine:"#313335",leftBg:[0,w,1,"#31645d"],leftLine:"#55f6db",leftColor:"",rightBg:[0,w,1,"#67303d"],rightLine:"#ff4f73",rightColor:"",tooltipBg:"#121212",tooltipColor:void 0},g),f=r,b=o-18,M=f/7,{buyBaseVert:v,sellBaseVert:j}=s.computeBaseVert({midPrice:a,q:c.q,q0:c.q0,pmmModel:u}),P=v.div(b),y=j.div(b),L=i.useRef(null),E=i.useRef(null),{current:z}=L,B=i.useRef(0),T=i.useRef(),{horizontalGridLines:k,verticalGridLines:q}=function({chartHeight:e,chartWidth:t,horizontalLineCount:r,verticalLineCount:o}){return i.useMemo((()=>{const i=[],n=e/(r+1),s=[],l=t/o;for(let e=0;e<r;e++){const r=n*(e+1);i.push([0,r,t,r])}for(let t=0;t<o;t++){const i=l*t+l/2;s.push([i,0,i,e])}return{horizontalGridLines:i,verticalGridLines:s}}),[e,t,r,o])}({chartHeight:b,chartWidth:f,horizontalLineCount:9,verticalLineCount:7}),{horizontalLabelTickPoints:R,horizontalLabelTextPoints:C}=function({chartHeight:e,chartWidth:t,xAxisPoints:r,oneXPx:o,baseMinAndZoomMultiples:n}){return i.useMemo((()=>{const i=s.computeXPortion(t,n.zoomMultiples),a=[],u=[];for(let t=0;t<r;t++){a.push([t*o+o/2,e,t*o+o/2,e+4]);const r=i.multipliedBy(t).multipliedBy(o).plus(i.multipliedBy(o/2)).toNumber(),s=n.baseMin.multipliedBy(10**r),c=t*o,d=e+2+4,p=l.formatShortNumber(s);u.push({x:c,y:d,text:p})}return{horizontalLabelTickPoints:a,horizontalLabelTextPoints:u}}),[n.baseMin,n.zoomMultiples,e,t,o,r])}({chartHeight:b,chartWidth:f,xAxisPoints:7,oneXPx:M,baseMinAndZoomMultiples:m}),{quoteLinePoints:S,quoteLineAreaPoints:N,quoteLineAreaLinearGradientEndPointY:O,baseLinePoints:A,baseLineAreaPoints:X,baseLineAreaLinearGradientEndPointY:Z,midPriceLinePoints:W}=function({chartHeight:t,chartWidth:r,midPrice:o,xPoints:n,pmmModel:l,baseMinAndZoomMultiples:a,buyYPortion:u,sellYPortion:c}){return i.useMemo((()=>{const i=[],d=[],p=[],{baseMin:m,zoomMultiples:g}=a,x=s.computeXPortion(r,g),h=2*g,f=new e(h).div(n);let b=new e(Math.log(o.div(m).toNumber())/Math.log(10));b=e.minimum(h,b),b=e.maximum(0,b);for(let r=new e(0);r.lte(b);){const e=m.multipliedBy(10**r.toNumber()),n=s.evalPoint({val:e,model:l,midPrice:o});if(!n.vert.isNaN()){const e=r.div(x).toNumber(),o=t-n.vert.div(u).toNumber();i.push(e,o)}r=r.plus(f)}for(let e=b;e.lte(h);){const i=m.multipliedBy(10**e.toNumber()),r=s.evalPoint({val:i,model:l,midPrice:o});if(!r.vert.isNaN()){const i=e.div(x).toNumber(),o=t-r.vert.div(c).toNumber();d.push(i,o)}e=e.plus(f)}const M=b.div(x).toNumber(),[,v]=i,j=l.k.eq(0);j&&i.push(M,v||t),i.push(M,t),p.push(M,t,M,0);const P=s.evalPoint({val:m.multipliedBy(10**h),model:l,midPrice:o});let y=t;const L=new e(h).div(x).toNumber();return P.vert.isNaN()||(y=t-P.vert.div(c).toNumber()),j&&d.length>=2&&(d.unshift(M,y),d.unshift(M,t)),d.push(L,y),b.lte(0)&&d.unshift(0,t),{quoteLinePoints:i,quoteLineAreaPoints:[0,t,0,v,...i],quoteLineAreaLinearGradientEndPointY:v,baseLinePoints:d,baseLineAreaPoints:[...d,L,t],baseLineAreaLinearGradientEndPointY:y,midPriceLinePoints:p}}),[a,r,n,o,l,t,u,c])}({chartHeight:b,chartWidth:f,midPrice:a,xPoints:50,pmmModel:u,baseMinAndZoomMultiples:m,buyYPortion:P,sellYPortion:y}),F=e=>{var t;const i=e.target;if(i&&z){const e=null===(t=i.getStage())||void 0===t?void 0:t.getPointerPosition();if(e){const{x:t}=e;if(t>f)return void z.hide();s.updateTooltip({x:t,tooltip:z,buyBaseVert:v,sellBaseVert:j,chartWidth:f,chartHeight:b,midPrice:a,pmmModel:u,baseTokenSymbol:d,quoteTokenSymbol:p,baseMinAndZoomMultiples:m,t:s.chartT,isHover:!0,color:h.tooltipColor,leftColor:h.leftLine,rightColor:h.rightLine})}}},H=i.useMemo((()=>t.throttle((e=>{const{target:t}=e,i=t.getStage();if(i){i.container().style.cursor="grabbing";const e=null==i?void 0:i.getPointerPosition();if(e){const t=e.x-B.current;B.current=e.x,T.current=e.x,x((e=>void 0===e.baseMin?e:{baseMin:s.computeBaseMinByDistance({dragDistance:t,prevBaseMin:e.baseMin,chartWidth:f,zoomMultiples:e.zoomMultiples}),zoomMultiples:e.zoomMultiples,targetMarginPriceX:0}))}}}),100)),[f,x]),D=i.useMemo((()=>t.throttle((e=>{e.cancelBubble=!0,e.evt.preventDefault();const t=e.evt.deltaY<0;x((e=>{const i=s.computeZoomMultiplesWhenZoom({zoomIn:t,prevZoomMultiples:e.zoomMultiples});return{baseMin:s.computeBaseAfterZoom({midPrice:a,zoomMultiples:i}),zoomMultiples:i,targetMarginPriceX:e.targetMarginPriceX}}))}),100)),[a,x]);return i.useEffect((()=>{m.targetMarginPriceX>0&&null!==z?s.updateTooltip({x:m.targetMarginPriceX,tooltip:z,buyBaseVert:v,sellBaseVert:j,chartWidth:f,chartHeight:b,midPrice:a,pmmModel:u,baseTokenSymbol:d,quoteTokenSymbol:p,baseMinAndZoomMultiples:m,t:s.chartT,color:h.tooltipColor,leftColor:h.leftLine,rightColor:h.rightLine}):void 0!==T.current&&null!==z&&s.updateTooltip({x:T.current,tooltip:z,buyBaseVert:v,sellBaseVert:j,chartWidth:f,chartHeight:b,midPrice:a,pmmModel:u,baseTokenSymbol:d,quoteTokenSymbol:p,baseMinAndZoomMultiples:m,t:s.chartT,isHover:!0,color:h.tooltipColor,leftColor:h.leftLine,rightColor:h.rightLine})}),[m,d,v,b,f,h.leftLine,h.rightLine,h.tooltipColor,a,u,p,j,z]),l.jsxRuntimeExports.jsxs(n.Stage,{ref:E,width:r,offsetY:-s.chartOffsetYBCToolTip,height:o+s.chartOffsetYBCToolTip,draggable:!0,dragBoundFunc:function(){return{x:this.absolutePosition().x,y:this.absolutePosition().y}},onMouseMove:F,onMouseOver:F,onMouseOut:()=>{z&&z.hide()},onDragStart:function(e){const{target:t}=e,i=t.getStage();if(i){const e=i.getPointerPosition();e&&(B.current=e.x)}},onDragMove:H,onDragEnd:e=>{const{target:t}=e,i=t.getStage();i&&(i.container().style.cursor="pointer")},onWheel:D,children:[l.jsxRuntimeExports.jsxs(n.Layer,{children:[l.jsxRuntimeExports.jsx(n.Rect,{x:0,y:0,width:r,height:b,stroke:h.grid,strokeWidth:1}),k.map(((e,t)=>l.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:h.grid,strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},t))),q.map(((e,t)=>l.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:h.grid,strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},t))),R.map(((e,t)=>l.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:"#9d9d9d",strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},t))),C.map(((e,t)=>l.jsxRuntimeExports.jsx(n.Text,{x:e.x,y:e.y,text:e.text,fontFamily:"Manrope",fontSize:12,fill:"#9d9d9d",width:M,padding:0,align:"center",verticalAlign:"bottom",listening:!1},t))),l.jsxRuntimeExports.jsx(n.Line,{points:N,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:b},fillLinearGradientEndPoint:{x:0,y:O},fillLinearGradientColorStops:h.leftBg}),l.jsxRuntimeExports.jsx(n.Line,{points:S,stroke:h.leftLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1}),l.jsxRuntimeExports.jsx(n.Line,{points:X,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:f,y:b},fillLinearGradientEndPoint:{x:f,y:Z},fillLinearGradientColorStops:h.rightBg}),l.jsxRuntimeExports.jsx(n.Line,{points:A,stroke:h.rightLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1}),l.jsxRuntimeExports.jsx(n.Line,{points:W,stroke:h.midPriceLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]}),l.jsxRuntimeExports.jsxs(n.Layer,{ref:L,visible:!1,listening:!1,children:[l.jsxRuntimeExports.jsx(n.Line,{points:[],stroke:"#ff4f73",strokeWidth:1,lineCap:"round",lineJoin:"round",dash:[4,6],id:"toolTipVertLine"}),l.jsxRuntimeExports.jsx(n.Line,{points:[],stroke:"ff4f73",strokeWidth:1,lineCap:"round",lineJoin:"round",dash:[4,6],id:"toolTipHoriLine"}),l.jsxRuntimeExports.jsx(n.Circle,{x:0,y:0,radius:5,fill:"#FF5072",stroke:"rgba(255, 80, 114, 0.3)",strokeWidth:12,id:"joinCircle"}),l.jsxRuntimeExports.jsxs(n.Label,{x:0,y:0,id:"priceTextLabel",children:[l.jsxRuntimeExports.jsx(n.Tag,{fill:h.tooltipBg,id:"priceTextLabel-tag"}),l.jsxRuntimeExports.jsx(n.Text,{text:"",fontSize:12,fontFamily:"Manrope",padding:4,fill:"#FF5072",id:"priceTextLabel-text"})]}),l.jsxRuntimeExports.jsxs(n.Label,{x:0,y:0,id:"slippageTextLabel",children:[l.jsxRuntimeExports.jsx(n.Tag,{fill:h.tooltipBg,id:"slippageTextLabel-tag"}),l.jsxRuntimeExports.jsx(n.Text,{text:"",fontSize:12,fontFamily:"Manrope",padding:4,fill:"#FF5072",id:"slippageTextLabel-text"})]}),l.jsxRuntimeExports.jsxs(n.Label,{x:0,y:0,id:"toolTip",children:[l.jsxRuntimeExports.jsx(n.Tag,{fill:h.tooltipBg,pointerDirection:"down",pointerWidth:15,pointerHeight:8,cornerRadius:8,lineJoin:"round",id:"toolTip-tag"}),l.jsxRuntimeExports.jsx(n.Text,{text:"-",fontSize:12,lineHeight:17/12,padding:s.labelPadding,fontFamily:"Manrope",fill:"#FFFFFF",id:"toolTip-text"})]})]})]})}const z=r.button`
21
- margin: 0;
22
- border: none;
23
- padding: 0;
24
- background: none;
25
-
26
- &:focus {
27
- outline: none;
28
- }
29
- &:active {
30
- outline: none;
31
- }
32
- `,B=r.div`
33
- height: 100%;
34
- `,T=r.div`
35
- display: flex;
36
- align-items: center;
37
- `,k=r.div`
38
- border: 1px solid ${({borderColor:e})=>e||"#2a2a2d"};
39
- flex: 1 0 50%;
40
-
41
- display: flex;
42
- align-items: center;
43
- justify-content: center;
44
- font-size: 12px;
45
- font-weight: 400;
46
- line-height: 17px;
47
- color: #606066;
48
-
49
- & + & {
50
- border-left: none;
51
- }
52
- `,q=r.span`
53
- color: #85858d;
54
- `,R=r.div`
55
- margin-top: 20px;
56
- display: flex;
57
- justify-content: center;
58
- margin-bottom: 9px;
59
- `,C=r(z)`
60
- border-radius: 13px;
61
- background-color: #373739;
62
- width: 24px;
63
- height: 24px;
64
- font-size: 18px;
65
- color: #85858d;
66
- line-height: 0;
67
- & + & {
68
- margin-left: 10px;
69
- }
70
- &:first-child,
71
- &:last-child {
72
- font-size: 20px;
73
- }
74
-
75
- &:hover {
76
- color: #fff;
77
- }
78
- `;function S({params:t,target:i,isBuy:r=!0}){const o=new e(t.b),n=new e(t.q);let s=new e(t.b0);const l=new e(t.q0),u=new e(t.i),c=new e(t.k),{R:d}=t;1===d&&s.eq(o)&&(s=a.solveQuadraticFunctionForTarget(o,n.minus(l),new e(1).div(u),c));const p=r?o.plus(i):o.minus(i);if(p.lt(s)||o.eq(s)){let t=s.multipliedBy(s).div(p).div(p);return t=new e(1).minus(c).plus(c.multipliedBy(t)),u.multipliedBy(t)}const m=new a.PMMModel;m.RStatus=d,m.B=o,m.B0=s,m.Q=n,m.Q0=l,m.i=u,m.k=c,m.mtFeeRate=new e(0),m.lpFeeRate=new e(0);let g=new e(0);g=r?m.querySellBase(i):m.queryBuyBase(i);const x=r?n.minus(g):n.plus(g);let h=l.multipliedBy(l).div(x).div(x);return h=new e(1).minus(c).plus(c.multipliedBy(h)),u.div(h)}exports.default=({chartId:r,width:o=834,height:n=460,baseTokenSymbol:a,quoteTokenSymbol:u,pmmModel:c,pmmParams:d,midPrice:p=new e(0),colorMap:m,notShowAmountInput:g})=>{(({id:e})=>{i.useEffect((()=>{function t(e){e.preventDefault()}let i=!1;try{const e={get passive(){return i=!0,!1}};window.addEventListener("test",(()=>{}),e),window.removeEventListener("test",(()=>{}))}catch(e){i=!1}const r=document.getElementById(e),o=!!i&&{passive:!1};return null==r||r.addEventListener("wheel",t,o),()=>{null==r||r.removeEventListener("wheel",t)}}),[e])})({id:r});const[x,h]=i.useState(""),[f,b]=i.useState(""),[M,w]=i.useState("-"),[z,N]=i.useState("-"),[O,A]=i.useState({baseMin:new e(0),zoomMultiples:s.baseZoomMultiples,targetMarginPriceX:0});i.useEffect((()=>{void 0!==p&&A((e=>({baseMin:s.computeBaseAfterZoom({midPrice:p,zoomMultiples:e.zoomMultiples}),zoomMultiples:e.zoomMultiples,targetMarginPriceX:e.targetMarginPriceX})))}),[p]);const X=i.useMemo((()=>t.debounce((({type:t,amount:i})=>{""===i&&p&&(A({baseMin:s.computeBaseAfterZoom({midPrice:p,zoomMultiples:s.baseZoomMultiples}),zoomMultiples:s.baseZoomMultiples,targetMarginPriceX:0}),"buy"===t?w("-"):N("-"));const r=new e(i);if(!r.lte(0)&&!r.isNaN()&&(null==d?void 0:d.b)&&!r.gte(d.b)&&p)if("buy"===t){const e=S({params:d,target:r});A((i=>{const r=s.beforePriceImpactEffect({currentBaseMinAndZoomMultiples:i,targetPrice:e,midPrice:p,width:o});if(r.isSkip)return{baseMin:i.baseMin,zoomMultiples:i.zoomMultiples,targetMarginPriceX:r.targetX};if(r.targetX>0)return{baseMin:r.baseMin,zoomMultiples:r.zoomMultiples,targetMarginPriceX:r.targetX};const n=s.computeTargetXByTargetPrice({midPrice:p,width:o,type:t,targetPrice:e}),l=n.zoomMultiples.dp(6).toNumber();return{baseMin:s.computeBaseAfterZoom({midPrice:p,zoomMultiples:l}),zoomMultiples:l,targetMarginPriceX:n.targetX}})),w(`${l.formatPercentageNumber({input:e.minus(p).div(p)})}`)}else{const e=function({params:e,target:t}){return S({params:e,target:t,isBuy:!1})}({params:d,target:r});A((i=>{const r=s.beforePriceImpactEffect({currentBaseMinAndZoomMultiples:i,targetPrice:e,midPrice:p,width:o});if(r.isSkip)return{baseMin:i.baseMin,zoomMultiples:i.zoomMultiples,targetMarginPriceX:r.targetX};if(r.targetX>0)return{baseMin:r.baseMin,zoomMultiples:r.zoomMultiples,targetMarginPriceX:r.targetX};const n=s.computeTargetXByTargetPrice({midPrice:p,width:o,type:t,targetPrice:e}),l=n.zoomMultiples.dp(6).toNumber();return{baseMin:s.computeBaseAfterZoom({midPrice:p,zoomMultiples:l}),zoomMultiples:l,targetMarginPriceX:n.targetX}})),N(`+${l.formatPercentageNumber({input:e.minus(p).div(p)})}`)}}),300)),[d,p,o]);i.useEffect((()=>{void 0!==x&&X({type:"buy",amount:x})}),[X,x]),i.useEffect((()=>{void 0!==f&&X({type:"sell",amount:f})}),[X,f]);const Z=e=>{let t=0;t=e?-.1*o:.1*o,A((e=>void 0===e.baseMin?e:{baseMin:s.computeBaseMinByDistance({dragDistance:t,prevBaseMin:e.baseMin,chartWidth:o,zoomMultiples:e.zoomMultiples}),zoomMultiples:e.zoomMultiples,targetMarginPriceX:e.targetMarginPriceX}))},W=e=>{A((t=>{const i=s.computeZoomMultiplesWhenZoom({zoomIn:null!=e&&e,prevZoomMultiples:t.zoomMultiples});return{baseMin:s.computeBaseAfterZoom({midPrice:p,zoomMultiples:i}),zoomMultiples:i,targetMarginPriceX:t.targetMarginPriceX}}))},F=i.useMemo((()=>{if(""===x)return!1;const t=new e(x);return!(!t.lte(0)&&!t.isNaN()&&(null==d?void 0:d.b)&&!t.gte(d.b))}),[x,d]),H=i.useMemo((()=>{if(""===f)return!1;const t=new e(f);return!(!t.lte(0)&&!t.isNaN()&&(null==d?void 0:d.b)&&!t.gte(d.b))}),[f,d]);return l.jsxRuntimeExports.jsxs(B,{id:r,children:[g?"":l.jsxRuntimeExports.jsxs(T,{children:[l.jsxRuntimeExports.jsxs(k,{borderColor:m&&m.grid,children:[s.chartT("pool.chart.buy-amount",{symbol:a}),l.jsxRuntimeExports.jsx(L,{value:x,error:F,onChange:e=>{const t=l.fixedInputStringToFormattedNumber(e.target.value,2);null!==t&&h(t)}}),l.jsxRuntimeExports.jsx(q,{children:s.chartT("pool.chart.price-impact",{amount:M})})]}),l.jsxRuntimeExports.jsxs(k,{borderColor:m&&m.grid,children:[s.chartT("pool.chart.sell-amount",{symbol:a}),l.jsxRuntimeExports.jsx(L,{value:f,error:H,onChange:e=>{const t=l.fixedInputStringToFormattedNumber(e.target.value,2);null!==t&&b(t)}}),l.jsxRuntimeExports.jsx(q,{children:s.chartT("pool.chart.price-impact",{amount:z})})]})]}),void 0!==d&&void 0!==p&&void 0!==c&&void 0!==O.baseMin&&void 0!==p&&l.jsxRuntimeExports.jsx(E,{width:o,height:n,params:d,midPrice:p,pmmModel:c,baseTokenSymbol:a,quoteTokenSymbol:u,baseMinAndZoomMultiples:O,colorMap:m,setBaseMinAndZoomMultiples:A}),l.jsxRuntimeExports.jsxs(R,{className:"operate-btn-wrapper",children:[l.jsxRuntimeExports.jsx(C,{onClick:()=>Z(!0),children:l.jsxRuntimeExports.jsx(v,{})}),l.jsxRuntimeExports.jsx(C,{onClick:()=>W(!1),children:l.jsxRuntimeExports.jsx(P,{})}),l.jsxRuntimeExports.jsx(C,{onClick:()=>W(!0),children:l.jsxRuntimeExports.jsx(y,{})}),l.jsxRuntimeExports.jsx(C,{onClick:()=>Z(!1),children:l.jsxRuntimeExports.jsx(j,{})})]})]})};