From 5f29aef85f7e39208bdbad04a1c9c7d3e49449fd Mon Sep 17 00:00:00 2001 From: Todd Kao Date: Tue, 7 Jan 2025 11:23:25 -0500 Subject: [PATCH] Revert "Merge branch 'staging' into sentry-integration" This reverts commit b9ace74afc46a71f36d335f60156d3f7282807a1, reversing changes made to 6d95bf1f0d53777490f142e5ff689efecc554e3e. --- .changeset/clean-weeks-cheer.md | 5 -- .changeset/good-pans-unite.md | 5 ++ .changeset/popular-donkeys-behave.md | 5 -- .changeset/serious-readers-beam.md | 5 ++ .changeset/smooth-zoos-itch.md | 5 -- .changeset/thick-cherries-provide.md | 5 -- ...altime-transaction-and-packet-tracking.mdx | 1 + examples/nextjs/CHANGELOG.md | 46 ---------------- examples/nextjs/package.json | 2 +- packages/client/CHANGELOG.md | 24 --------- packages/client/package.json | 2 +- packages/client/src/client.ts | 19 +++++++ packages/client/src/types/converters.ts | 37 ------------- packages/client/src/types/lifecycle.ts | 2 +- packages/client/src/types/shared.ts | 40 -------------- packages/widget/CHANGELOG.md | 52 ------------------- packages/widget/package.json | 2 +- .../src/components/RenderWalletList.tsx | 38 +++----------- packages/widget/src/constants/wagmi.ts | 9 ++-- .../src/hooks/useCreateCosmosWallets.tsx | 14 ++--- .../AssetAndChainSelectorModalSearchInput.tsx | 1 - .../SwapExecutionPage/SwapExecutionPage.tsx | 9 ++-- packages/widget/src/utils/os.ts | 2 +- .../src/widget/ShadowDomAndProviders.tsx | 5 +- packages/widget/web-component/package.json | 2 +- 25 files changed, 63 insertions(+), 274 deletions(-) delete mode 100644 .changeset/clean-weeks-cheer.md create mode 100644 .changeset/good-pans-unite.md delete mode 100644 .changeset/popular-donkeys-behave.md create mode 100644 .changeset/serious-readers-beam.md delete mode 100644 .changeset/smooth-zoos-itch.md delete mode 100644 .changeset/thick-cherries-provide.md diff --git a/.changeset/clean-weeks-cheer.md b/.changeset/clean-weeks-cheer.md deleted file mode 100644 index e6b868b0d..000000000 --- a/.changeset/clean-weeks-cheer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@skip-go/widget': patch ---- - -Convert globalStyles to stylesheet before passing to react-shadow-scope diff --git a/.changeset/good-pans-unite.md b/.changeset/good-pans-unite.md new file mode 100644 index 000000000..362deb904 --- /dev/null +++ b/.changeset/good-pans-unite.md @@ -0,0 +1,5 @@ +--- +'@skip-go/widget': patch +--- + +fix balance loading display state diff --git a/.changeset/popular-donkeys-behave.md b/.changeset/popular-donkeys-behave.md deleted file mode 100644 index c1b622cae..000000000 --- a/.changeset/popular-donkeys-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@skip-go/client': patch ---- - -no longer override timeout in signCosmosMessageAmino diff --git a/.changeset/serious-readers-beam.md b/.changeset/serious-readers-beam.md new file mode 100644 index 000000000..6d3d3a06a --- /dev/null +++ b/.changeset/serious-readers-beam.md @@ -0,0 +1,5 @@ +--- +'@skip-go/widget': patch +--- + +exclude assets programatically diff --git a/.changeset/smooth-zoos-itch.md b/.changeset/smooth-zoos-itch.md deleted file mode 100644 index c781220d3..000000000 --- a/.changeset/smooth-zoos-itch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@skip-go/widget': patch ---- - -enable evm walletconnect for desktop diff --git a/.changeset/thick-cherries-provide.md b/.changeset/thick-cherries-provide.md deleted file mode 100644 index 8dad69e27..000000000 --- a/.changeset/thick-cherries-provide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@skip-go/client': patch ---- - -update stargate fee types diff --git a/docs/general/multi-chain-realtime-transaction-and-packet-tracking.mdx b/docs/general/multi-chain-realtime-transaction-and-packet-tracking.mdx index a5746f88d..962910636 100644 --- a/docs/general/multi-chain-realtime-transaction-and-packet-tracking.mdx +++ b/docs/general/multi-chain-realtime-transaction-and-packet-tracking.mdx @@ -189,6 +189,7 @@ Below are detailed explanations of the different fields and their purposes: * `orderRefundedTx`: The transaction where the user received a refund on the source chain, if applicable. * `orderTimeoutTx`: The transaction indicating a timeout occurred in the transfer process. + When tracking a Go Fast transfer, you can use the `GoFastTransferInfo` to monitor the progress and status of your asset transfer between chains. For instance, if the state is `GO_FAST_TRANSFER_FILLED`, you know that the transfer was successful and your assets should be available on the destination chain. If the state is `GO_FAST_TRANSFER_TIMEOUT`, you can check the `orderTimeoutTx` for details on the timeout event. diff --git a/examples/nextjs/CHANGELOG.md b/examples/nextjs/CHANGELOG.md index 197741f9c..70b9b841d 100644 --- a/examples/nextjs/CHANGELOG.md +++ b/examples/nextjs/CHANGELOG.md @@ -1,51 +1,5 @@ # nextjs -## 0.1.32 - -### Patch Changes - -- Updated dependencies [c7d3743] - - @skip-go/widget@3.1.4 - -## 0.1.31 - -### Patch Changes - -- @skip-go/widget@3.1.3 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [40a9229] -- Updated dependencies [ea59c36] -- Updated dependencies [7caf0cb] -- Updated dependencies [2cff22b] -- Updated dependencies [9628165] -- Updated dependencies [afb37b6] - - @skip-go/widget@3.1.2 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [bc373bd] - - @skip-go/widget@3.1.1 - -## 0.1.28 - -### Patch Changes - -- dacf973: fix example default route and client asset search -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] - - @skip-go/widget@3.1.0 - ## 0.1.27 ### Patch Changes diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index dc3652a43..2a35124ba 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "nextjs", - "version": "0.1.32", + "version": "0.1.27", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index 2684eb8d3..8e3f3082e 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -1,29 +1,5 @@ # @skip-go/client -## 0.16.2 - -### Patch Changes - -- 8a1ae46: no longer override timeout in signCosmosMessageAmino - -## 0.16.1 - -### Patch Changes - -- fa9b9c9: add error message field on GoFastTransferInfo -- 9628165: update registries -- afb37b6: fix build - -## 0.16.0 - -### Minor Changes - -- dacf973: stargate transfer types - -### Patch Changes - -- dacf973: update getCosmosSigner type - ## 0.15.6 ### Patch Changes diff --git a/packages/client/package.json b/packages/client/package.json index b4a6ae7b1..a15917055 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,7 +1,7 @@ { "name": "@skip-go/client", "description": "JavaScript SDK for Skip Go API", - "version": "0.16.2", + "version": "0.15.6", "repository": "https://github.com/skip-mev/skip-go", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index 41d06cd14..2e014345f 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -884,6 +884,25 @@ export class SkipClient { getEncodeObjectFromCosmosMessage(cosmosMsg) ); + const aminoMsgTransferIndex = messages.findIndex( + (x) => x.typeUrl === '/ibc.applications.transfer.v1.MsgTransfer' + ); + if (aminoMsgTransferIndex !== -1) { + const endpoint = await this.getRpcEndpointForChain(chainID); + const client = await StargateClient.connect(endpoint, { + accountParser, + }); + + const currentHeight = await client.getHeight(); + + messages[aminoMsgTransferIndex]!.value.timeoutHeight = { + revisionHeight: currentHeight + 100, + revisionNumber: currentHeight + 100, + }; + + messages[aminoMsgTransferIndex]!.value.timeoutTimestamp = 0; + } + const signMode = SignMode.SIGN_MODE_LEGACY_AMINO_JSON; const msgs = messages.map((msg) => this.aminoTypes.toAmino(msg)); diff --git a/packages/client/src/types/converters.ts b/packages/client/src/types/converters.ts index 685d72160..05754ec9e 100644 --- a/packages/client/src/types/converters.ts +++ b/packages/client/src/types/converters.ts @@ -878,43 +878,6 @@ export function goFastTransferFromJSON(goFastJSON: GoFastTransferJSON): GoFastTr destinationDomain: goFastJSON.destination_domain, }; } - -export function stargateTransferFromJSON(stargateTransferJSON: StargateTransferJSON): StargateTransfer { - return { - fromChainID: stargateTransferJSON.from_chain_id, - toChainID: stargateTransferJSON.to_chain_id, - denomIn: stargateTransferJSON.denom_in, - denomOut: stargateTransferJSON.denom_out, - poolAddress: stargateTransferJSON.pool_address, - destinationEndpointID: stargateTransferJSON.destination_endpoint_id, - oftFeeAsset: assetFromJSON(stargateTransferJSON.oft_fee_asset), - oftFeeAmount: stargateTransferJSON.oft_fee_amount, - oftFeeAmountUSD: stargateTransferJSON.oft_fee_amount_usd, - messagingFeeAsset: assetFromJSON(stargateTransferJSON.messaging_fee_asset), - messagingFeeAmount: stargateTransferJSON.messaging_fee_amount, - messagingFeeAmountUSD: stargateTransferJSON.messaging_fee_amount_usd, - bridgeID: stargateTransferJSON.bridge_id, - } -} - -export function stargateTransferToJSON(stargateTransfer: StargateTransfer): StargateTransferJSON { - return { - from_chain_id: stargateTransfer.fromChainID, - to_chain_id: stargateTransfer.toChainID, - denom_in: stargateTransfer.denomIn, - denom_out: stargateTransfer.denomOut, - pool_address: stargateTransfer.poolAddress, - destination_endpoint_id: stargateTransfer.destinationEndpointID, - oft_fee_asset: assetToJSON(stargateTransfer.oftFeeAsset), - oft_fee_amount: stargateTransfer.oftFeeAmount, - oft_fee_amount_usd: stargateTransfer.oftFeeAmountUSD, - messaging_fee_asset: assetToJSON(stargateTransfer.messagingFeeAsset), - messaging_fee_amount: stargateTransfer.messagingFeeAmount, - messaging_fee_amount_usd: stargateTransfer.messagingFeeAmountUSD, - bridge_id: stargateTransfer.bridgeID, - } -} - export function operationFromJSON(operationJSON: OperationJSON): Operation { const commonProps = { txIndex: operationJSON.tx_index, diff --git a/packages/client/src/types/lifecycle.ts b/packages/client/src/types/lifecycle.ts index e10a58ca1..2207c516a 100644 --- a/packages/client/src/types/lifecycle.ts +++ b/packages/client/src/types/lifecycle.ts @@ -515,4 +515,4 @@ export interface TransactionCallbacks { allowance?: ERC20Approval, status: CallbackStatus }) => Promise; -} +} \ No newline at end of file diff --git a/packages/client/src/types/shared.ts b/packages/client/src/types/shared.ts index 49ec68dd2..e8020c909 100644 --- a/packages/client/src/types/shared.ts +++ b/packages/client/src/types/shared.ts @@ -198,46 +198,6 @@ export type GoFastTransferJSON = { destination_domain: string; } -export type StargateTransferJSON = { - from_chain_id: string; - to_chain_id: string; - denom_in: string; - denom_out: string; - - pool_address: string; - destination_endpoint_id: number; - - oft_fee_asset: AssetJSON; - oft_fee_amount: string; - oft_fee_amount_usd: string; - - messaging_fee_asset: AssetJSON; - messaging_fee_amount: string; - messaging_fee_amount_usd: string; - - bridge_id: BridgeType; -}; - -export type StargateTransfer = { - fromChainID: string; - toChainID: string; - denomIn: string; - denomOut: string; - - poolAddress: string; - destinationEndpointID: number; - - oftFeeAsset: Asset; - oftFeeAmount: string; - oftFeeAmountUSD: string; - - messagingFeeAsset: Asset; - messagingFeeAmount: string; - messagingFeeAmountUSD: string; - - bridgeID: BridgeType; -}; - export type BankSendJSON = { chain_id: string; denom: string; diff --git a/packages/widget/CHANGELOG.md b/packages/widget/CHANGELOG.md index a6a9268c2..a40b4ccc7 100644 --- a/packages/widget/CHANGELOG.md +++ b/packages/widget/CHANGELOG.md @@ -1,57 +1,5 @@ ## 0.0.15 -## 3.1.4 - -### Patch Changes - -- c7d3743: fix edit desintation address - -## 3.1.3 - -### Patch Changes - -- Updated dependencies [8a1ae46] - - @skip-go/client@0.16.2 - -## 3.1.2 - -### Patch Changes - -- 40a9229: show warning if ends in ibc transfer -- ea59c36: Update post tx button to Go again -- 7caf0cb: filter cosmos wallets for is available items -- 2cff22b: remove evm wallet connect -- 9628165: update registries -- afb37b6: fix build -- Updated dependencies [fa9b9c9] -- Updated dependencies [9628165] -- Updated dependencies [afb37b6] - - @skip-go/client@0.16.1 - -## 3.1.1 - -### Patch Changes - -- bc373bd: fix keplr in app browser issue - -## 3.1.0 - -### Minor Changes - -- dacf973: evm mobile wallet support - -### Patch Changes - -- dacf973: ability to pass signer and account -- dacf973: fix balance loading display state -- dacf973: fix loading indicator -- dacf973: Add callback functions for wallet connect/disconnect and transaction broadcasted / completed / failed -- dacf973: exclude assets programatically -- dacf973: add daodao iframe wallet -- Updated dependencies [dacf973] -- Updated dependencies [dacf973] - - @skip-go/client@0.16.0 - ## 3.0.25 ### Patch Changes diff --git a/packages/widget/package.json b/packages/widget/package.json index 512eaabd4..30017a40f 100644 --- a/packages/widget/package.json +++ b/packages/widget/package.json @@ -1,7 +1,7 @@ { "name": "@skip-go/widget", "description": "Swap widget", - "version": "3.1.4", + "version": "3.0.25", "repository": { "url": "https://github.com/skip-mev/skip-go", "directory": "packages/widget" diff --git a/packages/widget/src/components/RenderWalletList.tsx b/packages/widget/src/components/RenderWalletList.tsx index 5b7f3da2f..b37b88814 100644 --- a/packages/widget/src/components/RenderWalletList.tsx +++ b/packages/widget/src/components/RenderWalletList.tsx @@ -61,14 +61,6 @@ export const RenderWalletList = ({ const theme = useTheme(); const setChainAddresses = useSetAtom(chainAddressesAtom); - const displayWallets = useMemo(() => { - const filteredWallets = walletList.filter( - (wallet) => isManualWalletEntry(wallet) || wallet?.isAvailable !== false - ); - - return filteredWallets.length === 1 ? walletList : filteredWallets; - }, [walletList]); - const clearAssetInputAmounts = useSetAtom(clearAssetInputAmountsAtom); const connectMutation = useMutation({ @@ -114,25 +106,10 @@ export const RenderWalletList = ({ const renderItem = useCallback( (wallet: ManualWalletEntry | MinimalWallet) => { - const name = isMinimalWallet(wallet) - ? wallet.walletPrettyName ?? wallet.walletName - : wallet.walletName; - - const imageUrl = isMinimalWallet(wallet) ? wallet?.walletInfo?.logo : undefined; - const rightContent = isManualWalletEntry(wallet) ? wallet?.rightContent : undefined; - const isAvailable = isMinimalWallet(wallet) ? wallet?.isAvailable : undefined; - - const renderedRightContent = rightContent?.() ?? <>; - - const imageElement = imageUrl ? ( - {`${name}-logo`} - ) : null; + const name = isMinimalWallet(wallet) ? wallet.walletPrettyName ?? wallet.walletName : wallet.walletName; + const imageUrl = isMinimalWallet(wallet) ? wallet.walletInfo.logo : undefined; + const rightContent = isManualWalletEntry(wallet) ? wallet.rightContent : undefined; + const isAvailable = isMinimalWallet(wallet) ? wallet.isAvailable : undefined; const onClickConnectWallet = () => { if (isMinimalWallet(wallet)) { @@ -198,9 +175,8 @@ export const RenderWalletList = ({ ); const height = useMemo(() => { - return Math.min(530, displayWallets.length * (ITEM_HEIGHT + ITEM_GAP)); - }, [displayWallets.length]); - + return Math.min(530, walletList.length * (ITEM_HEIGHT + ITEM_GAP)); + }, [walletList]); const renderWalletListOrWalletConnectionStatus = useMemo(() => { if (connectMutation.isError || connectMutation.isPending) { @@ -262,7 +238,7 @@ export const RenderWalletList = ({ renderItem, theme.primary.text.lowContrast, theme.primary.text.normal, - displayWallets, + walletList, ]); return ( diff --git a/packages/widget/src/constants/wagmi.ts b/packages/widget/src/constants/wagmi.ts index 882ef359e..4ed729ea1 100644 --- a/packages/widget/src/constants/wagmi.ts +++ b/packages/widget/src/constants/wagmi.ts @@ -32,8 +32,9 @@ import { forma } from "wagmi/chains"; import { defineChain } from "viem"; -import { walletConnect } from "wagmi/connectors"; -import { isMobile, isBrowser } from "@/utils/os"; +import { walletConnect } from "wagmi/connectors" + +const isBrowser = typeof window !== "undefined"; export const formaTestnet = defineChain({ id: 984_123, @@ -128,7 +129,7 @@ export const config: Config = createConfig({ storage: isBrowser ? localStorage : undefined, // Use a fallback for SSR key: "skip-go-widget-wagmi", }), - connectors: isMobile() ? undefined : [ + connectors: [ walletConnect({ projectId: "ff1b9e9bd6329cfb07642bd7f4d11a8c", showQrModal: true @@ -136,4 +137,4 @@ export const config: Config = createConfig({ ] }); -export const walletConnectLogo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAMAAABOo35HAAADAFBMVEVHcEwge/wfffwKcv4TeP0MdP4ngvwog/wcfP0Xe/0hgP0Vev0hgP0ff/wbfv8cffwbffwbfPwaff4QeP4Jc/4sg/oshfsng/wafPwggv8ihf8dffwYgf8hfPgffvsogfslgv0ffvwefvwafP0Ze/0Xe/4QeP4JdP4wiPskgfsliP8igPwhf/wgf/wff/wXe/0VfP8Wefw0ifsXev0Wev0Tfv8Hc/4nhv8kgfwjgPwVef0Tef8IdP4Hcv4vh/sTef0Gc/4Fcf4phf0rif8ng/0lgfsmgvsTeP0ngvsSeP0phf4og/sRd/0Pev8Pd/8Off8vjf8pg/sQd/0qhPsDcf4rhPsPdv4shfsyjf8thfsNdv4uhvs3i/sNdf4Ecf5Aj/k0i/0vh/wvhvoMdv8GdP40ivwyif0wh/oJev8zi/02j/8Ldf5Ik/kxh/oyiPoEcf5CkPgLdP4Kdf8ziPo5kf80ifoJdP41ifo3jP02ivoIdP8Ic/4IeP1Ik/g5jf03ivoHd/89lP84i/pCj/k5i/o5i/k6jPk7jfoGc/88jvw7jPkGcv4/kPw9kf88jflAkvtGkvpAk/89jfkBcP9Dlv8+jfk+jvkCdv9Dkfk/jvkEcv4DeP9Aj/kFcf9Bj/lJmP9Cj/lPlvhEkvxCkPkDcf9DkPlKk/dDkPhEkfhIlfxFkfhBj/hGkvhGkfhQnP9HkvgBc/9PlvdIk/gCcP9Jk/hOmf1Kk/hNlfdKlPhNlfhRl/dLlPggfvsdffspgvpVnPxgpP12sP2Ct/0ae/tanfqbxf2z0/7I3/7Z6f/k8P/x9//2+v/////U5/98s/wrhPqsz/7P4/78/f9Mlfi61/5bof6Uwf1OlfhtqvxQlveMvf1Ql/dOlfff7f9Wn/9OlvcthPlPlvcwhvlop/tQl/eiyf0AcP80iPlSmPdWmvZRl/cNdP3r9P82iflVm/nB2/5TmPdWmfdVmfdUmPdXmvdWmfdWmvhYmfZZm/Y+jfg8jPhZnPUDb/1bnPZbm/VcnfcUYgSRAAAA/3RSTlMACh8sRU5rhJSqw9XR7f//////7YASLOD4/////wQYObf//////7VfYf///////////53///+b///////AjKj/4Wvt///////////////////////V/////////7n/to33////+Nn////p//8o//+nSv///////////////4D//////7X///////////////ju///u/////9///////////2j/////W//////V//////+Z///////R//+o/////////////////////////////////////+b/t//v/////////////////9D/////////6f/////b9v///77///H5MkSAAAAo7klEQVR4AeTWBW4rMRSF4SbDWAgzM3PKzIz7X8o798HIr5Y1YnWSfwmfjq+88QMKhSVZUTXdMC3bcTfR1tY22olYlmnoUVWRpXBoY82LxWVVM+yEk0yl0+kUct3MJqPlum6WcpOOZRtRVY7H1pAply+oetF20lQKlUqlMpXJMFqoUqlWq7XaDqGhiFXXG4V8bn2k4k2t6LTS7XY61en2qH6fsMRag9/VarUhwIajSD3aiK/BouLNMfZETqkO6nah9YdLqFX1tCaTyXQ6HQ6Hs+wwYs0b0govLC/rptNuL9LLXapDdRE7Ln8ttLe3tz+czbKRg0M5v4pSYfUosVi000vKRwvxL5HVIq7j42OADU+M0/CKXSm1eNY+X1wsLy8vWx4WtNiXyN8tHou0PCxqf5idReqn0spsqlk8O4fUFbpErZb/tlgtJJoWur7e35/Bq7EC+wopRyR1g2CFWC2Gy1cLibSub2+H8JoroWA/P82+O1/c34OK1/J7ieKzxWGhh8fZoxUN7HPMyTSqu/vf/a8FLk+L25a/1hTxWg9Pz7OIIQfxOxFTzfOX81fkaSGhFvcSM9+vfFW8LcIirbc3zOvgNBa0o64lMKp35HFxT9HvbnFfeQ9LuC1wPT0/f0TDgTpVZy9/qARal4i9WxR3t/gPBK/FY4HrcRY5lIJCNQbVJ8VqUYIz//0llpDoK88/RF7r6+nxOTKXgkL1ixmz4I0jiGKwyigKCsrMzMzMeHwX3jAzc/Kv+6aBp63PmulKC/4Jn2w/z/z+/XNN7uZSWpeQluUk+mEJrV+/DK6axHeVQWWksETUWwALSj6QtUTGXQ+3JvoC1qaep9Pp34ALvcWTiOM0EK2M4HpSldjLeGb/ly/ZrMACXGAuksQLnBYPIoMl+vhx3+lE7q7DOUFlpLB+85pnSYSS59bCi4i08h8/Fg4nDtWhYilVV59d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"; +export const walletConnectLogo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAMAAABOo35HAAADAFBMVEVHcEwge/wfffwKcv4TeP0MdP4ngvwog/wcfP0Xe/0hgP0Vev0hgP0ff/wbfv8cffwbffwbfPwaff4QeP4Jc/4sg/oshfsng/wafPwggv8ihf8dffwYgf8hfPgffvsogfslgv0ffvwefvwafP0Ze/0Xe/4QeP4JdP4wiPskgfsliP8igPwhf/wgf/wff/wXe/0VfP8Wefw0ifsXev0Wev0Tfv8Hc/4nhv8kgfwjgPwVef0Tef8IdP4Hcv4vh/sTef0Gc/4Fcf4phf0rif8ng/0lgfsmgvsTeP0ngvsSeP0phf4og/sRd/0Pev8Pd/8Off8vjf8pg/sQd/0qhPsDcf4rhPsPdv4shfsyjf8thfsNdv4uhvs3i/sNdf4Ecf5Aj/k0i/0vh/wvhvoMdv8GdP40ivwyif0wh/oJev8zi/02j/8Ldf5Ik/kxh/oyiPoEcf5CkPgLdP4Kdf8ziPo5kf80ifoJdP41ifo3jP02ivoIdP8Ic/4IeP1Ik/g5jf03ivoHd/89lP84i/pCj/k5i/o5i/k6jPk7jfoGc/88jvw7jPkGcv4/kPw9kf88jflAkvtGkvpAk/89jfkBcP9Dlv8+jfk+jvkCdv9Dkfk/jvkEcv4DeP9Aj/kFcf9Bj/lJmP9Cj/lPlvhEkvxCkPkDcf9DkPlKk/dDkPhEkfhIlfxFkfhBj/hGkvhGkfhQnP9HkvgBc/9PlvdIk/gCcP9Jk/hOmf1Kk/hNlfdKlPhNlfhRl/dLlPggfvsdffspgvpVnPxgpP12sP2Ct/0ae/tanfqbxf2z0/7I3/7Z6f/k8P/x9//2+v/////U5/98s/wrhPqsz/7P4/78/f9Mlfi61/5bof6Uwf1OlfhtqvxQlveMvf1Ql/dOlfff7f9Wn/9OlvcthPlPlvcwhvlop/tQl/eiyf0AcP80iPlSmPdWmvZRl/cNdP3r9P82iflVm/nB2/5TmPdWmfdVmfdUmPdXmvdWmfdWmvhYmfZZm/Y+jfg8jPhZnPUDb/1bnPZbm/VcnfcUYgSRAAAA/3RSTlMACh8sRU5rhJSqw9XR7f//////7YASLOD4/////wQYObf//////7VfYf///////////53///+b///////AjKj/4Wvt///////////////////////V/////////7n/to33////+Nn////p//8o//+nSv///////////////4D//////7X///////////////ju///u/////9///////////2j/////W//////V//////+Z///////R//+o/////////////////////////////////////+b/t//v/////////////////9D/////////6f/////b9v///77///H5MkSAAAAo7klEQVR4AeTWBW4rMRSF4SbDWAgzM3PKzIz7X8o798HIr5Y1YnWSfwmfjq+88QMKhSVZUTXdMC3bcTfR1tY22olYlmnoUVWRpXBoY82LxWVVM+yEk0yl0+kUct3MJqPlum6WcpOOZRtRVY7H1pAply+oetF20lQKlUqlMpXJMFqoUqlWq7XaDqGhiFXXG4V8bn2k4k2t6LTS7XY61en2qH6fsMRag9/VarUhwIajSD3aiK/BouLNMfZETqkO6nah9YdLqFX1tCaTyXQ6HQ6Hs+wwYs0b0govLC/rptNuL9LLXapDdRE7Ln8ttLe3tz+czbKRg0M5v4pSYfUosVi000vKRwvxL5HVIq7j42OADU+M0/CKXSm1eNY+X1wsLy8vWx4WtNiXyN8tHou0PCxqf5idReqn0spsqlk8O4fUFbpErZb/tlgtJJoWur7e35/Bq7EC+wopRyR1g2CFWC2Gy1cLibSub2+H8JoroWA/P82+O1/c34OK1/J7ieKzxWGhh8fZoxUN7HPMyTSqu/vf/a8FLk+L25a/1hTxWg9Pz7OIIQfxOxFTzfOX81fkaSGhFvcSM9+vfFW8LcIirbc3zOvgNBa0o64lMKp35HFxT9HvbnFfeQ9LuC1wPT0/f0TDgTpVZy9/qARal4i9WxR3t/gPBK/FY4HrcRY5lIJCNQbVJ8VqUYIz//0llpDoK88/RF7r6+nxOTKXgkL1ixmz4I0jiGKwyigKCsrMzMzMeHwX3jAzc/Kv+6aBp63PmulKC/4Jn2w/z/z+/XNN7uZSWpeQluUk+mEJrV+/DK6axHeVQWWksETUWwALSj6QtUTGXQ+3JvoC1qaep9Pp34ALvcWTiOM0EK2M4HpSldjLeGb/ly/ZrMACXGAuksQLnBYPIoMl+vhx3+lE7q7DOUFlpLB+85pnSYSS59bCi4i08h8/Fg4nDtWhYilVV59d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" diff --git a/packages/widget/src/hooks/useCreateCosmosWallets.tsx b/packages/widget/src/hooks/useCreateCosmosWallets.tsx index 58af0d674..8989ad310 100644 --- a/packages/widget/src/hooks/useCreateCosmosWallets.tsx +++ b/packages/widget/src/hooks/useCreateCosmosWallets.tsx @@ -128,13 +128,15 @@ export const useCreateCosmosWallets = () => { for (const wallet of cosmosWallets) { const isWC = isWalletConnect(wallet); - const mobile = isMobile() + const walletInfo = getCosmosWalletInfo(wallet); - const initialChainIds = (() => { - if (isWC) return walletConnectMainnetChainIdsInitialConnect - if (wallet === WalletType.KEPLR && !mobile) return keplrMainnetChainIdsInitialConnect - return walletMainnetChainIdsInitialConnect - })().filter( + const initialChainIds = ( + isWC + ? walletConnectMainnetChainIdsInitialConnect + : wallet === WalletType.KEPLR + ? keplrMainnetChainIdsInitialConnect + : walletMainnetChainIdsInitialConnect + ).filter( (x) => chains ?.filter((z) => z.chainType === ChainType.Cosmos) diff --git a/packages/widget/src/modals/AssetAndChainSelectorModal/AssetAndChainSelectorModalSearchInput.tsx b/packages/widget/src/modals/AssetAndChainSelectorModal/AssetAndChainSelectorModalSearchInput.tsx index 73178f14e..7993c70f4 100644 --- a/packages/widget/src/modals/AssetAndChainSelectorModal/AssetAndChainSelectorModalSearchInput.tsx +++ b/packages/widget/src/modals/AssetAndChainSelectorModal/AssetAndChainSelectorModalSearchInput.tsx @@ -93,7 +93,6 @@ export const AssetAndChainSelectorModalSearchInput = ({ const StyledLeftArrowIcon = styled(LeftArrowIcon)` width: 25px; opacity: 0.5; - transform: rotate(180deg); `; const StyledSelectedAsset = styled(StyledAssetLabel)` diff --git a/packages/widget/src/pages/SwapExecutionPage/SwapExecutionPage.tsx b/packages/widget/src/pages/SwapExecutionPage/SwapExecutionPage.tsx index 027d8a19c..40e2774e2 100644 --- a/packages/widget/src/pages/SwapExecutionPage/SwapExecutionPage.tsx +++ b/packages/widget/src/pages/SwapExecutionPage/SwapExecutionPage.tsx @@ -98,15 +98,16 @@ export const SwapExecutionPage = () => { }, [signaturesRemaining, shouldDisplaySignaturesRemaining]); const onClickEditDestinationWallet = useMemo(() => { + const lastIndex = chainAddresses ? Object.keys(chainAddresses).length - 1 : 0; + const destinationAddress = chainAddresses?.[lastIndex]?.address; const loadingStates = [ SwapExecutionState.pending, SwapExecutionState.waitingForSigning, SwapExecutionState.validatingGasBalance, - SwapExecutionState.confirmed, - SwapExecutionState.signaturesRemaining, + SwapExecutionState.confirmed ]; - if (loadingStates.includes(swapExecutionState)) { + if (loadingStates.includes(swapExecutionState) || !destinationAddress) { return undefined; } @@ -115,7 +116,7 @@ export const SwapExecutionPage = () => { chainId: route?.destAssetChainID, }); }; - }, [swapExecutionState, route?.destAssetChainID]); + }, [chainAddresses, swapExecutionState, route?.destAssetChainID]); diff --git a/packages/widget/src/utils/os.ts b/packages/widget/src/utils/os.ts index 329a0d85d..4c90eee71 100644 --- a/packages/widget/src/utils/os.ts +++ b/packages/widget/src/utils/os.ts @@ -1,4 +1,4 @@ -export const isBrowser = typeof window !== "undefined" && typeof window.navigator !== "undefined"; +const isBrowser = typeof window !== "undefined" && typeof window.navigator !== "undefined"; export function isAndroid() { if (!isBrowser) { diff --git a/packages/widget/src/widget/ShadowDomAndProviders.tsx b/packages/widget/src/widget/ShadowDomAndProviders.tsx index 7157ab768..b8b860ea8 100644 --- a/packages/widget/src/widget/ShadowDomAndProviders.tsx +++ b/packages/widget/src/widget/ShadowDomAndProviders.tsx @@ -7,7 +7,7 @@ import { useState, } from "react"; import { StyleSheetManager, ThemeProvider } from "styled-components"; -import { useCSS, Scope } from "react-shadow-scope"; +import { Scope } from "react-shadow-scope"; import { defaultTheme, PartialTheme } from "./theme"; import isPropValid from "@emotion/is-prop-valid"; import { useInjectFontsToDocumentHead } from "@/hooks/useInjectFontsToDocumentHead"; @@ -31,7 +31,6 @@ export const ShadowDomAndProviders = ({ theme?: PartialTheme; }) => { useInjectFontsToDocumentHead(); - const css = useCSS(); const [, setShadowDom] = useState(); const [styledComponentContainer, setStyledComponentContainer] = @@ -58,7 +57,7 @@ export const ShadowDomAndProviders = ({ return ( - +