diff --git a/src/frontend/src/lib/api/icp-index.api.ts b/src/frontend/src/lib/api/icp-index.api.ts index 115b39943..326be8dad 100644 --- a/src/frontend/src/lib/api/icp-index.api.ts +++ b/src/frontend/src/lib/api/icp-index.api.ts @@ -5,27 +5,6 @@ import { assertNonNullish } from '@dfinity/utils'; import { IcpIndexCanister, type IcpIndexDid } from '@icp-sdk/canisters/ledger/icp'; import type { IcrcAccount } from '@icp-sdk/canisters/ledger/icrc'; -export const getBalance = async ({ - account, - identity -}: { - account: IcrcAccount; - identity: OptionIdentity; -}): Promise => { - assertNonNullish(identity, 'No internet identity to initialize the Index actor.'); - - const agent = await getAgent({ identity }); - - const { accountBalance } = IcpIndexCanister.create({ - agent - }); - - return accountBalance({ - accountIdentifier: toAccountIdentifier(account).toHex(), - certified: false - }); -}; - export const getIcpTransactions = async ({ account, identity, diff --git a/src/frontend/src/lib/api/icrc-index.api.ts b/src/frontend/src/lib/api/icrc-index.api.ts index 9412142ed..961a028cb 100644 --- a/src/frontend/src/lib/api/icrc-index.api.ts +++ b/src/frontend/src/lib/api/icrc-index.api.ts @@ -8,6 +8,29 @@ import { type IcrcIndexDid } from '@icp-sdk/canisters/ledger/icrc'; +export const getUncertifiedBalance = async ({ + account, + identity, + indexId +}: { + account: IcrcAccount; + identity: OptionIdentity; +} & Pick): Promise => { + assertNonNullish(identity, 'No internet identity to initialize the ICRC Index actor.'); + + const agent = await getAgent({ identity }); + + const { balance } = IcrcIndexCanister.create({ + agent, + canisterId: indexId + }); + + return balance({ + ...account, + certified: false + }); +}; + export const getIcrcTransactions = async ({ account, indexId, diff --git a/src/frontend/src/lib/components/wallet/tokens/ReceiveTokens.svelte b/src/frontend/src/lib/components/wallet/tokens/ReceiveTokens.svelte index ef78247aa..25ae5b56a 100644 --- a/src/frontend/src/lib/components/wallet/tokens/ReceiveTokens.svelte +++ b/src/frontend/src/lib/components/wallet/tokens/ReceiveTokens.svelte @@ -6,8 +6,9 @@ import Popover from '$lib/components/ui/Popover.svelte'; import ReceiveTokensQRCode from '$lib/components/wallet/tokens/ReceiveTokensQRCode.svelte'; import ReceiveTokensSigner from '$lib/components/wallet/tokens/ReceiveTokensSigner.svelte'; + import { CYCLES, ICP } from '$lib/constants/token.constants'; import { isNotSkylab } from '$lib/env/app.env'; - import type { SelectedWallet } from '$lib/schemas/wallet.schema'; + import type { SelectedToken, SelectedWallet } from '$lib/schemas/wallet.schema'; import { i18n } from '$lib/stores/app/i18n.store'; import { toAccountIdentifier } from '$lib/utils/icp-icrc-account.utils'; @@ -23,6 +24,10 @@ let walletIdText = $derived(encodeIcrcAccount(walletId)); let accountIdentifier = $derived(toAccountIdentifier(walletId)); + let selectedToken = $derived( + selectedWallet?.type === 'mission_control' ? ICP : CYCLES + ); + let step: 'options' | 'wallet_id' | 'account_identifier' | 'signer' = $state('options'); $effect(() => { @@ -53,7 +58,12 @@ {:else if step === 'signer'}
- (step = 'options')} {walletId} bind:visible /> + (step = 'options')} + {selectedToken} + {walletId} + bind:visible + />
{:else}
diff --git a/src/frontend/src/lib/components/wallet/tokens/ReceiveTokensSigner.svelte b/src/frontend/src/lib/components/wallet/tokens/ReceiveTokensSigner.svelte index 50754de11..e0db09649 100644 --- a/src/frontend/src/lib/components/wallet/tokens/ReceiveTokensSigner.svelte +++ b/src/frontend/src/lib/components/wallet/tokens/ReceiveTokensSigner.svelte @@ -1,14 +1,13 @@