Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/iframe/src/components/interface/GlobalHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { GearSix } from "@phosphor-icons/react/dist/ssr"
import { Link, useLocation } from "@tanstack/react-router"
import { useAtom } from "jotai"
import { appMessageBus } from "#src/services/eventBus"
import { secondaryMenuVisibilityAtom } from "#src/state/interfaceState.ts"
import { secondaryMenuVisibilityAtom } from "#src/state/interfaceState"

function signalClosed() {
void appMessageBus.emit(Msgs.WalletVisibility, { isOpen: false })
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useAtom } from "jotai"
import { bannersAtom } from "#src/state/banner.ts"
import { bannersAtom } from "#src/state/banner"
import { PopupBlockedAlert } from "./alerts/PopupBlockedAlert"

function useBanners() {
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/components/interface/home/AppStatus.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Link } from "@tanstack/react-router"
import { useAtomValue } from "jotai"
import { useHasPermissions } from "#src/hooks/useHasPermissions"
import { currentChainAtom } from "#src/state/chains.ts"
import { currentChainAtom } from "#src/state/chains"
import { getAppURL } from "#src/utils/appURL"

export const AppStatus = () => {
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/components/interface/home/HappyBalance.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useAtom, useAtomValue } from "jotai"
import { useEffect } from "react"
import { useBalance } from "wagmi"
import { walletOpenSignalAtom } from "#src/state/interfaceState.ts"
import { walletOpenSignalAtom } from "#src/state/interfaceState"
import { userAtom } from "#src/state/user"
import { formatUserBalance } from "#src/utils/formatUserBalance"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { appList } from "#src/utils/lists.ts"
import { appList } from "#src/utils/lists"

/** Displays recently played games that the user logged into. */
const GamesView = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { useWatchAsset } from "wagmi"
import { Button } from "#src/components/primitives/button/Button"
import { FieldInput } from "#src/components/primitives/input/FieldInput"
import { Input } from "#src/components/primitives/input/Input"
import { recipeTextInput } from "#src/components/primitives/input/variants.ts"
import { recipeTextInput } from "#src/components/primitives/input/variants"
import { recipePositioner } from "#src/components/primitives/popover/variants"
import { useERC20Balance } from "#src/hooks/useERC20Balance"
import { importTokensDialogVisibilityAtom } from "#src/state/interfaceState"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Check } from "@phosphor-icons/react"
import { useState } from "react"
import type { Address } from "viem"
import { Permissions } from "#src/constants/permissions"
import { type SessionKeyRequest, hasPermissions } from "#src/state/permissions.ts"
import { type SessionKeyRequest, hasPermissions } from "#src/state/permissions"
import type { AppURL } from "#src/utils/appURL"

interface SessionKeyContractProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { EthRequestAccounts } from "#src/components/requests/EthRequestAccounts"
import { type PermissionDescriptionIndex, permissionDescriptions } from "#src/constants/requestLabels.ts"
import { type PermissionDescriptionIndex, permissionDescriptions } from "#src/constants/requestLabels"
import { getAppURL } from "#src/utils/appURL"
import {
FormattedDetailsLine,
Expand Down
10 changes: 5 additions & 5 deletions apps/iframe/src/connections/GoogleConnector.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { type HappyUser, WalletType } from "@happy.tech/wallet-common"
import { type AuthProvider, GoogleAuthProvider } from "firebase/auth"
import type { EIP1193Provider } from "viem"
import { setUserWithProvider } from "#src/actions/setUserWithProvider.ts"
import { StorageKey, storage } from "#src/services/storage.ts"
import { getChains } from "#src/state/chains.ts"
import { grantPermissions } from "#src/state/permissions.ts"
import { getAppURL } from "#src/utils/appURL.ts"
import { setUserWithProvider } from "#src/actions/setUserWithProvider"
import { StorageKey, storage } from "#src/services/storage"
import { getChains } from "#src/state/chains"
import { grantPermissions } from "#src/state/permissions"
import { getAppURL } from "#src/utils/appURL"
import { FirebaseConnector } from "./firebase"
import { googleLogo } from "./firebase/logos"

Expand Down
16 changes: 8 additions & 8 deletions apps/iframe/src/connections/InjectedProviderProxy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ import {
standardizeRpcError,
} from "@happy.tech/wallet-common"
import type { EIP1193Provider } from "viem"
import { setUserWithProvider } from "#src/actions/setUserWithProvider.ts"
import { happyProviderBus } from "#src/services/eventBus.ts"
import { getInjectedProvider } from "#src/state/injectedProvider.ts"
import { grantPermissions } from "#src/state/permissions.ts"
import { getUser } from "#src/state/user.ts"
import { getAppURL, isStandaloneWallet, walletID } from "#src/utils/appURL.ts"
import { createHappyUserFromWallet } from "#src/utils/createHappyUserFromWallet.ts"
import { iframeProvider } from "#src/wagmi/provider.ts"
import { setUserWithProvider } from "#src/actions/setUserWithProvider"
import { happyProviderBus } from "#src/services/eventBus"
import { getInjectedProvider } from "#src/state/injectedProvider"
import { grantPermissions } from "#src/state/permissions"
import { getUser } from "#src/state/user"
import { getAppURL, isStandaloneWallet, walletID } from "#src/utils/appURL"
import { createHappyUserFromWallet } from "#src/utils/createHappyUserFromWallet"
import { iframeProvider } from "#src/wagmi/provider"

/**
* A proxy implementation of the EIP-1193 provider interface
Expand Down
4 changes: 2 additions & 2 deletions apps/iframe/src/connections/initialize.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { type ConnectionProvider, type EIP6963ProviderDetail, Msgs } from "@happ
import { atom, getDefaultStore, useAtomValue } from "jotai"
import { createStore } from "mipd"
import { useMemo } from "react"
import { appMessageBus } from "#src/services/eventBus.ts"
import { isStandaloneWallet } from "#src/utils/appURL.ts"
import { appMessageBus } from "#src/services/eventBus"
import { isStandaloneWallet } from "#src/utils/appURL"
import { userAtom } from "../state/user"
import { GoogleConnector } from "./GoogleConnector"
import { InjectedConnector } from "./InjectedConnector"
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/listeners/atoms.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Msgs } from "@happy.tech/wallet-common"
import { getDefaultStore } from "jotai/vanilla"
import { http, createPublicClient } from "viem"
import { mainnet } from "viem/chains"
import { permissionsMapAtom } from "#src/state/permissions.ts"
import { permissionsMapAtom } from "#src/state/permissions"
import { appMessageBus } from "../services/eventBus"
import { authStateAtom } from "../state/authState"
import { userAtom } from "../state/user"
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/listeners/overlay.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Msgs } from "@happy.tech/wallet-common"
import { appMessageBus } from "#src/services/eventBus.ts"
import { appMessageBus } from "#src/services/eventBus"

/**
* Forward error display requests to the front
Expand Down
4 changes: 2 additions & 2 deletions apps/iframe/src/requests/handlers/rejected.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import {
WalletType,
serializeRpcError,
} from "@happy.tech/wallet-common"
import { InjectedProviderProxy } from "#src/connections/InjectedProviderProxy.ts"
import { InjectedProviderProxy } from "#src/connections/InjectedProviderProxy"
import { happyProviderBus } from "#src/services/eventBus"
import { getUser } from "#src/state/user.ts"
import { getUser } from "#src/state/user"
import { appForSourceID, isWallet } from "#src/utils/appURL"
import { iframeProvider } from "#src/wagmi/provider"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { HappyUser } from "@happy.tech/wallet-common"
import { beforeEach, describe, expect, test, vi } from "vitest"
import { dispatchedPermissionlessRequest } from "#src/requests/handlers/permissionless"
import { setAuthState } from "#src/state/authState"
import { clearPermissions, getAllPermissions, grantPermissions } from "#src/state/permissions.ts"
import { clearPermissions, getAllPermissions, grantPermissions } from "#src/state/permissions"
import { setUser } from "#src/state/user"

const { appURL, parentID, appURLMock } = await vi //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { HappyUser } from "@happy.tech/wallet-common"
import { beforeEach, describe, expect, test } from "vitest"
import { vi } from "vitest"
import { setAuthState } from "#src/state/authState"
import { clearPermissions, getAllPermissions } from "#src/state/permissions.ts"
import { clearPermissions, getAllPermissions } from "#src/state/permissions"
import { setUser } from "#src/state/user"
import { dispatchedPermissionlessRequest } from "../handlers/permissionless"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { HappyUser } from "@happy.tech/wallet-common"
import { beforeEach, describe, expect, test, vi } from "vitest"
import { dispatchedPermissionlessRequest } from "#src/requests/handlers/permissionless"
import { setAuthState } from "#src/state/authState"
import { clearPermissions, getAllPermissions } from "#src/state/permissions.ts"
import { clearPermissions, getAllPermissions } from "#src/state/permissions"
import { setUser } from "#src/state/user"

const { appURL, parentID, appURLMock } = await vi //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { beforeEach, describe, expect, test } from "vitest"
import { vi } from "vitest"
import { dispatchedPermissionlessRequest } from "#src/requests/handlers/permissionless"
import { setAuthState } from "#src/state/authState"
import { clearPermissions, getAllPermissions } from "#src/state/permissions.ts"
import { clearPermissions, getAllPermissions } from "#src/state/permissions"
import { setUser } from "#src/state/user"

const { appURL, walletID, appURLMock } = await vi //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { HappyUser } from "@happy.tech/wallet-common"
import { beforeEach, describe, expect, test, vi } from "vitest"
import { dispatchApprovedRequest } from "#src/requests/handlers/approved"
import { setAuthState } from "#src/state/authState"
import { clearPermissions, getAllPermissions } from "#src/state/permissions.ts"
import { clearPermissions, getAllPermissions } from "#src/state/permissions"
import { setUser } from "#src/state/user"

const { appURL, walletURL, parentID, appURLMock } = await vi //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { beforeEach, describe, expect, test } from "vitest"
import { vi } from "vitest"
import { dispatchApprovedRequest } from "#src/requests/handlers/approved"
import { setAuthState } from "#src/state/authState"
import { clearPermissions, getAllPermissions } from "#src/state/permissions.ts"
import { clearPermissions, getAllPermissions } from "#src/state/permissions"
import { setUser } from "#src/state/user"

const { appURL, walletID, appURLMock } = await vi //
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/requests/tests/wallet_watchAsset.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { HappyUser } from "@happy.tech/wallet-common"
import { beforeEach, describe, expect, test, vi } from "vitest"
import { setAuthState } from "#src/state/authState"
import { setUser } from "#src/state/user"
import { getWatchedAssets } from "#src/state/watchedAssets.ts"
import { getWatchedAssets } from "#src/state/watchedAssets"
import { dispatchApprovedRequest } from "../handlers/approved"

const { walletID, appURLMock } = await vi //
Expand Down
11 changes: 6 additions & 5 deletions apps/iframe/src/requests/utils/boop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,15 +187,16 @@ function safeParseSignature(validatorData?: Hex) {
}

export async function boopFromTransaction(account: Address, tx: ValidRpcTransactionRequest): Promise<Boop> {
// TODO bigint casts need validation

return {
account: tx.from,
account: tx.from ?? account,
dest: tx.to,
payer: zeroAddress, // happyPaymaster, // TODO need to fund paymaster
value: tx.value ? BigInt(tx.value) : 0n,
value: tx.value !== undefined ? (parseBigInt(tx.value) ?? 0n) : 0n,
Copy link
Copy Markdown
Collaborator

@norswap norswap May 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because of how parseBigInt (one of our utility function) works, all of these can be parseBigInt(thing) ?? fallback — I actually completely coincidentally made the change in the PR I'm working on, so this can stay like this.

nonceTrack: 0n,
nonceValue: tx.nonce ? BigInt(tx.nonce) : await getNextNonce(account),
nonceValue:
tx.nonce !== undefined
? (parseBigInt(tx.nonce) ?? (await getNextNonce(account)))
: await getNextNonce(account),
callData: tx.data ?? "0x",
validatorData: "0x", // we will fill after signing
extraData: createValidatorExtraData(account, tx.to),
Expand Down
9 changes: 5 additions & 4 deletions apps/iframe/src/requests/utils/checks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,21 @@ export function checkAuthenticated() {
/**
* Type of valid tx requests, use {@link checkedTx} to verify.
*/
export type ValidRpcTransactionRequest = RpcTransactionRequest & { from: Address; to: Address }
export type ValidRpcTransactionRequest = RpcTransactionRequest & { to: Address }

/**
* Asserts that the transaction has its destination defined, throws a {@link EIP1474InvalidInput}.
* @throws EIP1474InvalidInput if the transaction is malformatted
*/
export function checkedTx(tx: RpcTransactionRequest): ValidRpcTransactionRequest {
// Check required fields
if (!tx.to) /****/ throw new EIP1474InvalidInput("missing 'to' field in transaction parameters")
if (!tx.from) /**/ throw new EIP1474InvalidInput("missing 'from' field in transaction parameters")

// Validate addresses
if (!isAddress(tx.to)) /****/ throw new EIP1474InvalidInput(`not an address: ${tx.to}`)
if (!isAddress(tx.from)) /**/ throw new EIP1474InvalidInput(`not an address: ${tx.from}`)
if (tx.from !== undefined && !isAddress(tx.from)) /**/ throw new EIP1474InvalidInput(`not an address: ${tx.from}`)

// Check if value exists and can be parsed as BigInt (allows zero values)
// Check if the value and nonce exist, and can be parsed as BigInt (allows zero values)
if (tx.value !== undefined && parseBigInt(tx.value) === undefined)
throw new EIP1474InvalidInput(`value is not a number: ${tx.value}`)
if (tx.nonce !== undefined && parseBigInt(tx.nonce) === undefined)
Expand Down
4 changes: 2 additions & 2 deletions apps/iframe/src/requests/utils/sendResponse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import {
} from "@happy.tech/wallet-common"
// biome-ignore lint/correctness/noUnusedImports: keep type for doc
import { RpcError, type UnauthorizedProviderError } from "viem"
import { InjectedProviderProxy } from "#src/connections/InjectedProviderProxy.ts"
import { InjectedProviderProxy } from "#src/connections/InjectedProviderProxy"
import { happyProviderBus } from "#src/services/eventBus"
import { getCurrentChain } from "#src/state/chains"
import { getUser } from "#src/state/user.ts"
import { getUser } from "#src/state/user"
import { appForSourceID, isWallet } from "#src/utils/appURL"
import { reqLogger } from "#src/utils/logger"
import { iframeProvider } from "#src/wagmi/provider"
Expand Down
6 changes: 3 additions & 3 deletions apps/iframe/src/requests/utils/sessionKeys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ import { Permissions } from "#src/constants/permissions"
import { sendBoop } from "#src/requests/utils/boop"
import { eoaSigner } from "#src/requests/utils/signers"
import { StorageKey, storage } from "#src/services/storage"
import { revokedSessionKeys } from "#src/state/interfaceState.ts"
import { revokedSessionKeys } from "#src/state/interfaceState"
import { getPermissions, grantPermissions, revokePermissions } from "#src/state/permissions"
import { getPublicClient } from "#src/state/publicClient"
import { getCheckedUser } from "#src/state/user.ts"
import { getWalletClient } from "#src/state/walletClient.ts"
import { getCheckedUser } from "#src/state/user"
import { getWalletClient } from "#src/state/walletClient"
import type { AppURL } from "#src/utils/appURL"
import { sessionKeyLogger } from "#src/utils/logger"

Expand Down
5 changes: 3 additions & 2 deletions apps/iframe/src/requests/utils/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,15 +123,16 @@ export async function eth_estimateGas(
user: HappyUser | undefined,
tx: ValidRpcTransactionRequest,
): Promise<Hex | Forward> {
if (user?.address !== tx.from) return FORWARD
const account = user?.address ?? tx.from
if (!account || account !== tx.from) return FORWARD

try {
const boopClient = getBoopClient()
if (!boopClient) throw new Error("Boop client not initialized")

// boopFromTransaction already handles both legacy and EIP-1559 transactions
// by converting gasPrice to maxFeePerGas when needed
const boop = await boopFromTransaction(user?.address, tx)
const boop = await boopFromTransaction(account, tx)
const output = await boopClient.simulate({ entryPoint, boop })

if (output.status !== Onchain.Success) {
Expand Down
4 changes: 2 additions & 2 deletions apps/iframe/src/routes/__root.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Outlet, type RouterEvents, createRootRoute, useRouter } from "@tanstack/react-router"
import { revokedSessionKeys } from "#src/state/interfaceState"
import type { AppURL } from "#src/utils/appURL"
import "#src/connections/initialize.ts"
import "#src/connections/initialize"
import { useEffect } from "react"
import { revokeSessionKeys } from "#src/requests/utils/sessionKeys.ts"
import { revokeSessionKeys } from "#src/requests/utils/sessionKeys"
import { DevTools } from "../components/DevTools"

export const Route = createRootRoute({
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/state/injectedClient.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { accessorsFromAtom } from "@happy.tech/common"
import { type Atom, atom } from "jotai"
import { createWalletClient, custom } from "viem"
import { InjectedProviderProxy } from "#src/connections/InjectedProviderProxy.ts"
import { InjectedProviderProxy } from "#src/connections/InjectedProviderProxy"
import { userAtom } from "./user"
import type { AccountWalletClient } from "./walletClient"

Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/state/permissions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
grantPermissions,
hasPermissions,
revokePermissions,
} from "#src/state/permissions.ts"
} from "#src/state/permissions"
import { setUser } from "../state/user"

const { appURL, walletURL, appURLMock } = await vi //
Expand Down
2 changes: 1 addition & 1 deletion apps/iframe/src/utils/emitUserUpdate.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { debounce } from "@happy.tech/common"
import { type HappyUser, Msgs } from "@happy.tech/wallet-common"
import { hasPermissions } from "#src/state/permissions.ts"
import { hasPermissions } from "#src/state/permissions"
import { appMessageBus, happyProviderBus } from "../services/eventBus"
import { getAppURL, isStandaloneWallet } from "./appURL"

Expand Down
6 changes: 3 additions & 3 deletions apps/iframe/src/utils/walletState.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { AuthState, Msgs } from "@happy.tech/wallet-common"
import { appMessageBus } from "#src/services/eventBus.ts"
import { getAuthState } from "#src/state/authState.ts"
import { setWalletOpenSignal } from "#src/state/interfaceState.ts"
import { appMessageBus } from "#src/services/eventBus"
import { getAuthState } from "#src/state/authState"
import { setWalletOpenSignal } from "#src/state/interfaceState"

/**
* Wallet State (open vs closed) is managed entirely through the WalletVisibility event here. This
Expand Down
4 changes: 2 additions & 2 deletions apps/iframe/src/wagmi/provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import {
waitForCondition,
} from "@happy.tech/wallet-common"
import type { EIP1193Provider } from "viem"
import { addBanner } from "#src/state/banner.ts"
import { addBanner } from "#src/state/banner"
import { getCurrentChain } from "#src/state/chains"
import { getUser } from "#src/state/user.ts"
import { getUser } from "#src/state/user"
import { handleInjectedRequest, handlePermissionlessRequest } from "../requests"
import { getAuthState } from "../state/authState"
import { getWalletURL, walletID } from "../utils/appURL"
Expand Down
5 changes: 5 additions & 0 deletions packages/core/lib/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,8 @@
export const config = {
iframePath: import.meta.env.IFRAME_URL || "http://localhost:5160",
}

/** Box to hold the chainId loaded with {@link loadHappyWallet}. */
export const chain = {
id: 0xdeadbeef,
}
2 changes: 1 addition & 1 deletion packages/core/lib/happyProvider/injectedWalletHandler.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { UUID } from "@happy.tech/common"
import { BasePopupProvider, type EIP1193RequestParameters, Msgs } from "@happy.tech/wallet-common"
import { chain } from "../loadHappyWallet"
import { chain } from "../config"
import { InjectedWalletWrapper } from "./InjectedWalletWrapper"
import type { HappyProviderConfig } from "./happyProviderImplem"
import type { EIP1193ConnectionHandler } from "./interface"
Expand Down
3 changes: 1 addition & 2 deletions packages/core/lib/happyProvider/socialWalletHandler.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { type UUID, createUUID, promiseWithResolvers } from "@happy.tech/common"
import type { EIP1193RequestParameters, HappyUser, ProviderMsgsFromWallet } from "@happy.tech/wallet-common"
import { AuthState, BasePopupProvider, LoginRequiredError, Msgs, OverlayErrorCode } from "@happy.tech/wallet-common"
import { config } from "../config"
import { chain } from "../loadHappyWallet"
import { chain, config } from "../config"
import { type HappyProviderConfig, HappyProviderImplem } from "./happyProviderImplem"
import type { EIP1193ConnectionHandler } from "./interface"

Expand Down
2 changes: 1 addition & 1 deletion packages/core/lib/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export {
requestSessionKey,
showSendScreen,
onUserUpdate,
} from "./functions.ts"
} from "./functions"

export { anvil, happyChainSepolia } from "@happy.tech/wallet-common"

Expand Down
Loading