@rango-dev/widget-embedded 0.1.20-next.1 → 0.1.20-next.10

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,3 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare function ConfirmSwapPage(): JSX.Element;
2
+ export declare function ConfirmSwapPage({ customDestinationEnabled, }: {
3
+ customDestinationEnabled?: boolean;
4
+ }): JSX.Element;
3
5
  //# sourceMappingURL=ConfirmSwapPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmSwapPage.d.ts","sourceRoot":"","sources":["../../src/pages/ConfirmSwapPage.tsx"],"names":[],"mappings":";AAiCA,wBAAgB,eAAe,gBAyL9B"}
1
+ {"version":3,"file":"ConfirmSwapPage.d.ts","sourceRoot":"","sources":["../../src/pages/ConfirmSwapPage.tsx"],"names":[],"mappings":";AAqCA,wBAAgB,eAAe,CAAC,EAC9B,wBAAwB,GACzB,EAAE;IACD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,eA8MA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwapDetailsPage.d.ts","sourceRoot":"","sources":["../../src/pages/SwapDetailsPage.tsx"],"names":[],"mappings":";AA+BA,wBAAgB,eAAe,gBA8H9B"}
1
+ {"version":3,"file":"SwapDetailsPage.d.ts","sourceRoot":"","sources":["../../src/pages/SwapDetailsPage.tsx"],"names":[],"mappings":";AA6BA,wBAAgB,eAAe,gBAqI9B"}
@@ -21,12 +21,14 @@ export interface ConnectedWallet extends Wallet {
21
21
  interface WalletsStore {
22
22
  connectedWallets: ConnectedWallet[];
23
23
  selectedWallets: Wallet[];
24
+ customDestination: string;
24
25
  connectWallet: (accounts: Wallet[]) => void;
25
26
  disconnectWallet: (walletType: WalletType) => void;
26
27
  initSelectedWallets: () => void;
27
28
  setSelectedWallet: (wallet: SelectableWallet) => void;
28
29
  clearConnectedWallet: () => void;
29
30
  getOneOfWalletsDetails: (account: Wallet) => void;
31
+ setCustomDestination: (customDestination: string) => void;
30
32
  }
31
33
  export declare const useWalletsStore: {
32
34
  (): WalletsStore;
@@ -43,12 +45,14 @@ export declare const useWalletsStore: {
43
45
  use: {
44
46
  connectedWallets: () => ConnectedWallet[];
45
47
  selectedWallets: () => Wallet[];
48
+ customDestination: () => string;
46
49
  connectWallet: () => (accounts: Wallet[]) => void;
47
50
  disconnectWallet: () => (walletType: WalletType) => void;
48
51
  initSelectedWallets: () => () => void;
49
52
  setSelectedWallet: () => (wallet: SelectableWallet) => void;
50
53
  clearConnectedWallet: () => () => void;
51
54
  getOneOfWalletsDetails: () => (account: Wallet) => void;
55
+ setCustomDestination: () => (customDestination: string) => void;
52
56
  };
53
57
  };
54
58
  export declare const fetchingBalanceSelector: (state: WalletsStore) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/store/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAgBvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;wCARA,MAAM,EAAE,KAAK,IAAI;6CACZ,UAAU,KAAK,IAAI;yCACvB,IAAI;0CACH,gBAAgB,KAAK,IAAI;0CACzB,IAAI;gDACE,MAAM,KAAK,IAAI;;CAsHlD,CAAC;AAyBF,eAAO,MAAM,uBAAuB,UAAW,YAAY,YACA,CAAC"}
1
+ {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/store/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAgBvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;wCATA,MAAM,EAAE,KAAK,IAAI;6CACZ,UAAU,KAAK,IAAI;yCACvB,IAAI;0CACH,gBAAgB,KAAK,IAAI;0CACzB,IAAI;gDACE,MAAM,KAAK,IAAI;wDACP,MAAM,KAAK,IAAI;;CA2H1D,CAAC;AAyBF,eAAO,MAAM,uBAAuB,UAAW,YAAY,YACA,CAAC"}
@@ -90,7 +90,7 @@ export type BlockchainAndTokenConfig = {
90
90
  * include values like `"metamask"`, `"kepler"`, or `"phantom"`.
91
91
  * @property {boolean} multiWallets - The `multiWallets` property is a boolean value that indicates
92
92
  * whether the widget should allow the user to select multiple wallets for the transaction.
93
- * @property {boolean} customAddress - A boolean value indicating whether the user can input a custom
93
+ * @property {boolean} customDestination - A boolean value indicating whether the user can input a custom
94
94
  * address for the transaction. If set to true, the widget will allow the user to input a custom
95
95
  * address for the destination.
96
96
  * @property {string} language - The language property is an optional string that specifies the
@@ -109,7 +109,7 @@ export type WidgetConfig = {
109
109
  liquiditySources?: string[];
110
110
  wallets?: WalletType[];
111
111
  multiWallets?: boolean;
112
- customAddress?: boolean;
112
+ customDestination?: boolean;
113
113
  language?: string;
114
114
  theme?: WidgetTheme;
115
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,EAAE,CAAC,EAAE,wBAAwB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,EAAE,CAAC,EAAE,wBAAwB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC"}
@@ -26,7 +26,7 @@ export declare function getMinRequiredSlippage(route: BestRouteResponse): string
26
26
  export declare function hasProperSlippage(userSlippage: string, minRequiredSlippage: string | null): boolean;
27
27
  export declare function hasEnoughBalance(route: BestRouteResponse, selectedWallets: Wallet[]): boolean;
28
28
  export declare function hasEnoughBalanceAndProperSlippage(route: BestRouteResponse, selectedWallets: Wallet[], userSlippage: string, minRequiredSlippage: string | null): boolean;
29
- export declare function createBestRouteRequestBody(fromToken: Token, toToken: Token, inputAmount: string, wallets: ConnectedWallet[], selectedWallets: Wallet[], disabledLiquiditySources: string[], slippage: number, affiliateRef: string | null, initialRoute?: BestRouteResponse): BestRouteRequest;
29
+ export declare function createBestRouteRequestBody(fromToken: Token, toToken: Token, inputAmount: string, wallets: ConnectedWallet[], selectedWallets: Wallet[], disabledLiquiditySources: string[], slippage: number, affiliateRef: string | null, initialRoute?: BestRouteResponse, destination?: string): BestRouteRequest;
30
30
  export declare function getWalletsForNewSwap(selectedWallets: Wallet[]): {
31
31
  [p: string]: {
32
32
  address: string;
@@ -48,4 +48,6 @@ export declare function getSwapMessages(pendingSwap: PendingSwap, currentStep: P
48
48
  };
49
49
  export declare function getLastConvertedTokenInFailedSwap(pendingSwap: PendingSwap): ConvertedToken;
50
50
  export declare function shouldRetrySwap(pendingSwap: PendingSwap): boolean;
51
+ export declare function isValidCustomDestination(blockchain: string, address: string): boolean;
52
+ export declare function confirmSwapDisabled(fetching: boolean, destinationChain: string, customDestination: string, bestRoute: BestRouteResponse | null, selectedWallets: Wallet[]): boolean;
51
53
  //# sourceMappingURL=swap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/utils/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/utils/swap.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,KAAK,EACN,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAEL,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGpE,wBAAgB,cAAc,CAC5B,aAAa,EAAE,SAAS,EACxB,cAAc,EAAE,SAAS,iBAI1B;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,SAAS,EACxB,WAAW,EAAE,SAAS,GAAG,CAAC,WAQ3B;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAiB1E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG;IACtE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB,CAsDA;AAED,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,aAAa,EAChC,gBAAgB,EAAE,eAAe,EAAE,EACnC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,2BAA2B,EAAE,OAAO,EACpC,oBAAoB,EAAE,OAAO,EAC7B,WAAW,EAAE,MAAM,GAClB,eAAe,CA0BjB;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,SAAS,EACxB,cAAc,EAAE,SAAS,WAU1B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,YAc9D;AAED,eAAO,MAAM,WAAW,eACV,MAAM,UACV,MAAM,WACL,MAAM,GAAG,IAAI,aACX,KAAK,EAAE,KACjB,MAAM,GAAG,IAQX,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,KAAK,EAAE,GACjB,SAAS,CAkBX;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,SAAS,EAAE,KAAK,EAAE,GACjB,SAAS,GAAG,IAAI,CAQlB;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,WAGzD;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,WAGtD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,GACvB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAAG,IAAI,WAInC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,EAAE,WAiB1B;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAAG,IAAI,GACjC,OAAO,CAKT;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,KAAK,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EAAE,EAC1B,eAAe,EAAE,MAAM,EAAE,EACzB,wBAAwB,EAAE,MAAM,EAAE,EAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,YAAY,CAAC,EAAE,iBAAiB,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,gBAAgB,CA6DlB;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE;;iBAI9B,MAAM;oBAAc,UAAU;;EAc7D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,iBAEnE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,oBAOjC;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,WAY5B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,EAAE,YAkC1B;AAED,wBAAgB,kBAAkB,CAChC,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,aAK3B;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,eAAe,GAAG,IAAI,GACtC,OAAO,CAMT;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,eAAe,GAAG,IAAI,GAClC;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD,CAoCA;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,WAAW,GACvB,cAAc,CAkBhB;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,WAMvD;AACD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAMT;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,eAAe,EAAE,MAAM,EAAE,WAiB1B"}
@@ -10,7 +10,7 @@ export declare function getlistWallet(getState: (type: WalletType) => WalletStat
10
10
  export declare function walletAndSupportedChainsNames(supportedChains: BlockchainMeta[]): Network[] | null;
11
11
  export declare function prepareAccountsForWalletStore(wallet: WalletType, accounts: string[], evmBasedChains: string[], supportedChainNames: Network[] | null): Wallet[];
12
12
  export declare function getRequiredChains(route: BestRouteResponse | null): string[];
13
- export declare function getSelectableWallets(connectedWallets: ConnectedWallet[], selectedWallets: Wallet[], getWalletInfo: (type: WalletType) => WalletInfo): SelectableWallet[];
13
+ export declare function getSelectableWallets(connectedWallets: ConnectedWallet[], selectedWallets: Wallet[], getWalletInfo: (type: WalletType) => WalletInfo, destinationChain?: string): SelectableWallet[];
14
14
  export declare function getBalanceFromWallet(connectedWallets: ConnectedWallet[], chain: string, symbol: string, address: string | null): TokenBalance | null;
15
15
  export declare function isAccountAndWalletMatched(account: Wallet, connectedWallet: ConnectedWallet): boolean;
16
16
  export declare function makeBalanceFor(wallet: Wallet, retrivedBalance: WalletDetail, tokens: Token[]): ConnectedWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/utils/wallets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/utils/wallets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/widget-embedded",
3
- "version": "0.1.20-next.1",
3
+ "version": "0.1.20-next.10",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,27 +12,18 @@
12
12
  "browserslist": "> 0.5%, last 2 versions, not dead",
13
13
  "scripts": {
14
14
  "build": "node ../../scripts/build/command.mjs --path widget/embedded",
15
- "clean": "rimraf dist"
16
- },
17
- "husky": {
18
- "hooks": {
19
- "pre-commit": "tsdx lint"
20
- }
21
- },
22
- "prettier": {
23
- "printWidth": 80,
24
- "semi": true,
25
- "singleQuote": true,
26
- "trailingComma": "es5"
15
+ "clean": "rimraf dist",
16
+ "format": "prettier --write '{.,src}/**/*.{ts,tsx}'",
17
+ "lint": "eslint \"**/*.{ts,tsx}\" --ignore-path ../../.eslintignore"
27
18
  },
28
19
  "dependencies": {
29
- "@rango-dev/provider-all": "^0.1.22-next.0",
30
- "@rango-dev/queue-manager-core": "^0.1.15-next.1",
31
- "@rango-dev/queue-manager-rango-preset": "^0.1.15-next.0",
32
- "@rango-dev/queue-manager-react": "^0.1.14-next.0",
33
- "@rango-dev/ui": "^0.1.16-next.0",
34
- "@rango-dev/wallets-core": "^0.1.16-next.1",
35
- "@rango-dev/wallets-shared": "^0.1.14",
20
+ "@rango-dev/provider-all": "^0.1.22-next.7",
21
+ "@rango-dev/queue-manager-core": "^0.1.15-next.4",
22
+ "@rango-dev/queue-manager-rango-preset": "^0.1.15-next.8",
23
+ "@rango-dev/queue-manager-react": "^0.1.14-next.5",
24
+ "@rango-dev/ui": "^0.1.16-next.9",
25
+ "@rango-dev/wallets-core": "^0.1.16-next.6",
26
+ "@rango-dev/wallets-shared": "^0.1.15-next.5",
36
27
  "bignumber.js": "^9.1.1",
37
28
  "copy-to-clipboard": "^3.3.3",
38
29
  "dayjs": "^1.11.7",
@@ -42,8 +33,8 @@
42
33
  "immer": "^9.0.19",
43
34
  "mitt": "^3.0.0",
44
35
  "parcel": "^2.8.0",
45
- "rango-sdk": "^0.1.27",
46
- "rango-types": "^0.1.32",
36
+ "rango-sdk": "^0.1.29",
37
+ "rango-types": "^0.1.38",
47
38
  "react-i18next": "^12.2.0",
48
39
  "react-router-dom": "^6.8.0",
49
40
  "values.js": "2.1.1",
@@ -18,7 +18,7 @@ import { walletAndSupportedChainsNames } from './utils/wallets';
18
18
  import { isEvmBlockchain } from 'rango-sdk';
19
19
  import { getConfig } from './utils/configs';
20
20
 
21
- function QueueManager(props: PropsWithChildren<{}>) {
21
+ function QueueManager(props: PropsWithChildren) {
22
22
  const {
23
23
  providers,
24
24
  getSigners,
@@ -103,10 +103,12 @@ function QueueManager(props: PropsWithChildren<{}>) {
103
103
  },
104
104
  getSigners,
105
105
  //todo: remove Network type
106
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
106
107
  //@ts-ignore
107
108
  wallets,
108
109
  providers: allProviders,
109
110
  switchNetwork,
111
+ canSwitchNetworkTo,
110
112
  connect,
111
113
  state,
112
114
  isMobileWallet,
@@ -120,8 +122,7 @@ function QueueManager(props: PropsWithChildren<{}>) {
120
122
  onPersistedDataLoaded={(manager) => {
121
123
  checkWaitingForNetworkChange(manager);
122
124
  }}
123
- isPaused={false}
124
- >
125
+ isPaused={false}>
125
126
  {props.children}
126
127
  </ManagerProvider>
127
128
  );
@@ -5,6 +5,7 @@ import { WalletType } from '@rango-dev/wallets-shared';
5
5
  import { isEvmBlockchain } from 'rango-types';
6
6
  import { UpdateUrl } from './UpdateUrl';
7
7
  import { useMetaStore } from '../store/meta';
8
+ import { useWallets } from '@rango-dev/wallets-core';
8
9
 
9
10
  export function AppRouter({
10
11
  children,
@@ -17,6 +18,7 @@ export function AppRouter({
17
18
  const isRouterInContext = useInRouterContext();
18
19
  const Router = isRouterInContext ? Fragment : MemoryRouter;
19
20
  const { blockchains } = useMetaStore.use.meta();
21
+ const { canSwitchNetworkTo } = useWallets();
20
22
 
21
23
  const evmChains = blockchains.filter(isEvmBlockchain);
22
24
 
@@ -25,7 +27,9 @@ export function AppRouter({
25
27
  clearDisconnectedWallet: props.clearDisconnectedWallet,
26
28
  disconnectedWallet: props.disconnectedWallet,
27
29
  evmChains,
30
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
28
31
  notifier: () => {},
32
+ canSwitchNetworkTo,
29
33
  });
30
34
 
31
35
  return (
@@ -83,7 +83,7 @@ export function AppRoutes(props: PropTypes) {
83
83
  },
84
84
  {
85
85
  path: getAbsolutePath(navigationRoutes.confirmSwap),
86
- element: <ConfirmSwapPage />,
86
+ element: <ConfirmSwapPage customDestinationEnabled={config?.customDestination}/>,
87
87
  },
88
88
  ]);
89
89
  }
@@ -52,6 +52,8 @@ export function useConfirmSwap(): ConfirmSwap {
52
52
  const affiliateRef = useSettingsStore.use.affiliateRef();
53
53
 
54
54
  const connectedWallets = useWalletsStore.use.connectedWallets();
55
+ const destination = useWalletsStore.use.customDestination();
56
+
55
57
  const selectedWallets = useWalletsStore.use.selectedWallets();
56
58
  const meta = useMetaStore.use.meta();
57
59
  const customSlippage = useSettingsStore.use.customSlippage();
@@ -113,7 +115,8 @@ export function useConfirmSwap(): ConfirmSwap {
113
115
  disabledLiquiditySources,
114
116
  userSlippage,
115
117
  affiliateRef,
116
- initialRoute
118
+ initialRoute,
119
+ destination
117
120
  );
118
121
 
119
122
  try {
@@ -10,7 +10,11 @@ import {
10
10
  getSelectableWallets,
11
11
  isExperimentalChain,
12
12
  } from '../utils/wallets';
13
- import { getTotalFeeInUsd, requiredWallets } from '../utils/swap';
13
+ import {
14
+ confirmSwapDisabled,
15
+ getTotalFeeInUsd,
16
+ isValidCustomDestination,
17
+ } from '../utils/swap';
14
18
  import { numberToString } from '../utils/numbers';
15
19
  import { useMetaStore } from '../store/meta';
16
20
  import { Network, WalletType } from '@rango-dev/wallets-shared';
@@ -31,7 +35,11 @@ import { ConfirmSwapExtraMessages } from '../components/warnings/ConfirmSwapExtr
31
35
  import { getBestRouteStatus } from '../utils/routing';
32
36
  import { PercentageChange } from '../components/PercentageChange';
33
37
 
34
- export function ConfirmSwapPage() {
38
+ export function ConfirmSwapPage({
39
+ customDestinationEnabled,
40
+ }: {
41
+ customDestinationEnabled?: boolean;
42
+ }) {
35
43
  const navigate = useNavigate();
36
44
  const { navigateBackFrom } = useNavigateBack();
37
45
  const bestRoute = useBestRouteStore.use.bestRoute();
@@ -42,6 +50,8 @@ export function ConfirmSwapPage() {
42
50
  const loadingMetaStatus = useMetaStore.use.loadingStatus();
43
51
  const connectedWallets = useWalletsStore.use.connectedWallets();
44
52
  const selectedWallets = useWalletsStore.use.selectedWallets();
53
+ const customDestination = useWalletsStore.use.customDestination();
54
+ const setCustomDestination = useWalletsStore.use.setCustomDestination();
45
55
  const initSelectedWallets = useWalletsStore.use.initSelectedWallets();
46
56
  const setSelectedWallet = useWalletsStore.use.setSelectedWallet();
47
57
  const slippage = useSettingsStore.use.slippage();
@@ -54,6 +64,7 @@ export function ConfirmSwapPage() {
54
64
  fetchingBestRoute,
55
65
  !!fetchingBestRouteError
56
66
  );
67
+ const [destinationChain, setDestinationChain] = useState<string>('');
57
68
 
58
69
  const { manager } = useManager();
59
70
  const {
@@ -66,15 +77,10 @@ export function ConfirmSwapPage() {
66
77
  const selectedSlippage = customSlippage || slippage;
67
78
 
68
79
  const showHighSlippageWarning = !errors.find(
69
- error => error.type === ConfirmSwapErrorTypes.INSUFFICIENT_SLIPPAGE
80
+ (error) => error.type === ConfirmSwapErrorTypes.INSUFFICIENT_SLIPPAGE
70
81
  );
71
82
 
72
83
  const { getWalletInfo, connect } = useWallets();
73
- const confirmDisabled =
74
- fetchingBestRoute ||
75
- !requiredWallets(bestRoute).every(chain =>
76
- selectedWallets.map(wallet => wallet.chain).includes(chain)
77
- );
78
84
 
79
85
  const firstStep = bestRoute?.result?.swaps[0];
80
86
  const lastStep =
@@ -84,20 +90,27 @@ export function ConfirmSwapPage() {
84
90
  const toAmount = numberToString(lastStep?.toAmount, 4, 6);
85
91
  useEffect(() => {
86
92
  initSelectedWallets();
93
+ if (!!customDestination) {
94
+ setCustomDestination('');
95
+ }
87
96
  }, []);
97
+ const lastStepToBlockchain =
98
+ bestRoute?.result?.swaps[bestRoute?.result?.swaps.length - 1].to.blockchain;
99
+ const isWalletRequired = !!bestRoute?.result?.swaps.find(
100
+ (swap) => swap.from.blockchain === lastStepToBlockchain
101
+ );
88
102
 
89
103
  const selectableWallets = getSelectableWallets(
90
104
  connectedWallets,
91
105
  selectedWallets,
92
- getWalletInfo
106
+ getWalletInfo,
107
+ isWalletRequired ? '' : destinationChain
93
108
  );
94
109
 
95
110
  const handleConnectChain = (wallet: string) => {
96
111
  const network = wallet as Network;
97
- getKeplrCompatibleConnectedWallets(
98
- selectableWallets
99
- ).forEach((compatibleWallet: WalletType) =>
100
- connect?.(compatibleWallet, network)
112
+ getKeplrCompatibleConnectedWallets(selectableWallets).forEach(
113
+ (compatibleWallet: WalletType) => connect?.(compatibleWallet, network)
101
114
  );
102
115
  };
103
116
 
@@ -107,9 +120,15 @@ export function ConfirmSwapPage() {
107
120
  <ConfirmSwap
108
121
  requiredWallets={getRequiredChains(bestRoute)}
109
122
  selectableWallets={selectableWallets}
123
+ setCustomDestination={setCustomDestination}
124
+ customDestination={customDestination}
125
+ customDestinationEnabled={customDestinationEnabled}
126
+ isValidCustomDestination={isValidCustomDestination}
127
+ checkedDestination={!!destinationChain}
128
+ setDestinationChain={setDestinationChain}
110
129
  onBack={navigateBackFrom.bind(null, navigationRoutes.confirmSwap)}
111
130
  onConfirm={async () => {
112
- confirmSwap?.().then(async swap => {
131
+ confirmSwap?.().then(async (swap) => {
113
132
  if (swap) {
114
133
  try {
115
134
  await manager?.create(
@@ -130,10 +149,20 @@ export function ConfirmSwapPage() {
130
149
  }
131
150
  });
132
151
  }}
133
- onChange={wallet => setSelectedWallet(wallet)}
134
- confirmDisabled={loadingMetaStatus !== 'success' || confirmDisabled}
135
- handleConnectChain={wallet => handleConnectChain(wallet)}
136
- isExperimentalChain={wallet =>
152
+ isWalletRequired={isWalletRequired}
153
+ onChange={(wallet) => setSelectedWallet(wallet)}
154
+ confirmDisabled={
155
+ loadingMetaStatus !== 'success' ||
156
+ confirmSwapDisabled(
157
+ fetchingBestRoute,
158
+ destinationChain,
159
+ customDestination,
160
+ bestRoute,
161
+ selectableWallets
162
+ )
163
+ }
164
+ handleConnectChain={(wallet) => handleConnectChain(wallet)}
165
+ isExperimentalChain={(wallet) =>
137
166
  getKeplrCompatibleConnectedWallets(selectableWallets).length > 0
138
167
  ? isExperimentalChain(blockchains, wallet)
139
168
  : false
@@ -24,14 +24,12 @@ import {
24
24
  isNetworkStatusInWarningState,
25
25
  shouldRetrySwap,
26
26
  } from '../utils/swap';
27
- //@ts-ignore
28
- import { t } from 'i18next';
29
27
  import { SwapDetailsPlaceholder } from '../components/SwapDetailsPlaceholder';
30
28
  import { getFormatedPendingSwap } from '../utils/routing';
31
29
 
32
30
  export function SwapDetailsPage() {
33
31
  const selectedSwapRequestId = useUiStore.use.selectedSwapRequestId();
34
- const { canSwitchNetworkTo, connect } = useWallets();
32
+ const { canSwitchNetworkTo, connect, getWalletInfo } = useWallets();
35
33
  const retry = useBestRouteStore.use.retry();
36
34
  const navigate = useNavigate();
37
35
  const { navigateBackFrom } = useNavigateBack();
@@ -44,6 +42,7 @@ export function SwapDetailsPage() {
44
42
  );
45
43
 
46
44
  const onCancel = () => {
45
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
47
46
  const swap = manager?.get(selectedSwap?.id!);
48
47
  if (swap) cancelSwap(swap);
49
48
  };
@@ -77,14 +76,20 @@ export function SwapDetailsPage() {
77
76
 
78
77
  const shouldRetry = shouldRetrySwap(swap);
79
78
 
80
- const switchNetwork =
81
- !!currentStepBlockchain &&
82
- !!currentStepWallet?.walletType &&
79
+ const isMobileWallet = (walletType: string): boolean =>
80
+ !!getWalletInfo(walletType)?.mobileWallet;
81
+
82
+ const showSwitchNetwork =
83
83
  currentStepNetworkStatus ===
84
84
  PendingSwapNetworkStatus.WaitingForNetworkChange &&
85
- canSwitchNetworkTo(currentStepWallet?.walletType, currentStepBlockchain)
86
- ? connect.bind(null, currentStepWallet.walletType, currentStepBlockchain)
87
- : undefined;
85
+ !!currentStepBlockchain &&
86
+ !!currentStepWallet?.walletType &&
87
+ (isMobileWallet(currentStepWallet.walletType) ||
88
+ canSwitchNetworkTo(currentStepWallet.walletType, currentStepBlockchain));
89
+
90
+ const switchNetwork = showSwitchNetwork
91
+ ? connect.bind(null, currentStepWallet.walletType, currentStepBlockchain)
92
+ : undefined;
88
93
 
89
94
  const lastConvertedTokenInFailedSwap =
90
95
  getLastConvertedTokenInFailedSwap(swap);
@@ -39,12 +39,14 @@ export interface ConnectedWallet extends Wallet {
39
39
  interface WalletsStore {
40
40
  connectedWallets: ConnectedWallet[];
41
41
  selectedWallets: Wallet[];
42
+ customDestination: string;
42
43
  connectWallet: (accounts: Wallet[]) => void;
43
44
  disconnectWallet: (walletType: WalletType) => void;
44
45
  initSelectedWallets: () => void;
45
46
  setSelectedWallet: (wallet: SelectableWallet) => void;
46
47
  clearConnectedWallet: () => void;
47
48
  getOneOfWalletsDetails: (account: Wallet) => void;
49
+ setCustomDestination: (customDestination: string) => void;
48
50
  }
49
51
 
50
52
  export const useWalletsStore = createSelectors(
@@ -52,6 +54,7 @@ export const useWalletsStore = createSelectors(
52
54
  subscribeWithSelector((set, get) => ({
53
55
  connectedWallets: [],
54
56
  selectedWallets: [],
57
+ customDestination: '',
55
58
  connectWallet: (accounts) => {
56
59
  const getOneOfWalletsDetails = get().getOneOfWalletsDetails;
57
60
  set((state) => ({
@@ -92,6 +95,7 @@ export const useWalletsStore = createSelectors(
92
95
  const anyWalletSelected = !!state.selectedWallets.find(
93
96
  (wallet) => wallet.chain === chain
94
97
  );
98
+
95
99
  if (!anyWalletSelected) {
96
100
  const firstWalletWithMatchedChain = connectedWallets.find(
97
101
  (wallet) => wallet.chain === chain
@@ -118,7 +122,10 @@ export const useWalletsStore = createSelectors(
118
122
  walletType: wallet.walletType,
119
123
  }),
120
124
  })),
121
-
125
+ setCustomDestination: (customDestination) =>
126
+ set(() => ({
127
+ customDestination,
128
+ })),
122
129
  clearConnectedWallet: () =>
123
130
  set(() => ({
124
131
  connectedWallets: [],
@@ -91,7 +91,7 @@ export type BlockchainAndTokenConfig = {
91
91
  * include values like `"metamask"`, `"kepler"`, or `"phantom"`.
92
92
  * @property {boolean} multiWallets - The `multiWallets` property is a boolean value that indicates
93
93
  * whether the widget should allow the user to select multiple wallets for the transaction.
94
- * @property {boolean} customAddress - A boolean value indicating whether the user can input a custom
94
+ * @property {boolean} customDestination - A boolean value indicating whether the user can input a custom
95
95
  * address for the transaction. If set to true, the widget will allow the user to input a custom
96
96
  * address for the destination.
97
97
  * @property {string} language - The language property is an optional string that specifies the
@@ -110,7 +110,7 @@ export type WidgetConfig = {
110
110
  liquiditySources?: string[];
111
111
  wallets?: WalletType[];
112
112
  multiWallets?: boolean;
113
- customAddress?: boolean;
113
+ customDestination?: boolean;
114
114
  language?: string;
115
115
  theme?: WidgetTheme;
116
116
  };
@@ -26,3 +26,5 @@ export function debounce(fn: Function, time: number) {
26
26
  }, time);
27
27
  }
28
28
  }
29
+
30
+
package/src/utils/swap.ts CHANGED
@@ -12,7 +12,7 @@ import { numberToString } from './numbers';
12
12
  import { WalletType } from '@rango-dev/wallets-shared';
13
13
  import { getRequiredBalanceOfWallet } from './routing';
14
14
  import { getRequiredChains } from './wallets';
15
- import { LoadingStatus } from '../store/meta';
15
+ import { LoadingStatus, useMetaStore } from '../store/meta';
16
16
  import { ConvertedToken, SwapButtonState, Wallet } from '../types';
17
17
  import {
18
18
  PendingSwapNetworkStatus,
@@ -317,7 +317,8 @@ export function createBestRouteRequestBody(
317
317
  disabledLiquiditySources: string[],
318
318
  slippage: number,
319
319
  affiliateRef: string | null,
320
- initialRoute?: BestRouteResponse
320
+ initialRoute?: BestRouteResponse,
321
+ destination?: string
321
322
  ): BestRouteRequest {
322
323
  const selectedWalletsMap = selectedWallets.reduce(
323
324
  (
@@ -370,6 +371,7 @@ export function createBestRouteRequestBody(
370
371
  symbol: toToken.symbol,
371
372
  },
372
373
  connectedWallets,
374
+ destination: destination || undefined,
373
375
  selectedWallets: selectedWalletsMap,
374
376
  swapperGroups: disabledLiquiditySources,
375
377
  swappersGroupsExclude: true,
@@ -561,3 +563,37 @@ export function shouldRetrySwap(pendingSwap: PendingSwap) {
561
563
  new Date().getTime() - parseInt(pendingSwap.finishTime) < 4 * 3600 * 1000
562
564
  );
563
565
  }
566
+ export function isValidCustomDestination(
567
+ blockchain: string,
568
+ address: string
569
+ ): boolean {
570
+ const blockchains = useMetaStore.getState().meta.blockchains;
571
+ const regex =
572
+ blockchains.find((chain) => chain.name === blockchain)?.addressPatterns ||
573
+ [];
574
+ return regex.filter((r) => new RegExp(r).test(address)).length > 0;
575
+ }
576
+
577
+ export function confirmSwapDisabled(
578
+ fetching: boolean,
579
+ destinationChain: string,
580
+ customDestination: string,
581
+ bestRoute: BestRouteResponse | null,
582
+ selectedWallets: Wallet[]
583
+ ) {
584
+ return (
585
+ fetching ||
586
+ (!destinationChain &&
587
+ !requiredWallets(bestRoute).every((chain) =>
588
+ selectedWallets.map((wallet) => wallet.chain).includes(chain)
589
+ )) ||
590
+ (!!destinationChain && !customDestination) ||
591
+ (!!destinationChain &&
592
+ !!customDestination &&
593
+ !requiredWallets(bestRoute)
594
+ .filter((chain) => chain !== destinationChain)
595
+ .every((chain) =>
596
+ selectedWallets.map((wallet) => wallet.chain).includes(chain)
597
+ ))
598
+ );
599
+ }