@dodoex/widgets 3.0.0 → 3.0.1-solana.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.
@@ -1,4 +1,4 @@
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-BKVBNDjK.cjs"),l=require("./index-lpcUFCfi.cjs"),a=require("@dodoex/api");require("@lingui/core"),require("@lingui/react"),require("@dodoex/components"),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-dom"),require("react-window"),require("@ethersproject/bignumber"),require("dayjs"),require("react-transition-group"),require("zustand"),require("axios"),require("recharts"),require("react-infinite-scroller"),require("rmc-date-picker");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`
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-BfA94C0a.cjs"),l=require("./index-DpM5nfM0.cjs"),a=require("@dodoex/api");require("@lingui/core"),require("@lingui/react"),require("@dodoex/components"),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("@solana/wallet-adapter-react"),require("@reduxjs/toolkit"),require("redux"),require("@tanstack/react-query"),require("@solana/web3.js"),require("react-dom"),require("react-window"),require("@ethersproject/bignumber"),require("dayjs"),require("react-transition-group"),require("zustand"),require("@solana/wallet-adapter-base"),require("@solana/wallet-adapter-wallets"),require("@solana/wallet-adapter-react-ui"),require("axios"),require("recharts"),require("react-infinite-scroller"),require("rmc-date-picker");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 w=r.input`
2
2
  margin: 4px 10px 4px 6px;
3
3
  border-radius: 10px;
4
4
  border: 1px solid #373739;
@@ -17,7 +17,7 @@
17
17
  border-color: red;
18
18
  `}
19
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),k=i.useRef(),{horizontalGridLines:q,verticalGridLines:T}=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,k.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!==k.current&&null!==z&&s.updateTooltip({x:k.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}),q.map(((e,t)=>l.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:h.grid,strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},t))),T.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`
20
+ `;const L="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,L,1,"#31645d"],leftLine:"#55f6db",leftColor:"",rightBg:[0,L,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),w=i.useRef(null),E=i.useRef(null),{current:z}=w,B=i.useRef(0),q=i.useRef(),{horizontalGridLines:k,verticalGridLines:T}=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 w=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(w,y),b.lte(0)&&d.unshift(0,t),{quoteLinePoints:i,quoteLineAreaPoints:[0,t,0,v,...i],quoteLineAreaLinearGradientEndPointY:v,baseLinePoints:d,baseLineAreaPoints:[...d,w,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,q.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!==q.current&&null!==z&&s.updateTooltip({x:q.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))),T.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:w,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
21
  margin: 0;
22
22
  border: none;
23
23
  padding: 0;
@@ -31,10 +31,10 @@
31
31
  }
32
32
  `,B=r.div`
33
33
  height: 100%;
34
- `,k=r.div`
34
+ `,q=r.div`
35
35
  display: flex;
36
36
  align-items: center;
37
- `,q=r.div`
37
+ `,k=r.div`
38
38
  border: 1px solid ${({borderColor:e})=>e||"#2a2a2d"};
39
39
  flex: 1 0 50%;
40
40
 
@@ -75,4 +75,4 @@
75
75
  &:hover {
76
76
  color: #fff;
77
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(k,{children:[l.jsxRuntimeExports.jsxs(q,{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(T,{children:s.chartT("pool.chart.price-impact",{amount:M})})]}),l.jsxRuntimeExports.jsxs(q,{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(T,{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,{})})]})]})};
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,L]=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?L("-"):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}})),L(`${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(q,{children:[l.jsxRuntimeExports.jsxs(k,{borderColor:m&&m.grid,children:[s.chartT("pool.chart.buy-amount",{symbol:a}),l.jsxRuntimeExports.jsx(w,{value:x,error:F,onChange:e=>{const t=l.fixedInputStringToFormattedNumber(e.target.value,2);null!==t&&h(t)}}),l.jsxRuntimeExports.jsx(T,{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(w,{value:f,error:H,onChange:e=>{const t=l.fixedInputStringToFormattedNumber(e.target.value,2);null!==t&&b(t)}}),l.jsxRuntimeExports.jsx(T,{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,{})})]})]})};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./index-lpcUFCfi.cjs");require("@lingui/react"),require("@lingui/core"),require("bignumber.js"),require("lodash"),require("@dodoex/components"),require("@dodoex/api"),require("react"),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-dom"),require("react-window"),require("@ethersproject/bignumber"),require("dayjs"),require("react-transition-group"),require("zustand"),require("axios"),require("recharts"),require("react-infinite-scroller"),require("rmc-date-picker"),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";var e=require("./index-DpM5nfM0.cjs");require("@lingui/react"),require("@lingui/core"),require("bignumber.js"),require("lodash"),require("@dodoex/components"),require("@dodoex/api"),require("react"),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("@solana/wallet-adapter-react"),require("@reduxjs/toolkit"),require("redux"),require("@tanstack/react-query"),require("@solana/web3.js"),require("react-dom"),require("react-window"),require("@ethersproject/bignumber"),require("dayjs"),require("react-transition-group"),require("zustand"),require("@solana/wallet-adapter-base"),require("@solana/wallet-adapter-wallets"),require("@solana/wallet-adapter-react-ui"),require("axios"),require("recharts"),require("react-infinite-scroller"),require("rmc-date-picker"),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;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export{E as EmptyList,F as FailedList,I as InitSwapWidget,g as Message,M as MetadataFlag,A 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,B 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,D as formatReadableNumber,f as formatShortNumber,G as formatTokenAmountNumber,C as getEtherscanPage,r as rpcServerMap,s as scanUrlDomainMap,i as useMessageState,x as usePoolBalanceInfo,u as useRouterStore,m as useTradeSwapOrderList}from"./index-BHHF0NMg.js";import"@lingui/react";import"@lingui/core";import"bignumber.js";import"lodash";import"@dodoex/components";import"@dodoex/api";import"react";import"react-redux";import"identicon.js";import"@web3-react/core";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@reduxjs/toolkit";import"redux";import"@tanstack/react-query";import"react-dom";import"react-window";import"@ethersproject/bignumber";import"dayjs";import"react-transition-group";import"zustand";import"axios";import"recharts";import"react-infinite-scroller";import"rmc-date-picker";
1
+ export{E as EmptyList,F as FailedList,I as InitSwapWidget,g as Message,M as MetadataFlag,A 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,B 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,D as formatReadableNumber,f as formatShortNumber,G as formatTokenAmountNumber,C as getEtherscanPage,r as rpcServerMap,s as scanUrlDomainMap,i as useMessageState,x as usePoolBalanceInfo,u as useRouterStore,m as useTradeSwapOrderList}from"./index-CIb0BonQ.js";import"@lingui/react";import"@lingui/core";import"bignumber.js";import"lodash";import"@dodoex/components";import"@dodoex/api";import"react";import"react-redux";import"identicon.js";import"@web3-react/core";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@solana/wallet-adapter-react";import"@reduxjs/toolkit";import"redux";import"@tanstack/react-query";import"@solana/web3.js";import"react-dom";import"react-window";import"@ethersproject/bignumber";import"dayjs";import"react-transition-group";import"zustand";import"@solana/wallet-adapter-base";import"@solana/wallet-adapter-wallets";import"@solana/wallet-adapter-react-ui";import"axios";import"recharts";import"react-infinite-scroller";import"rmc-date-picker";
@@ -10,12 +10,13 @@ import { InitTokenListProps } from '../../hooks/Token/useInitTokenList';
10
10
  import { ConfirmProps } from '../Confirm';
11
11
  import { DialogProps } from '../Swap/components/Dialog';
12
12
  import { Page } from '../../router';
13
+ import { useWallet } from '@solana/wallet-adapter-react';
13
14
  export declare const WIDGET_CLASS_NAME = "dodo-widget-container";
14
15
  export interface WidgetProps extends Web3ConnectorsProps, InitTokenListProps, ExecutionProps {
15
16
  apikey?: string;
16
17
  theme?: PartialDeep<ThemeOptions>;
17
18
  colorMode?: PaletteMode;
18
- defaultChainId?: ChainId;
19
+ defaultChainId?: number;
19
20
  width?: string | number;
20
21
  height?: string | number;
21
22
  feeRate?: number;
@@ -29,7 +30,7 @@ export interface WidgetProps extends Web3ConnectorsProps, InitTokenListProps, Ex
29
30
  crossChain?: boolean;
30
31
  noPowerBy?: boolean;
31
32
  noDocumentLink?: boolean;
32
- onlyChainId?: ChainId;
33
+ onlyChainId?: number;
33
34
  noUI?: boolean;
34
35
  noLangProvider?: boolean;
35
36
  noAutoConnect?: boolean;
@@ -40,6 +41,8 @@ export interface WidgetProps extends Web3ConnectorsProps, InitTokenListProps, Ex
40
41
  };
41
42
  /** When the winding status changes, no pop-up window will be displayed. */
42
43
  noSubmissionDialog?: boolean;
44
+ onlySolana?: boolean;
45
+ solanaWallet?: ReturnType<typeof useWallet>;
43
46
  onProviderChanged?: (provider?: any) => void;
44
47
  getStaticJsonRpcProviderByChainId?: Exclude<ConstructorParameters<typeof ContractRequests>[0], undefined>['getProvider'];
45
48
  widgetRef?: React.RefObject<HTMLDivElement>;
@@ -1,7 +1,8 @@
1
1
  export declare enum WalletType {
2
2
  INTEGRATOR = "integrator",
3
3
  METAMASK = "metamask",
4
- WALLET_CONNECT = "walletConnect"
4
+ WALLET_CONNECT = "walletConnect",
5
+ SOLANG = "solang"
5
6
  }
6
7
  export declare const WalletMap: {
7
8
  metamask: {
@@ -19,4 +20,11 @@ export declare const WalletMap: {
19
20
  title?: string;
20
21
  }>;
21
22
  };
23
+ solang: {
24
+ name: string;
25
+ type: WalletType;
26
+ icon: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
27
+ title?: string;
28
+ }>;
29
+ };
22
30
  };
@@ -3,6 +3,7 @@ export declare function useWalletInfo(): {
3
3
  account: string | undefined;
4
4
  chainId: ChainId;
5
5
  connectedChainId: number | undefined;
6
- defaultChainId: ChainId | undefined;
7
- onlyChainId: ChainId | undefined;
6
+ defaultChainId: number | undefined;
7
+ onlyChainId: number | undefined;
8
+ isSolana: boolean | undefined;
8
9
  };
@@ -1,4 +1,5 @@
1
- export default function useFetchETHBalance(chainId?: number): import("@tanstack/react-query").UseQueryResult<{
1
+ import BigNumber from 'bignumber.js';
2
+ export default function useFetchETHBalance(chainId?: number): import("@tanstack/react-query").QueryObserverRefetchErrorResult<{
2
3
  symbol: string;
3
4
  address: string;
4
5
  name: string;
@@ -18,4 +19,94 @@ export default function useFetchETHBalance(chainId?: number): import("@tanstack/
18
19
  allowance: import("bignumber.js").BigNumber;
19
20
  chainId: number;
20
21
  account?: undefined;
21
- } | null, Error>;
22
+ } | null, Error> | import("@tanstack/react-query").QueryObserverSuccessResult<{
23
+ symbol: string;
24
+ address: string;
25
+ name: string;
26
+ decimals: number;
27
+ balance: import("bignumber.js").BigNumber;
28
+ allowance: import("bignumber.js").BigNumber;
29
+ account: string;
30
+ spender: string | undefined;
31
+ chainId: number;
32
+ } | {
33
+ address: string;
34
+ decimals: number;
35
+ symbol: string;
36
+ name: string;
37
+ balance: import("bignumber.js").BigNumber;
38
+ spender: string | undefined;
39
+ allowance: import("bignumber.js").BigNumber;
40
+ chainId: number;
41
+ account?: undefined;
42
+ } | null, Error> | import("@tanstack/react-query").QueryObserverLoadingErrorResult<{
43
+ symbol: string;
44
+ address: string;
45
+ name: string;
46
+ decimals: number;
47
+ balance: import("bignumber.js").BigNumber;
48
+ allowance: import("bignumber.js").BigNumber;
49
+ account: string;
50
+ spender: string | undefined;
51
+ chainId: number;
52
+ } | {
53
+ address: string;
54
+ decimals: number;
55
+ symbol: string;
56
+ name: string;
57
+ balance: import("bignumber.js").BigNumber;
58
+ spender: string | undefined;
59
+ allowance: import("bignumber.js").BigNumber;
60
+ chainId: number;
61
+ account?: undefined;
62
+ } | null, Error> | import("@tanstack/react-query").QueryObserverPendingResult<{
63
+ symbol: string;
64
+ address: string;
65
+ name: string;
66
+ decimals: number;
67
+ balance: import("bignumber.js").BigNumber;
68
+ allowance: import("bignumber.js").BigNumber;
69
+ account: string;
70
+ spender: string | undefined;
71
+ chainId: number;
72
+ } | {
73
+ address: string;
74
+ decimals: number;
75
+ symbol: string;
76
+ name: string;
77
+ balance: import("bignumber.js").BigNumber;
78
+ spender: string | undefined;
79
+ allowance: import("bignumber.js").BigNumber;
80
+ chainId: number;
81
+ account?: undefined;
82
+ } | null, Error> | import("@tanstack/react-query").QueryObserverRefetchErrorResult<{
83
+ balance: BigNumber;
84
+ allowance: BigNumber;
85
+ symbol: string;
86
+ address: string;
87
+ name: string;
88
+ decimals: number;
89
+ showDecimals: number;
90
+ wrappedTokenSymbol: string;
91
+ wrappedTokenAddress: string;
92
+ }, Error> | import("@tanstack/react-query").QueryObserverSuccessResult<{
93
+ balance: BigNumber;
94
+ allowance: BigNumber;
95
+ symbol: string;
96
+ address: string;
97
+ name: string;
98
+ decimals: number;
99
+ showDecimals: number;
100
+ wrappedTokenSymbol: string;
101
+ wrappedTokenAddress: string;
102
+ }, Error> | import("@tanstack/react-query").QueryObserverPendingResult<{
103
+ balance: BigNumber;
104
+ allowance: BigNumber;
105
+ symbol: string;
106
+ address: string;
107
+ name: string;
108
+ decimals: number;
109
+ showDecimals: number;
110
+ wrappedTokenSymbol: string;
111
+ wrappedTokenAddress: string;
112
+ }, Error>;
@@ -4,9 +4,8 @@ type TokenInfoMap = Map<string, {
4
4
  balance: BigNumber;
5
5
  allowance: BigNumber;
6
6
  }>;
7
- export default function useFetchTokens({ tokenList, addresses: addressesProps, blockNumber, chainId, skip, }: {
7
+ export default function useFetchTokens({ tokenList, blockNumber, chainId, skip, }: {
8
8
  tokenList?: TokenList;
9
- addresses?: string[];
10
9
  blockNumber?: number;
11
10
  chainId?: number;
12
11
  skip?: boolean;
@@ -0,0 +1,18 @@
1
+ export declare function useSolanaConnection(): {
2
+ fetchETHBalance: () => Promise<{
3
+ amount: import("bignumber.js").BigNumber;
4
+ decimals: number;
5
+ uiAmount: number;
6
+ uiAmountString: string;
7
+ }>;
8
+ fetchTokenBalance: (address: string) => Promise<{
9
+ amount: import("bignumber.js").BigNumber;
10
+ decimals: number;
11
+ uiAmount: number;
12
+ uiAmountString: string;
13
+ } | {
14
+ context: import("@solana/web3.js").Context;
15
+ value: import("@solana/web3.js").TokenAmount;
16
+ amount: import("bignumber.js").BigNumber;
17
+ }>;
18
+ };
@@ -0,0 +1 @@
1
+ export declare function useSolanaWallet(): import("@solana/wallet-adapter-react").WalletContextState;
@@ -0,0 +1,4 @@
1
+ /** https://github.com/anza-xyz/wallet-adapter/blob/master/APP.md */
2
+ import { PropsWithChildren } from 'react';
3
+ import '@solana/wallet-adapter-react-ui/styles.css';
4
+ export declare function SolanaReactProvider(props: PropsWithChildren): JSX.Element;
@@ -4,7 +4,7 @@ export declare function useRewardListAmount({ miningItem, }: {
4
4
  miningItem: FetchMiningListItem;
5
5
  }): {
6
6
  data: {
7
- amount: BigNumber | null | undefined;
7
+ amount: import("bignumber.js").BigNumber | null | undefined;
8
8
  address: string;
9
9
  symbol: string;
10
10
  decimals: number;
@@ -27,21 +27,21 @@ export declare function useLiquidityOperateAmount({ pool, maxBaseAmount, maxQuot
27
27
  amountLoading: false;
28
28
  amountError: boolean;
29
29
  amountRefetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
30
- midPrice: BigNumber | undefined;
30
+ midPrice: import("bignumber.js").BigNumber | undefined;
31
31
  pmmParamsBG: {
32
- q: BigNumber;
33
- b: BigNumber;
34
- k: BigNumber;
35
- i: BigNumber;
36
- b0: BigNumber;
37
- q0: BigNumber;
32
+ q: import("bignumber.js").BigNumber;
33
+ b: import("bignumber.js").BigNumber;
34
+ k: import("bignumber.js").BigNumber;
35
+ i: import("bignumber.js").BigNumber;
36
+ b0: import("bignumber.js").BigNumber;
37
+ q0: import("bignumber.js").BigNumber;
38
38
  R: number;
39
- lpFeeRate: BigNumber | undefined;
40
- mtFeeRate: BigNumber | undefined;
39
+ lpFeeRate: import("bignumber.js").BigNumber | undefined;
40
+ mtFeeRate: import("bignumber.js").BigNumber | undefined;
41
41
  };
42
- baseReserve: BigNumber;
43
- quoteReserve: BigNumber;
42
+ baseReserve: import("bignumber.js").BigNumber;
43
+ quoteReserve: import("bignumber.js").BigNumber;
44
44
  } | null, Error>>;
45
45
  amountCheckedDisabled: boolean;
46
- midPrice: BigNumber | undefined;
46
+ midPrice: import("bignumber.js").BigNumber | undefined;
47
47
  };
@@ -14,23 +14,23 @@ export declare function usePoolBalanceInfo({ account, pool, }: {
14
14
  };
15
15
  }): {
16
16
  /** existing base lp balance */
17
- totalBaseLpBalance: BigNumber | null | undefined;
17
+ totalBaseLpBalance: import("bignumber.js").BigNumber | null | undefined;
18
18
  /** existing quote lp balance */
19
- totalQuoteLpBalance: BigNumber | null | undefined;
19
+ totalQuoteLpBalance: import("bignumber.js").BigNumber | null | undefined;
20
20
  /** the total deposited base lp balance */
21
- baseReserve: BigNumber | undefined;
21
+ baseReserve: import("bignumber.js").BigNumber | undefined;
22
22
  /** the total deposited quote lp balance */
23
- quoteReserve: BigNumber | undefined;
23
+ quoteReserve: import("bignumber.js").BigNumber | undefined;
24
24
  /** classical base equilibrium target */
25
- classicalBaseTarget: BigNumber | undefined;
25
+ classicalBaseTarget: import("bignumber.js").BigNumber | undefined;
26
26
  /** classical quote equilibrium target */
27
- classicalQuoteTarget: BigNumber | undefined;
27
+ classicalQuoteTarget: import("bignumber.js").BigNumber | undefined;
28
28
  /** the user's existing base lp balance */
29
- userBaseLpBalance: Balance;
29
+ userBaseLpBalance: import("bignumber.js").BigNumber | Balance;
30
30
  /** the user's existing quote lp balance */
31
- userQuoteLpBalance: Balance;
31
+ userQuoteLpBalance: import("bignumber.js").BigNumber | Balance;
32
32
  /** The number of base that can be obtained when a user withdraws from the pool */
33
- userBaseLpToTokenBalance: BigNumber | undefined;
33
+ userBaseLpToTokenBalance: BigNumber | import("bignumber.js").BigNumber | undefined;
34
34
  /** The number of quote that can be obtained when a user withdraws from the pool */
35
35
  userQuoteLpToTokenBalance: BigNumber | null | undefined;
36
36
  baseLpToTokenProportion: BigNumber | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodoex/widgets",
3
- "version": "3.0.0",
3
+ "version": "3.0.1-solana.1",
4
4
  "description": "DODO Widgets",
5
5
  "source": "src/index.tsx",
6
6
  "types": "dist/types/index.d.ts",
@@ -71,6 +71,12 @@
71
71
  "@reduxjs/toolkit": "^1.6.1",
72
72
  "@semantic-release/changelog": "^6.0.1",
73
73
  "@semantic-release/git": "^10.0.1",
74
+ "@solana/react": "^2.0.0",
75
+ "@solana/wallet-adapter-base": "^0.9.23",
76
+ "@solana/wallet-adapter-react": "^0.15.35",
77
+ "@solana/wallet-adapter-react-ui": "^0.9.35",
78
+ "@solana/wallet-adapter-wallets": "^0.19.32",
79
+ "@solana/web3.js": "^1.95.5",
74
80
  "@tanstack/react-query": "^5.18.1",
75
81
  "@web3-react/core": "8.2.0",
76
82
  "@web3-react/eip1193": "8.2.0",