diff --git a/package.json b/package.json
index 24fe155..12bcfa4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@project-serum/swap-ui",
- "version": "0.1.0-alpha.5",
+ "version": "0.1.0-alpha.6",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"homepage": ".",
diff --git a/src/swap/components/Info.tsx b/src/swap/components/Info.tsx
index a4331f7..74ae4e5 100644
--- a/src/swap/components/Info.tsx
+++ b/src/swap/components/Info.tsx
@@ -8,10 +8,10 @@ import {
import { Info } from "@material-ui/icons";
import PopupState, { bindTrigger, bindPopover } from "material-ui-popup-state";
import { PublicKey } from "@solana/web3.js";
-import { useTokenMap } from "./context/TokenList";
-import { useSwapContext, useSwapFair } from "./context/Swap";
-import { useMint } from "./context/Mint";
-import { useRoute, useMarketName, useFair } from "./context/Dex";
+import { useTokenMap } from "../context/TokenList";
+import { useSwapContext, useSwapFair } from "../context/Swap";
+import { useMint } from "../context/Mint";
+import { useRoute, useMarketName, useFair } from "../context/Dex";
const useStyles = makeStyles((theme) => ({
infoLabel: {
diff --git a/src/swap/components/Settings.tsx b/src/swap/components/Settings.tsx
index 3591347..fa5f75b 100644
--- a/src/swap/components/Settings.tsx
+++ b/src/swap/components/Settings.tsx
@@ -30,11 +30,11 @@ import {
import { ToggleButton } from "@material-ui/lab";
import { SettingsOutlined as Settings, Close } from "@material-ui/icons";
import PopupState, { bindTrigger, bindPopover } from "material-ui-popup-state";
-import { useSwapContext, useSwapFair } from "./context/Swap";
-import { useMarket, useOpenOrders, useDexContext } from "./context/Dex";
-import { useTokenMap } from "./context/TokenList";
-import { useMint } from "./context/Mint";
-import { useOwnedTokenAccount } from "./context/Token";
+import { useSwapContext, useSwapFair } from "../context/Swap";
+import { useMarket, useOpenOrders, useDexContext } from "../context/Dex";
+import { useTokenMap } from "../context/TokenList";
+import { useMint } from "../context/Mint";
+import { useOwnedTokenAccount } from "../context/Token";
const useStyles = makeStyles((theme) => ({
tab: {
diff --git a/src/swap/components/Swap.tsx b/src/swap/components/Swap.tsx
index ac4480d..d7d3a2b 100644
--- a/src/swap/components/Swap.tsx
+++ b/src/swap/components/Swap.tsx
@@ -1,8 +1,6 @@
import { useState } from "react";
import { PublicKey } from "@solana/web3.js";
-import { TokenListContainer } from "@solana/spl-token-registry";
-import { BN, Provider } from "@project-serum/anchor";
-import { Swap as SwapClient } from "@project-serum/swap";
+import { BN } from "@project-serum/anchor";
import {
makeStyles,
Card,
@@ -12,23 +10,21 @@ import {
TextField,
} from "@material-ui/core";
import { ExpandMore } from "@material-ui/icons";
-import { SwapContextProvider, useSwapContext } from "./context/Swap";
+import { useSwapContext } from "../context/Swap";
import {
- DexContextProvider,
useDexContext,
useOpenOrders,
useRouteVerbose,
useMarket,
-} from "./context/Dex";
-import { MintContextProvider, useMint } from "./context/Mint";
+} from "../context/Dex";
+import { useMint } from "../context/Mint";
import {
- TokenListContextProvider,
useTokenMap,
useTokenListContext,
SPL_REGISTRY_SOLLET_TAG,
SPL_REGISTRY_WORM_TAG,
-} from "./context/TokenList";
-import { TokenContextProvider, useOwnedTokenAccount } from "./context/Token";
+} from "../context/TokenList";
+import { useOwnedTokenAccount } from "../context/Token";
import TokenDialog from "./TokenDialog";
import { SettingsButton } from "./Settings";
import { InfoLabel } from "./Info";
@@ -61,45 +57,7 @@ const useStyles = makeStyles(() => ({
},
}));
-export default function Swap({
- style,
- provider,
- tokenList,
- fromMint,
- toMint,
- fromAmount,
- toAmount,
-}: {
- provider: Provider;
- tokenList: TokenListContainer;
- fromMint?: PublicKey;
- toMint?: PublicKey;
- fromAmount?: number;
- toAmount?: number;
- style?: any;
-}) {
- const swapClient = new SwapClient(provider, tokenList);
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-function SwapCard({ style }: { style?: any }) {
+export default function SwapCard({ style }: { style?: any }) {
const styles = useStyles();
return (
diff --git a/src/swap/components/TokenDialog.tsx b/src/swap/components/TokenDialog.tsx
index 5d5ddf3..8cbe867 100644
--- a/src/swap/components/TokenDialog.tsx
+++ b/src/swap/components/TokenDialog.tsx
@@ -15,7 +15,7 @@ import {
Tab,
} from "@material-ui/core";
import { TokenIcon } from "./Swap";
-import { useSwappableTokens } from "./context/TokenList";
+import { useSwappableTokens } from "../context/TokenList";
const useStyles = makeStyles(() => ({
dialogContent: {
diff --git a/src/swap/components/context/Dex.tsx b/src/swap/context/Dex.tsx
similarity index 99%
rename from src/swap/components/context/Dex.tsx
rename to src/swap/context/Dex.tsx
index 640d2ab..10a4bd4 100644
--- a/src/swap/components/context/Dex.tsx
+++ b/src/swap/context/Dex.tsx
@@ -18,7 +18,7 @@ import {
WORM_USDC_MARKET,
WORM_USDT_MARKET,
WORM_MARKET_BASE,
-} from "../../utils/pubkeys";
+} from "../utils/pubkeys";
import { useTokenMap, useTokenListContext } from "./TokenList";
import { fetchSolletInfo, requestWormholeSwapMarketIfNeeded } from "./Sollet";
diff --git a/src/swap/components/context/Mint.tsx b/src/swap/context/Mint.tsx
similarity index 100%
rename from src/swap/components/context/Mint.tsx
rename to src/swap/context/Mint.tsx
diff --git a/src/swap/components/context/Sollet.tsx b/src/swap/context/Sollet.tsx
similarity index 100%
rename from src/swap/components/context/Sollet.tsx
rename to src/swap/context/Sollet.tsx
diff --git a/src/swap/components/context/Swap.tsx b/src/swap/context/Swap.tsx
similarity index 98%
rename from src/swap/components/context/Swap.tsx
rename to src/swap/context/Swap.tsx
index e749e7a..b025df3 100644
--- a/src/swap/components/context/Swap.tsx
+++ b/src/swap/context/Swap.tsx
@@ -1,7 +1,7 @@
import React, { useContext, useState } from "react";
import * as assert from "assert";
import { PublicKey } from "@solana/web3.js";
-import { SRM_MINT, USDC_MINT } from "../../utils/pubkeys";
+import { SRM_MINT, USDC_MINT } from "../utils/pubkeys";
import { useFairRoute } from "./Dex";
const DEFAULT_SLIPPAGE_PERCENT = 0.5;
diff --git a/src/swap/components/context/Token.tsx b/src/swap/context/Token.tsx
similarity index 96%
rename from src/swap/components/context/Token.tsx
rename to src/swap/context/Token.tsx
index 71cb817..84aa9bc 100644
--- a/src/swap/components/context/Token.tsx
+++ b/src/swap/context/Token.tsx
@@ -1,7 +1,7 @@
import React, { useContext, useState, useEffect } from "react";
import { PublicKey } from "@solana/web3.js";
import { AccountInfo as TokenAccount } from "@solana/spl-token";
-import { getOwnedTokenAccounts } from "../../utils/tokens";
+import { getOwnedTokenAccounts } from "../utils/tokens";
const _TokenContext = React.createContext(null);
diff --git a/src/swap/components/context/TokenList.tsx b/src/swap/context/TokenList.tsx
similarity index 98%
rename from src/swap/components/context/TokenList.tsx
rename to src/swap/context/TokenList.tsx
index 0134751..da2e174 100644
--- a/src/swap/components/context/TokenList.tsx
+++ b/src/swap/context/TokenList.tsx
@@ -1,6 +1,6 @@
import React, { useContext, useMemo } from "react";
import { TokenInfo } from "@solana/spl-token-registry";
-import { USDC_MINT, USDT_MINT } from "../../utils/pubkeys";
+import { USDC_MINT, USDT_MINT } from "../utils/pubkeys";
type TokenListContext = {
tokenMap: Map;
diff --git a/src/swap/index.ts b/src/swap/index.ts
deleted file mode 100644
index d45ebd3..0000000
--- a/src/swap/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// The swap module exports a single `Swap` component that can be embedded into
-// applications.
-
-import Swap from "./components/Swap";
-export default Swap;
diff --git a/src/swap/index.tsx b/src/swap/index.tsx
new file mode 100644
index 0000000..ceb2bf6
--- /dev/null
+++ b/src/swap/index.tsx
@@ -0,0 +1,50 @@
+import { PublicKey } from "@solana/web3.js";
+import { TokenListContainer } from "@solana/spl-token-registry";
+import { Provider } from "@project-serum/anchor";
+import { Swap as SwapClient } from "@project-serum/swap";
+import { SwapContextProvider } from "./context/Swap";
+import { DexContextProvider } from "./context/Dex";
+import { MintContextProvider } from "./context/Mint";
+import { TokenListContextProvider } from "./context/TokenList";
+import { TokenContextProvider } from "./context/Token";
+import SwapCard from "./components/Swap";
+
+// The swap module exports a single `Swap` component that can be embedded into
+// applications.
+export default function Swap({
+ style,
+ provider,
+ tokenList,
+ fromMint,
+ toMint,
+ fromAmount,
+ toAmount,
+}: {
+ provider: Provider;
+ tokenList: TokenListContainer;
+ fromMint?: PublicKey;
+ toMint?: PublicKey;
+ fromAmount?: number;
+ toAmount?: number;
+ style?: any;
+}) {
+ const swapClient = new SwapClient(provider, tokenList);
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+}