@dodoex/widgets 3.0.2-zetachain.17 → 3.0.2-zetachain.18

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
- import t from"bignumber.js";import{merge as e,throttle as i,debounce as o}from"lodash";import r,{useEffect as n,useMemo as l,useRef as s,useState as a}from"react";import d from"@emotion/styled";import{css as c}from"@emotion/react";import{Stage as u,Layer as p,Rect as m,Line as g,Text as h,Circle as b,Label as f,Tag as M}from"react-konva";import{c as x,e as v,a as y,b as P,d as w,f as j,u as z,g as L,h as k,l as B,i as C,j as S,k as N}from"./helper-CUW_GVxj.js";import{f as O,j as X,a as T,b as A}from"./index-D1JXiyF_.js";import{solveQuadraticFunctionForTarget as q,PMMModel as W}from"@dodoex/api";import"@lingui/core";import"@lingui/react";import"@dodoex/components";import"@reown/appkit-utils";import"@web3-react/core";import"@solana/web3.js";import"@reown/appkit/networks";import"axios";import"@ethersproject/bignumber";import"zustand";import"@dodoex/dodo-contract-request";import"@reown/appkit/react";import"@tanstack/react-query";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@ethersproject/contracts";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@ethersproject/units";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";var E={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},F=r.createContext&&r.createContext(E),H=["attr","size","title"];function Z(t,e){if(null==t)return{};var i,o,r=function(t,e){if(null==t)return{};var i,o,r={},n=Object.keys(t);for(o=0;o<n.length;o++)i=n[o],e.indexOf(i)>=0||(r[i]=t[i]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)i=n[o],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function G(){return G=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},G.apply(this,arguments)}function D(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function J(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?D(Object(i),!0).forEach((function(e){V(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):D(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function V(t,e,i){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,e||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function Y(t){return t&&t.map(((t,e)=>r.createElement(t.tag,J({key:e},t.attr),Y(t.child))))}function I(t){return e=>r.createElement(R,G({attr:J({},t.attr)},e),Y(t.child))}function R(t){var e=e=>{var i,{attr:o,size:n,title:l}=t,s=Z(t,H),a=n||e.size||"1em";return e.className&&(i=e.className),t.className&&(i=(i?i+" ":"")+t.className),r.createElement("svg",G({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},e.attr,o,s,{className:i,style:J(J({color:t.color||e.color},e.style),t.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),l&&r.createElement("title",null,l),t.children)};return void 0!==F?r.createElement(F.Consumer,null,(t=>e(t))):e(E)}function $(t){return I({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:[]}]})(t)}function Q(t){return I({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:[]}]})(t)}function K(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M5 11h14v2H5z"},child:[]}]})(t)}function U(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z"},child:[]}]})(t)}const _=d.input`
1
+ import t from"bignumber.js";import{merge as e,throttle as i,debounce as o}from"lodash";import r,{useEffect as n,useMemo as l,useRef as s,useState as a}from"react";import d from"@emotion/styled";import{css as c}from"@emotion/react";import{Stage as u,Layer as p,Rect as m,Line as g,Text as h,Circle as b,Label as f,Tag as M}from"react-konva";import{c as x,e as v,a as y,b as P,d as w,f as j,u as z,g as L,h as k,l as B,i as C,j as S,k as N}from"./helper-C3iswQu9.js";import{f as O,j as X,a as T,b as A}from"./index-CRHcwbH_.js";import{solveQuadraticFunctionForTarget as q,PMMModel as W}from"@dodoex/api";import"@lingui/core";import"@lingui/react";import"@dodoex/components";import"@reown/appkit-utils";import"@solana/web3.js";import"@reown/appkit/networks";import"axios";import"@web3-react/core";import"@ethersproject/bignumber";import"zustand";import"@dodoex/dodo-contract-request";import"@reown/appkit/react";import"@tanstack/react-query";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@ethersproject/contracts";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@ethersproject/units";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";var E={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},F=r.createContext&&r.createContext(E),H=["attr","size","title"];function Z(t,e){if(null==t)return{};var i,o,r=function(t,e){if(null==t)return{};var i,o,r={},n=Object.keys(t);for(o=0;o<n.length;o++)i=n[o],e.indexOf(i)>=0||(r[i]=t[i]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)i=n[o],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function G(){return G=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},G.apply(this,arguments)}function D(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function J(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?D(Object(i),!0).forEach((function(e){V(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):D(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function V(t,e,i){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,e||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function Y(t){return t&&t.map(((t,e)=>r.createElement(t.tag,J({key:e},t.attr),Y(t.child))))}function I(t){return e=>r.createElement(R,G({attr:J({},t.attr)},e),Y(t.child))}function R(t){var e=e=>{var i,{attr:o,size:n,title:l}=t,s=Z(t,H),a=n||e.size||"1em";return e.className&&(i=e.className),t.className&&(i=(i?i+" ":"")+t.className),r.createElement("svg",G({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},e.attr,o,s,{className:i,style:J(J({color:t.color||e.color},e.style),t.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),l&&r.createElement("title",null,l),t.children)};return void 0!==F?r.createElement(F.Consumer,null,(t=>e(t))):e(E)}function $(t){return I({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:[]}]})(t)}function Q(t){return I({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:[]}]})(t)}function K(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M5 11h14v2H5z"},child:[]}]})(t)}function U(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z"},child:[]}]})(t)}const _=d.input`
2
2
  margin: 4px 10px 4px 6px;
3
3
  border-radius: 10px;
4
4
  border: 1px solid #373739;
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./index-TUzWwLr3.cjs");require("@lingui/react"),require("@lingui/core"),require("@dodoex/api"),require("@dodoex/components"),require("react"),require("@reown/appkit-utils"),require("@web3-react/core"),require("bignumber.js"),require("lodash"),require("@solana/web3.js"),require("@reown/appkit/networks"),require("axios"),require("@ethersproject/bignumber"),require("zustand"),require("@dodoex/dodo-contract-request"),require("@reown/appkit/react"),require("@tanstack/react-query"),require("@web3-react/eip1193"),require("@web3-react/walletconnect-v2"),require("@web3-react/metamask"),require("@web3-react/types"),require("@ethersproject/contracts"),require("identicon.js"),require("react-dom"),require("dayjs"),require("react-transition-group"),require("@dodoex/contract-request"),require("recharts"),require("react-window"),require("jsbi"),require("tiny-invariant"),require("@ethersproject/units"),require("@uniswap/sdk-core"),require("@uniswap/v2-sdk"),require("react-infinite-scroller"),require("d3"),require("rmc-date-picker"),exports.AMMV2Create=e.AMMV2Create,exports.AMMV3PositionManage=e.AMMV3PositionManage,exports.AMMV3PositionsView=e.AMMV3PositionsView,exports.AddLiquidityV3=e.AddLiquidityV3,exports.EmptyList=e.EmptyList,exports.FailedList=e.FailedList,exports.InitSwapWidget=e.InitSwapWidget,exports.Message=e.Message,Object.defineProperty(exports,"MetadataFlag",{enumerable:!0,get:function(){return e.MetadataFlag}}),exports.MiningCreate=e.MiningCreate,exports.MiningDetail=e.MiningDetail,exports.MiningList=e.MiningList,Object.defineProperty(exports,"PageType",{enumerable:!0,get:function(){return e.PageType}}),exports.Pool=e.Pool,exports.PoolCreate=e.PoolCreate,exports.PoolDetail=e.PoolDetail,exports.PoolList=e.PoolList,exports.PoolModify=e.PoolModify,exports.PoolOperate=e.PoolOperate,exports.PoolOperateDialog=e.PoolOperateDialog,exports.PoolWidget=e.PoolWidget,exports.Swap=e.Swap,exports.SwapOrderHistory=e.SwapOrderHistory,exports.SwapWidget=e.SwapWidget,exports.TokenCard=e.TokenCard,exports.TokenLogo=e.TokenLogo,exports.UnstyleWidget=e.UnstyleWidget,exports.WIDGET_CLASS_NAME=e.WIDGET_CLASS_NAME,exports.WIDGET_MODULE_CLASS_NAME=e.WIDGET_MODULE_CLASS_NAME,exports.Widget=e.Widget,exports.chainListMap=e.chainListMap,exports.formatPercentageNumber=e.formatPercentageNumber,exports.formatReadableNumber=e.formatReadableNumber,exports.formatShortNumber=e.formatShortNumber,exports.formatTokenAmountNumber=e.formatTokenAmountNumber,exports.getEtherscanPage=e.getEtherscanPage,exports.rpcServerMap=e.rpcServerMap,exports.scanUrlDomainMap=e.scanUrlDomainMap,exports.useMessageState=e.useMessageState,exports.usePoolBalanceInfo=e.usePoolBalanceInfo,exports.useRouterStore=e.useRouterStore,exports.useTradeSwapOrderList=e.useTradeSwapOrderList;
1
+ "use strict";var e=require("./index-DS2Wlin8.cjs");require("@lingui/react"),require("@lingui/core"),require("@dodoex/api"),require("@dodoex/components"),require("react"),require("@reown/appkit-utils"),require("bignumber.js"),require("lodash"),require("@solana/web3.js"),require("@reown/appkit/networks"),require("axios"),require("@web3-react/core"),require("@ethersproject/bignumber"),require("zustand"),require("@dodoex/dodo-contract-request"),require("@reown/appkit/react"),require("@tanstack/react-query"),require("@web3-react/eip1193"),require("@web3-react/walletconnect-v2"),require("@web3-react/metamask"),require("@web3-react/types"),require("@ethersproject/contracts"),require("identicon.js"),require("react-dom"),require("dayjs"),require("react-transition-group"),require("@dodoex/contract-request"),require("recharts"),require("react-window"),require("jsbi"),require("tiny-invariant"),require("@ethersproject/units"),require("@uniswap/sdk-core"),require("@uniswap/v2-sdk"),require("react-infinite-scroller"),require("d3"),require("rmc-date-picker"),exports.AMMV2Create=e.AMMV2Create,exports.AMMV3PositionManage=e.AMMV3PositionManage,exports.AMMV3PositionsView=e.AMMV3PositionsView,exports.AddLiquidityV3=e.AddLiquidityV3,exports.EmptyList=e.EmptyList,exports.FailedList=e.FailedList,exports.InitSwapWidget=e.InitSwapWidget,exports.Message=e.Message,Object.defineProperty(exports,"MetadataFlag",{enumerable:!0,get:function(){return e.MetadataFlag}}),exports.MiningCreate=e.MiningCreate,exports.MiningDetail=e.MiningDetail,exports.MiningList=e.MiningList,Object.defineProperty(exports,"PageType",{enumerable:!0,get:function(){return e.PageType}}),exports.Pool=e.Pool,exports.PoolCreate=e.PoolCreate,exports.PoolDetail=e.PoolDetail,exports.PoolList=e.PoolList,exports.PoolModify=e.PoolModify,exports.PoolOperate=e.PoolOperate,exports.PoolOperateDialog=e.PoolOperateDialog,exports.PoolWidget=e.PoolWidget,exports.Swap=e.Swap,exports.SwapOrderHistory=e.SwapOrderHistory,exports.SwapWidget=e.SwapWidget,exports.TokenCard=e.TokenCard,exports.TokenLogo=e.TokenLogo,exports.UnstyleWidget=e.UnstyleWidget,exports.WIDGET_CLASS_NAME=e.WIDGET_CLASS_NAME,exports.WIDGET_MODULE_CLASS_NAME=e.WIDGET_MODULE_CLASS_NAME,exports.Widget=e.Widget,exports.chainListMap=e.chainListMap,exports.formatPercentageNumber=e.formatPercentageNumber,exports.formatReadableNumber=e.formatReadableNumber,exports.formatShortNumber=e.formatShortNumber,exports.formatTokenAmountNumber=e.formatTokenAmountNumber,exports.getEtherscanPage=e.getEtherscanPage,exports.rpcServerMap=e.rpcServerMap,exports.scanUrlDomainMap=e.scanUrlDomainMap,exports.useMessageState=e.useMessageState,exports.usePoolBalanceInfo=e.usePoolBalanceInfo,exports.useRouterStore=e.useRouterStore,exports.useTradeSwapOrderList=e.useTradeSwapOrderList;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export{A as AMMV2Create,E as AMMV3PositionManage,D as AMMV3PositionsView,C as AddLiquidityV3,H as EmptyList,G as FailedList,I as InitSwapWidget,g as Message,M as MetadataFlag,B as MiningCreate,z as MiningDetail,y as MiningList,c as PageType,n as Pool,p as PoolCreate,t as PoolDetail,o as PoolList,q as PoolModify,w as PoolOperate,v as PoolOperateDialog,P as PoolWidget,k as Swap,l as SwapOrderHistory,S as SwapWidget,T as TokenCard,F as TokenLogo,U as UnstyleWidget,W as WIDGET_CLASS_NAME,h as WIDGET_MODULE_CLASS_NAME,e as Widget,d as chainListMap,a as formatPercentageNumber,K as formatReadableNumber,f as formatShortNumber,L as formatTokenAmountNumber,J as getEtherscanPage,r as rpcServerMap,s as scanUrlDomainMap,i as useMessageState,x as usePoolBalanceInfo,u as useRouterStore,m as useTradeSwapOrderList}from"./index-D1JXiyF_.js";import"@lingui/react";import"@lingui/core";import"@dodoex/api";import"@dodoex/components";import"react";import"@reown/appkit-utils";import"@web3-react/core";import"bignumber.js";import"lodash";import"@solana/web3.js";import"@reown/appkit/networks";import"axios";import"@ethersproject/bignumber";import"zustand";import"@dodoex/dodo-contract-request";import"@reown/appkit/react";import"@tanstack/react-query";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@ethersproject/contracts";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@ethersproject/units";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";
1
+ export{A as AMMV2Create,E as AMMV3PositionManage,D as AMMV3PositionsView,C as AddLiquidityV3,H as EmptyList,G as FailedList,I as InitSwapWidget,g as Message,M as MetadataFlag,B as MiningCreate,z as MiningDetail,y as MiningList,c as PageType,n as Pool,p as PoolCreate,t as PoolDetail,o as PoolList,q as PoolModify,w as PoolOperate,v as PoolOperateDialog,P as PoolWidget,k as Swap,l as SwapOrderHistory,S as SwapWidget,T as TokenCard,F as TokenLogo,U as UnstyleWidget,W as WIDGET_CLASS_NAME,h as WIDGET_MODULE_CLASS_NAME,e as Widget,d as chainListMap,a as formatPercentageNumber,K as formatReadableNumber,f as formatShortNumber,L as formatTokenAmountNumber,J as getEtherscanPage,r as rpcServerMap,s as scanUrlDomainMap,i as useMessageState,x as usePoolBalanceInfo,u as useRouterStore,m as useTradeSwapOrderList}from"./index-CRHcwbH_.js";import"@lingui/react";import"@lingui/core";import"@dodoex/api";import"@dodoex/components";import"react";import"@reown/appkit-utils";import"bignumber.js";import"lodash";import"@solana/web3.js";import"@reown/appkit/networks";import"axios";import"@web3-react/core";import"@ethersproject/bignumber";import"zustand";import"@dodoex/dodo-contract-request";import"@reown/appkit/react";import"@tanstack/react-query";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"@ethersproject/contracts";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@ethersproject/units";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";
@@ -1,6 +1,7 @@
1
1
  import { ContractRequests, TokenApi, ChainId } from '@dodoex/api';
2
2
  export declare enum APIServiceKey {
3
3
  routePrice = "routePrice",
4
+ solanaRoutePrice = "solanaRoutePrice",
4
5
  fiatPrice = "fiatPrice",
5
6
  bridgeRoutePrice = "bridgeRoutePrice",
6
7
  bridgeEncode = "bridgeEncode",
@@ -13,8 +14,96 @@ export declare const AppUrl = "https://app.dodoex.io";
13
14
  export declare const getCGTokenListAPI: (chainId: ChainId) => any;
14
15
  /**
15
16
  https://api.dodoex.io/route-service/zetachain/swap?apikey=d5f476a6fd58e5e989&slippage=5&chainId=7001&source=dodoMix&fromTokenAddress=0x4bC32034caCcc9B7e02536945eDbC286bACbA073&toTokenAddress=0xcC683A782f4B30c138787CB5576a86AF66fdc31d&fromAmount=100000&userAddr=0x996AF9757c4995A91E3A9b2fAd59e72eE4436382
17
+
18
+
19
+ {
20
+ "status": 200,
21
+ "data": {
22
+ "resAmount": 0.100184,
23
+ "resPricePerToToken": 0.9981633793819373,
24
+ "resPricePerFromToken": 1.0018399999999998,
25
+ "priceImpact": 0,
26
+ "useSource": "DODORoute",
27
+ "targetDecimals": 6,
28
+ "targetApproveAddr": "0x143bE32C854E4Ddce45aD48dAe3343821556D0c3",
29
+ "to": "0x026eea5c10f526153e7578E5257801f8610D1142",
30
+ "data": "0xff84aafa0000000000000000000000004bc32034caccc9b7e02536945edbc286bacba073000000000000000000000000cc683a782f4b30c138787cb5576a86af66fdc31d00000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000001875800000000000000000000000000000000000000000000000000000000000173c6000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000682d987600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000f9053e174c123098c17e60a2b1fab3b303f9e2900000000000000000000000000000000000000000000000000000000000000010000000000000000000000004f59b88556c1b133939b2655729ad53226ed5fad00000000000000000000000000000000000000000000000000000000000000020000000000000000000000004f59b88556c1b133939b2655729ad53226ed5fad000000000000000000000000026eea5c10f526153e7578e5257801f8610d11420000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
31
+ "minReturnAmount": "95174",
32
+ "gasLimit": "0",
33
+ "routeInfo": {
34
+ "subRouteTotalPart": 100,
35
+ "subRoute": [
36
+ {
37
+ "midPathPart": 100,
38
+ "midPath": [
39
+ {
40
+ "fromToken": "0x4bc32034caccc9b7e02536945edbc286bacba073",
41
+ "toToken": "0xcc683a782f4b30c138787cb5576a86af66fdc31d",
42
+ "oneSplitTotalPart": 20,
43
+ "poolDetails": [
44
+ {
45
+ "poolName": "DODOV2",
46
+ "pool": "0x4f59b88556c1b133939b2655729ad53226ed5fad",
47
+ "poolPart": 20,
48
+ "poolInAmount": "100000",
49
+ "poolOutAmount": "100184"
50
+ }
51
+ ],
52
+ "fromAmount": "100000",
53
+ "toAmount": "100184"
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ },
59
+ "value": "0",
60
+ "id": "4767a82128f23ea114ae4f05c4faef21"
61
+ }
62
+ }
63
+
16
64
  */
17
65
  export declare const RoutePriceAPI = "https://api.dodoex.io/route-service/zetachain/swap";
66
+ /**
67
+ https://api.dodoex.io/route-service/zetachain/svm/swap?apikey=d5f476a6fd58e5e989&inputMint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&outputMint=Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB&amount=1000000&user=CjeWeg7Pfyq5VcakxaUwBHCZoEePKYuZTYgfkXaaiCw3&chainId=solana-mainnet&slippageBps=32&source=jupiter
68
+
69
+
70
+ {
71
+ "status": 200,
72
+ "data": {
73
+ "resAmount": 0.999554,
74
+ "priceImpact": 0.00010563595848026669,
75
+ "useSource": "Jupiter",
76
+ "inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
77
+ "inAmount": "1000000",
78
+ "inputMintDecimal": 6,
79
+ "outputMint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
80
+ "outAmount": "999554",
81
+ "outputMintDecimal": 6,
82
+ "minOutAmount": "996356",
83
+ "inAmountWithOutDecimals": 1,
84
+ "outAmountWithOutDecimals": 0.999554,
85
+ "slippageBps": 32,
86
+ "routePlan": [
87
+ {
88
+ "swapInfo": {
89
+ "ammKey": "5K7CHUbBYAh6wrantyJvDDqwT4VoKuZTi73CN1DTUUer",
90
+ "label": "Stabble Stable Swap",
91
+ "inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
92
+ "outputMint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
93
+ "inAmount": "1000000",
94
+ "outAmount": "999554",
95
+ "feeAmount": "10",
96
+ "feeMint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
97
+ },
98
+ "percent": 100
99
+ }
100
+ ],
101
+ "data": "AIABAAgLrl1dPXkIuWhzYVhFtYxb+JQ3GoZqa2pq14bW0E52rOJp7jJXlYhamzIeZUst3brLJbcQ9ZMduX/Gud3GUE0+/6/x/V52dT9Bjl8YSwqdPxo1PUQ8QzrmBC38ogNXtRwqxvp6877brTo9ZfNqq8l0MbG75MLS9uDkfKYCA0UvXWHOAQ5gr+2yJxe9YxkvVBRaP5ZaM7uC0scCnrLOHiCCZIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEedVb8jHAbu50xW7OaBUH/bGy3qP0jlECsc2iVrwTj7Q/+if11/ZKdMCbHylYed5LCas238ndUUsyGqezjOXoAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAABynzuLbKQ30Ca3pj/0Wq5lWzvmdbFt2OddEbICsJmWXzN8dj2NJQ6itko+eogXWBEuAwQlfGA3cbUcKdhqHrdTAgkABQKcQBAACh4AAwQCAQ8FBg8AAgEHBAcIBxAAAgELDA0OERITFA9H4a81SdQvNO1AQg8AAAAAAIJADwAAAAAABDQPAAAAAAAjAAAA5RfLl3rjrSoBAAAAOGQAAUBCDwAAAAAAgkAPAAAAAAAgAAABWX05K6qoNBpFvohhQGiBxG4ZEV+GAgS6FrxyNTh9k9oETqYKoQYEERQMDQc=",
102
+ "lastValidBlockHeight": 319671584
103
+ }
104
+ }
105
+ */
106
+ export declare const SolanaRoutePriceAPI = "https://api.dodoex.io/route-service/zetachain/svm/swap";
18
107
  export declare const FiatPriceAPI = "https://api.dodoex.io/frontend-price-api/current/batch";
19
108
  export declare function getAPIService(key: APIServiceKey, serviceProps?: Partial<APIServices>): string;
20
109
  export declare const contractRequests: ContractRequests;
@@ -7,6 +7,9 @@ export interface ChainListItem {
7
7
  name: string;
8
8
  mainnet?: ChainId;
9
9
  caipNetwork: AppKitNetwork;
10
+ isEVMChain: boolean;
11
+ isSolanaChain: boolean;
12
+ isBTCChain: boolean;
10
13
  }
11
14
  export declare const chainListMap: Map<ChainId, ChainListItem>;
12
15
  export declare const isTestNet: (chainId: ChainId) => boolean;
@@ -1,4 +1,5 @@
1
1
  import { ChainId } from '@dodoex/api';
2
+ import { type Provider } from '@reown/appkit-adapter-solana/react';
2
3
  export declare function useWalletInfo(): {
3
4
  open: <View extends import("@reown/appkit/dist/types/src/client/appkit-base-client").Views>(options?: import("@reown/appkit/dist/types/src/client/appkit-base-client").OpenOptions<View>) => Promise<void>;
4
5
  close: () => Promise<void>;
@@ -16,9 +17,12 @@ export declare function useWalletInfo(): {
16
17
  evmAccount: import("@reown/appkit/react").UseAppKitAccountReturn;
17
18
  solanaAccount: import("@reown/appkit/react").UseAppKitAccountReturn;
18
19
  bitcoinAccount: import("@reown/appkit/react").UseAppKitAccountReturn;
20
+ solanaWalletProvider: Provider;
21
+ solanaConnection: import("@solana/web3.js").Connection | undefined;
19
22
  getAppKitAccountByChainId: (targetChainId: ChainId | undefined) => {
20
23
  appKitAccount: import("@reown/appkit/react").UseAppKitAccountReturn;
21
24
  namespace: import("@reown/appkit-common").ChainNamespace;
22
25
  targetCaipNetwork: import("@reown/appkit/networks").AppKitNetwork;
26
+ chain: import("../../constants/chainList").ChainListItem;
23
27
  } | undefined;
24
28
  };
@@ -58,7 +58,31 @@ export interface Showing {
58
58
  spec: StepSpec;
59
59
  submitState?: SubmitState;
60
60
  }
61
+ export interface ExecuteCustomHandlerParameters {
62
+ onSubmit: (tx: string, params?: {
63
+ reportInfo?: Record<string, any>;
64
+ showing?: Partial<Showing> | null;
65
+ }) => void;
66
+ onSuccess: (tx: string, params?: {
67
+ reportInfo?: Record<string, any>;
68
+ notShowingDone?: boolean;
69
+ showing?: Partial<Showing>;
70
+ }) => Promise<void>;
71
+ onError: (e: any) => void;
72
+ setShowing: React.Dispatch<React.SetStateAction<Showing | null>>;
73
+ }
61
74
  export type ExecutionCtx = {
75
+ executeCustom: (params: {
76
+ brief: string;
77
+ subtitle?: string | React.ReactNode | null;
78
+ early?: boolean;
79
+ mixpanelProps?: Record<string, any>;
80
+ submittedBack?: () => void;
81
+ submittedConfirmBack?: () => void;
82
+ metadata?: Record<string, any>;
83
+ successBack?: (tx: string, callback?: ExecutionProps['onTxSuccess']) => void;
84
+ handler: (params: ExecuteCustomHandlerParameters) => Promise<any>;
85
+ }) => Promise<ExecutionResult>;
62
86
  /**
63
87
  * Execute an on-chain operation
64
88
  * @param breif: TX title. e.g.: "Swap"
@@ -1,7 +1,8 @@
1
1
  import { BigNumber as EthersBigNumber } from '@ethersproject/bignumber';
2
2
  import React from 'react';
3
- export default function useExecuteSwap(): ({ to, data, useSource, duration, ddl, gasLimit, subtitle, value, mixpanelProps, }: {
3
+ export default function useExecuteSwap(): ({ from, to, data, useSource, duration, ddl, gasLimit, subtitle, value, mixpanelProps, }: {
4
4
  value: string;
5
+ from: string;
5
6
  to: string;
6
7
  data: string;
7
8
  useSource?: string;
@@ -33,8 +33,6 @@ interface IRouteResponse {
33
33
  export declare function useFetchRoutePrice({ toToken, fromToken, fromAmount, toAmount, marginAmount, estimateGas, isReverseRouting, slippage, slippageLoading, }: FetchRoutePrice): {
34
34
  status: RoutePriceStatus;
35
35
  rawBrief: IRouteResponse | null;
36
- refetch: () => Promise<void>;
37
- executeSwap: (subtitle: React.ReactNode) => void;
38
- reset: () => void;
36
+ executeSwap: import("@tanstack/react-query").UseMutateFunction<import("../Submission/types").ExecutionResult | undefined, Error, React.ReactNode, unknown>;
39
37
  };
40
38
  export {};
@@ -7,4 +7,4 @@ export declare const isETHChain: (chainId?: number) => {
7
7
  isGor: boolean;
8
8
  };
9
9
  export declare const reloadWindow: (interval?: number) => void;
10
- export declare function namespaceToTitle(chainId: ChainId | undefined): "polkadot" | "cosmos" | "" | "Solana" | "a" | "EVM" | "Bitcoin";
10
+ export declare function namespaceToTitle(chainId: ChainId | undefined): "polkadot" | "cosmos" | "Solana" | "" | "a" | "EVM" | "Bitcoin";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodoex/widgets",
3
- "version": "3.0.2-zetachain.17",
3
+ "version": "3.0.2-zetachain.18",
4
4
  "description": "DODO Widgets",
5
5
  "source": "src/index.tsx",
6
6
  "types": "dist/types/index.d.ts",
@@ -105,6 +105,7 @@
105
105
  "@babel/runtime": ">=7.17.0",
106
106
  "@reown/appkit": "^1.7.5",
107
107
  "@reown/appkit-utils": "^1.7.5",
108
+ "@reown/appkit-adapter-solana": "^1.7.5",
108
109
  "@solana/web3.js": "1.98.2",
109
110
  "@solana/spl-token": "^0.4.13",
110
111
  "react": "^18.0.0",