Skip to content
Draft
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
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
useMemo,
useState,
} from 'react'
import { soneium, soneiumMinato } from 'viem/chains'
import { DisconnectedAlert } from '../components/alerts/DisconnectedAlert'
import { useEventListeners } from '../hooks/useEventListeners'
import { useSpyOnDisconnectedError } from '../hooks/useSpyOnDisconnectedError'
Expand Down Expand Up @@ -48,7 +49,7 @@ export function EIP1193ProviderContextProvider({
const sdkParams = {
appName: 'Startale app SDK Playground',
appLogoUrl: 'https://startale.com/image/symbol.png',
appChainIds: [1946, 1868],
appChainIds: [soneiumMinato.id, soneium.id],
preference: {
attribution: config.attribution,
walletUrl: scwUrl ?? scwUrls[0],
Expand All @@ -58,6 +59,10 @@ export function EIP1193ProviderContextProvider({
paymasterId,
paymasterApiKey,
bundlerApiKey,
rpcUrls: {
[soneium.id]: process.env.NEXT_PUBLIC_SONEIUM_RPC_URL,
[soneiumMinato.id]: process.env.NEXT_PUBLIC_MINATO_RPC_URL,
},
}

const sdk = createBaseAccountSDKHEAD(sdkParams)
Expand Down
1 change: 1 addition & 0 deletions examples/testapp/src/store/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ export const SELECTED_SCW_URL_KEY = 'scw_url'
export const scwUrls = [
'https://deploy-sub-account-poc-for-yoake-sa-228.d3qb16qon2uoic.amplifyapp.com',
'http://localhost:3000/',
'https://keys.coinbase.com/connect'
] as const
export type ScwUrlType = (typeof scwUrls)[number]
1 change: 1 addition & 0 deletions packages/app-sdk/src/core/provider/interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,5 @@ export interface ConstructorOptions {
metadata: AppMetadata
preference: Preference
paymasterUrls?: Record<number, string>
rpcUrls?: Record<number, string>
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export type CreateProviderOptions = Partial<AppMetadata> & {
preference?: Preference
subAccounts?: Omit<SubAccountOptions, 'enableAutoSubAccounts'>
paymasterUrls?: Record<number, string>
rpcUrls?: Record<number, string>
}

/**
Expand All @@ -40,6 +41,7 @@ export function createBaseAccountSDK(params: CreateProviderOptions) {
},
preference: params.preference ?? {},
paymasterUrls: params.paymasterUrls,
rpcUrls: params.rpcUrls,
}

// ====================================================================
Expand Down
5 changes: 3 additions & 2 deletions packages/app-sdk/src/sign/app-sdk/Signer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ import {
getClient,
} from ':store/chain-clients/utils.js'
import { correlationIds } from ':store/correlation-ids/store.js'
import { spendPermissions, store } from ':store/store.js'
import { config, spendPermissions, store } from ':store/store.js'
import { assertArrayPresence, assertPresence } from ':util/assertPresence.js'
import { assertSubAccount } from ':util/assertSubAccount.js'
import {
Expand Down Expand Up @@ -621,12 +621,13 @@ export class Signer {
const availableChains = response.data?.chains
if (availableChains) {
const nativeCurrencies = response.data?.nativeCurrencies
const rpcUrls = config.get().rpcUrls
const chains: SDKChain[] = Object.entries(availableChains).map(
([id, rpcUrl]) => {
const nativeCurrency = nativeCurrencies?.[Number(id)]
return {
id: Number(id),
rpcUrl,
rpcUrl: rpcUrls?.[Number(id)] ?? rpcUrl,
...(nativeCurrency ? { nativeCurrency } : {}),
}
},
Expand Down
3 changes: 2 additions & 1 deletion packages/app-sdk/src/store/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ type Config = {
version: string
deviceId?: string
paymasterUrls?: Record<number, string>
rpcUrls?: Record<number, string>
}

type ChainSlice = {
Expand Down Expand Up @@ -193,7 +194,7 @@ export const sdkstore = createStore(
...createUserInfoSlice(...args),
}),
{
name: 'base-acc-sdk.store',
name: 'startale-app-sdk.store',
storage: createJSONStorage(() => localStorage),
partialize: (state) => {
// Explicitly select only the data properties we want to persist
Expand Down