Skip to content

Commit

Permalink
Display bitcoin token details
Browse files Browse the repository at this point in the history
  • Loading branch information
piatoss3612 committed Feb 27, 2025
1 parent c43dad2 commit d2566d7
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 16 deletions.
21 changes: 16 additions & 5 deletions apps/extension/src/pages/main/token-detail/address-chip/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,14 @@ export const AddressChip: FunctionComponent<{
navigator.clipboard.writeText(
isEVMOnlyChain ? account.ethereumHexAddress : account.bech32Address
);
} else {
} else if ("starknet" in modularChainInfo) {
// copy address
navigator.clipboard.writeText(account.starknetHexAddress);
} else if ("bitcoin" in modularChainInfo) {
// copy address
navigator.clipboard.writeText(
account.bitcoinAddress?.bech32Address ?? ""
);
}
setAnimCheck(true);
}}
Expand All @@ -108,11 +113,17 @@ export const AddressChip: FunctionComponent<{
10
)}...${account.ethereumHexAddress.slice(32)}`
: Bech32Address.shortenAddress(account.bech32Address, 16);
} else if ("starknet" in modularChainInfo) {
return `${account.starknetHexAddress.slice(
0,
10
)}...${account.starknetHexAddress.slice(56)}`;
} else if ("bitcoin" in modularChainInfo) {
return Bech32Address.shortenAddress(
account.bitcoinAddress?.bech32Address ?? "",
16
);
}
return `${account.starknetHexAddress.slice(
0,
10
)}...${account.starknetHexAddress.slice(56)}`;
})()}
</Body3>
<Gutter size="0.4rem" />
Expand Down
54 changes: 43 additions & 11 deletions apps/extension/src/pages/main/token-detail/modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ export const TokenDetailModal: FunctionComponent<{
accountStore,
queriesStore,
starknetQueriesStore,
bitcoinQueriesStore,
priceStore,
price24HChangesStore,
skipQueriesStore,
Expand All @@ -87,9 +88,13 @@ export const TokenDetailModal: FunctionComponent<{
// TODO: 일단 cosmos가 아니면 대충에기에다가 force currency 로직을 박아놓는다...
// 나중에 이런 기능을 chain store 자체에다가 만들어야한다.
const modularChainInfoImpl = chainStore.getModularChainInfoImpl(chainId);
const res = modularChainInfoImpl
.getCurrencies("starknet")
.find((cur) => cur.coinMinimalDenom === coinMinimalDenom);
const modularChainInfoImplImpl =
"bitcoin" in modularChainInfo
? modularChainInfoImpl.getCurrencies("bitcoin")
: modularChainInfoImpl.getCurrencies("starknet");
const res = modularChainInfoImplImpl.find(
(cur) => cur.coinMinimalDenom === coinMinimalDenom
);
if (res) {
return res;
}
Expand Down Expand Up @@ -132,14 +137,30 @@ export const TokenDetailModal: FunctionComponent<{
.getQueryBech32Address(account.bech32Address)
.getBalance(currency);
}
return starknetQueriesStore
.get(chainId)
.queryStarknetERC20Balance.getBalance(
chainId,
chainStore,
account.starknetHexAddress,
currency.coinMinimalDenom
);

if ("starknet" in modularChainInfo) {
return starknetQueriesStore
.get(chainId)
.queryStarknetERC20Balance.getBalance(
chainId,
chainStore,
account.starknetHexAddress,
currency.coinMinimalDenom
);
}

if ("bitcoin" in modularChainInfo) {
return bitcoinQueriesStore
.get(chainId)
.queryBitcoinBalance.getBalance(
chainId,
chainStore,
account.bitcoinAddress?.bech32Address ?? "",
currency.coinMinimalDenom
);
}

throw new Error(`Unsupported chain: ${chainId}`);
})();

const price24HChange = (() => {
Expand Down Expand Up @@ -285,6 +306,11 @@ export const TokenDetailModal: FunctionComponent<{
`/starknet/send?chainId=${chainId}&coinMinimalDenom=${coinMinimalDenom}`
);
}
if ("bitcoin" in modularChainInfo) {
navigate(
`/bitcoin/send?chainId=${chainId}&coinMinimalDenom=${coinMinimalDenom}`
);
}
},
},
];
Expand All @@ -298,6 +324,12 @@ export const TokenDetailModal: FunctionComponent<{
if ("cosmos" in modularChainInfo) {
return accountStore.getAccount(chainId).bech32Address;
}
// TODO: handle bitcoin tx history
// if ("bitcoin" in modularChainInfo) {
// return (
// accountStore.getAccount(chainId).bitcoinAddress?.bech32Address ?? ""
// );
// }
return accountStore.getAccount(chainId).starknetHexAddress;
})()}?relations=${Relations.join(",")}&denoms=${encodeURIComponent(
currency.coinMinimalDenom
Expand Down

0 comments on commit d2566d7

Please sign in to comment.