diff --git a/.changeset/tame-mirrors-stick.md b/.changeset/tame-mirrors-stick.md new file mode 100644 index 00000000..39840f5c --- /dev/null +++ b/.changeset/tame-mirrors-stick.md @@ -0,0 +1,5 @@ +--- +"@rhinestone/sdk": patch +--- + +Use provider param in smart session diff --git a/src/index.ts b/src/index.ts index 1df63282..f99ccecf 100644 --- a/src/index.ts +++ b/src/index.ts @@ -487,7 +487,12 @@ async function createRhinestoneAccount( function experimental_getSessionDetails(sessions: Session[]) { const account = getAddress() - return getSessionDetailsInternal(account, sessions, config.useDevContracts) + return getSessionDetailsInternal( + account, + sessions, + config.provider, + config.useDevContracts, + ) } function experimental_isSessionEnabled(session: Session) { diff --git a/src/modules/validators/smart-sessions.ts b/src/modules/validators/smart-sessions.ts index 42979946..3937ca57 100644 --- a/src/modules/validators/smart-sessions.ts +++ b/src/modules/validators/smart-sessions.ts @@ -7,7 +7,6 @@ import { encodePacked, type Hex, hashStruct, - http, isHex, keccak256, maxUint256, @@ -381,12 +380,13 @@ function packSignature( async function getSessionDetails( account: Address, sessions: Session[], + provider: ProviderConfig | undefined, useDevContracts?: boolean, ): Promise { const lockTag = '0x000000000000000000000000' const sessionNonces = await Promise.all( sessions.map((session) => - getSessionNonce(account, session, lockTag, useDevContracts), + getSessionNonce(account, session, lockTag, provider, useDevContracts), ), ) const sessionDatas = sessions.map((session) => getSessionData(session)) @@ -474,11 +474,12 @@ async function getSessionNonce( account: Address, session: Session, lockTag: Hex, + provider: ProviderConfig | undefined, useDevContracts?: boolean, ): Promise { const publicClient = createPublicClient({ chain: session.chain, - transport: http(), + transport: createTransport(session.chain, provider), }) const nonce = await publicClient.readContract({ address: getSmartSessionEmissaryAddress(useDevContracts),