From b23b490f2d6e37876b04d52a9664b37b9bf69e6c Mon Sep 17 00:00:00 2001 From: bpiv400 Date: Mon, 19 Feb 2024 23:37:02 -0500 Subject: [PATCH 01/10] increasing gas price for carbon --- chain-registry | 2 +- src/config/gas.js | 1 + src/context/assets.tsx | 7 ++++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/chain-registry b/chain-registry index 3445a8db..83991113 160000 --- a/chain-registry +++ b/chain-registry @@ -1 +1 @@ -Subproject commit 3445a8dbece5a39fe0f9bd54ab5623d8b9ebfe5f +Subproject commit 839911133aaf453c42f0ffc56b0f6cfb52c33858 diff --git a/src/config/gas.js b/src/config/gas.js index ad6182de..ad34d4d6 100644 --- a/src/config/gas.js +++ b/src/config/gas.js @@ -6,4 +6,5 @@ const { GasPrice } = require("@cosmjs/stargate"); exports.CUSTOM_GAS_PRICE_CHAIN_IDS = { "dymension_1100-1": GasPrice.fromString("20000000000adym"), "noble-1": GasPrice.fromString("0.0uusdc"), + "carbon-1": GasPrice.fromString("100swth") }; diff --git a/src/context/assets.tsx b/src/context/assets.tsx index a0b4e9be..b7b97c44 100644 --- a/src/context/assets.tsx +++ b/src/context/assets.tsx @@ -54,7 +54,12 @@ export function AssetsProvider({ children }: { children: ReactNode }) { if (!feeAsset) { const chain = (chains ?? []).find((chain) => chain.chainID === chainID); if (!chain) return; - [feeAsset] = chain.feeAssets.sort(sortFeeAssets); + else if (chainID === "carbon-1") { + feeAsset = chain.feeAssets.find((v) => v.denom == "swth") + console.log(feeAsset); + } else { + [feeAsset] = chain.feeAssets.sort(sortFeeAssets); + } } if (!feeAsset) { return; From 7d7a6d76e4d9dc8794bf7142157275eb93d74007 Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Tue, 20 Feb 2024 14:02:36 +0700 Subject: [PATCH 02/10] remove console.log --- src/context/assets.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/context/assets.tsx b/src/context/assets.tsx index b7b97c44..b47fa803 100644 --- a/src/context/assets.tsx +++ b/src/context/assets.tsx @@ -56,7 +56,7 @@ export function AssetsProvider({ children }: { children: ReactNode }) { if (!chain) return; else if (chainID === "carbon-1") { feeAsset = chain.feeAssets.find((v) => v.denom == "swth") - console.log(feeAsset); + } else { [feeAsset] = chain.feeAssets.sort(sortFeeAssets); } From 78a55eac7586930b6e213c49ecd9f9e30b607e83 Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Sat, 17 Feb 2024 05:59:38 +0700 Subject: [PATCH 03/10] fix: override akash gas price --- chain-registry | 2 +- src/config/gas.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/chain-registry b/chain-registry index 83991113..97ce5448 160000 --- a/chain-registry +++ b/chain-registry @@ -1 +1 @@ -Subproject commit 839911133aaf453c42f0ffc56b0f6cfb52c33858 +Subproject commit 97ce54485a3429e5ca90a0fcad8d995f9fc0815c diff --git a/src/config/gas.js b/src/config/gas.js index ad34d4d6..3c485111 100644 --- a/src/config/gas.js +++ b/src/config/gas.js @@ -6,5 +6,6 @@ const { GasPrice } = require("@cosmjs/stargate"); exports.CUSTOM_GAS_PRICE_CHAIN_IDS = { "dymension_1100-1": GasPrice.fromString("20000000000adym"), "noble-1": GasPrice.fromString("0.0uusdc"), - "carbon-1": GasPrice.fromString("100swth") + "carbon-1": GasPrice.fromString("100swth"), + "akashnet-2": GasPrice.fromString("0.025uakt"), // https://www.mintscan.io/akash/parameters }; From 0bc34c3e3d19fe50bf936582abd3fc7af884a3aa Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Wed, 21 Feb 2024 00:40:11 +0700 Subject: [PATCH 04/10] chore: update chain registry --- chain-registry | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chain-registry b/chain-registry index 97ce5448..f0d5c07e 160000 --- a/chain-registry +++ b/chain-registry @@ -1 +1 @@ -Subproject commit 97ce54485a3429e5ca90a0fcad8d995f9fc0815c +Subproject commit f0d5c07ed1586443861a40570ab29306ea7c532c From 6b5e7204334962560c2f272d234d9579826c1d7d Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Tue, 20 Feb 2024 06:24:11 +0700 Subject: [PATCH 05/10] fix: error handling cw20 promise --- src/hooks/useBalancesByChain.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/hooks/useBalancesByChain.ts b/src/hooks/useBalancesByChain.ts index d9e5f221..8ef551a5 100644 --- a/src/hooks/useBalancesByChain.ts +++ b/src/hooks/useBalancesByChain.ts @@ -47,14 +47,18 @@ export async function getBalancesByChain(address: string, chainID: string, asset const balances = await stargate.getAllBalances(address); const cw20Assets = assets.filter((asset) => asset.isCW20); - - const cw20Balances = await Promise.all( - cw20Assets.map((asset) => { - return cosmwasm.queryContractSmart(asset.tokenContract!, { - balance: { address }, - }); + const _cw20Balances = await Promise.all( + cw20Assets.map(async (asset) => { + try { + return await cosmwasm.queryContractSmart(asset.tokenContract!, { + balance: { address }, + }); + } catch (e) { + return e; + } }), ); + const cw20Balances = _cw20Balances.filter((result) => !(result instanceof Error)); const allBalances = balances.reduce>( (acc, balance) => ({ ...acc, [balance.denom]: balance.amount }), From 254f9da36e0a713b61374434ce0c59aa455a05a4 Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Tue, 20 Feb 2024 06:25:01 +0700 Subject: [PATCH 06/10] feat: add cw20 indicator --- src/components/AssetSelect/AssetSelectContent.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/AssetSelect/AssetSelectContent.tsx b/src/components/AssetSelect/AssetSelectContent.tsx index ac7cdf19..95be58bb 100644 --- a/src/components/AssetSelect/AssetSelectContent.tsx +++ b/src/components/AssetSelect/AssetSelectContent.tsx @@ -95,7 +95,13 @@ function AssetSelectContent({ assets = [], balances, onChange, onClose, showChai onError={(e) => (e.currentTarget.src = "https://api.dicebear.com/6.x/shapes/svg")} />
-

{asset.recommendedSymbol}

+
+

{asset.recommendedSymbol}

+ {asset.isCW20 && ( +

CW20

+ )} +
+ {showChainInfo &&

{asset.chainID}

}
From e8e6492f8485f708a44af4eda02d5f09821bb3c2 Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Tue, 20 Feb 2024 06:47:54 +0700 Subject: [PATCH 07/10] feat: add balances loading --- src/components/AssetInput.tsx | 33 +++++++++++-------- .../AssetSelect/AssetSelectContent.tsx | 6 +++- src/components/AssetSelect/index.tsx | 4 ++- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/components/AssetInput.tsx b/src/components/AssetInput.tsx index 1205321d..fbf1c089 100644 --- a/src/components/AssetInput.tsx +++ b/src/components/AssetInput.tsx @@ -60,7 +60,7 @@ function AssetInput({ const isAnyDisclosureOpen = useAnyDisclosureOpen(); - const { data: balances } = useBalancesByChain({ + const { data: balances, isLoading: isBalancesLoading } = useBalancesByChain({ address: account?.address, chain, assets, @@ -100,6 +100,7 @@ function AssetInput({ balances={balances} onChange={onAssetChange} showChainInfo={!!chain} + isBalancesLoading={isBalancesLoading} />
@@ -186,19 +187,23 @@ function AssetInput({
{context === "source" && account?.address && asset && (
- Balance: - -
- {parseFloat(selectedAssetBalance).toLocaleString("en-US", { - maximumFractionDigits: 4, - })} -
-
+ Balance:{" "} + {isBalancesLoading ? ( + + ) : ( + +
+ {parseFloat(selectedAssetBalance).toLocaleString("en-US", { + maximumFractionDigits: 4, + })} +
+
+ )}

Select Token

+ {isBalancesLoading && }
; onChange?: (asset: Asset) => void; showChainInfo?: boolean; + isBalancesLoading?: boolean; } -function AssetSelect({ asset, assets, balances, onChange, showChainInfo }: Props) { +function AssetSelect({ asset, assets, balances, onChange, showChainInfo, isBalancesLoading }: Props) { const [isOpen, setIsOpen] = useState(false); return ( setIsOpen(false)} showChainInfo={showChainInfo} + isBalancesLoading={isBalancesLoading} /> From 4616fbae6d5dfeea7cc63ab95d190f89862bed2b Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Tue, 20 Feb 2024 07:20:01 +0700 Subject: [PATCH 08/10] fix: recommendedSymbol fallback to symbol --- src/components/AssetSelect/AssetSelectContent.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AssetSelect/AssetSelectContent.tsx b/src/components/AssetSelect/AssetSelectContent.tsx index 28818673..a7de78af 100644 --- a/src/components/AssetSelect/AssetSelectContent.tsx +++ b/src/components/AssetSelect/AssetSelectContent.tsx @@ -100,7 +100,7 @@ function AssetSelectContent({ assets = [], balances, onChange, onClose, showChai />
-

{asset.recommendedSymbol}

+

{asset.recommendedSymbol || asset.symbol}

{asset.isCW20 && (

CW20

)} From 861ddeeacc28b2864d9853530be7fc6e7f121184 Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Wed, 21 Feb 2024 23:39:13 +0700 Subject: [PATCH 09/10] chore: run prettier --- src/context/assets.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/context/assets.tsx b/src/context/assets.tsx index b47fa803..d67659b3 100644 --- a/src/context/assets.tsx +++ b/src/context/assets.tsx @@ -55,8 +55,7 @@ export function AssetsProvider({ children }: { children: ReactNode }) { const chain = (chains ?? []).find((chain) => chain.chainID === chainID); if (!chain) return; else if (chainID === "carbon-1") { - feeAsset = chain.feeAssets.find((v) => v.denom == "swth") - + feeAsset = chain.feeAssets.find((v) => v.denom == "swth"); } else { [feeAsset] = chain.feeAssets.sort(sortFeeAssets); } From d922b1b81887a26f1ddc2a2d0627b895ccf6b5e4 Mon Sep 17 00:00:00 2001 From: Nur Fikri Date: Wed, 21 Feb 2024 23:39:34 +0700 Subject: [PATCH 10/10] feat: add help to discord link --- src/components/Help.tsx | 17 +++++++++++++++++ src/layouts/default.tsx | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 src/components/Help.tsx diff --git a/src/components/Help.tsx b/src/components/Help.tsx new file mode 100644 index 00000000..c1b64492 --- /dev/null +++ b/src/components/Help.tsx @@ -0,0 +1,17 @@ +export const Help = () => { + return ( +
+

+ Need Help? Join our{" "} + + Discord + +

+
+ ); +}; diff --git a/src/layouts/default.tsx b/src/layouts/default.tsx index b221443c..b8e07976 100644 --- a/src/layouts/default.tsx +++ b/src/layouts/default.tsx @@ -3,6 +3,7 @@ import { Toaster } from "react-hot-toast"; import { Footer } from "@/components/Footer"; import Header from "@/components/Header"; +import { Help } from "@/components/Help"; import SkipBanner from "@/components/SkipBanner"; import { VersionCheck } from "@/components/VersionCheck"; import { AssetsProvider } from "@/context/assets"; @@ -19,6 +20,7 @@ export function DefaultLayout({ children }: { children: ReactNode }) {