@farcaster/frame-sdk 0.0.0-canary-20250511031627 → 0.0.0-canary-20250512185912

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sdk.js CHANGED
@@ -1,7 +1,8 @@
1
- import { AddFrame, SignIn, createSolanaWalletProvider, } from '@farcaster/frame-core';
1
+ import { AddFrame, SignIn, } from '@farcaster/frame-core';
2
2
  import { EventEmitter } from 'eventemitter3';
3
+ import { evmProvider, getEvmProvider } from './evmProvider';
3
4
  import { frameHost } from './frameHost';
4
- import { provider } from './provider';
5
+ import { getSolanaProvider } from './solanaProvider';
5
6
  export function createEmitter() {
6
7
  const emitter = new EventEmitter();
7
8
  return {
@@ -62,6 +63,7 @@ async function isInMiniApp(timeoutMs = 50) {
62
63
  }
63
64
  export const sdk = {
64
65
  ...emitter,
66
+ getCapabilities: frameHost.getCapabilities,
65
67
  isInMiniApp,
66
68
  context: frameHost.context,
67
69
  actions: {
@@ -104,12 +106,11 @@ export const sdk = {
104
106
  viewToken: frameHost.viewToken.bind(frameHost),
105
107
  sendToken: frameHost.sendToken.bind(frameHost),
106
108
  swapToken: frameHost.swapToken.bind(frameHost),
107
- solanaProvider: frameHost.solanaProviderRequest
108
- ? createSolanaWalletProvider(frameHost.solanaProviderRequest)
109
- : undefined,
109
+ getSolanaProvider,
110
110
  },
111
111
  wallet: {
112
- ethProvider: provider,
112
+ ethProvider: evmProvider,
113
+ getEvmProvider: getEvmProvider,
113
114
  },
114
115
  };
115
116
  // Required to pass SSR
@@ -0,0 +1,3 @@
1
+ import { type SolanaWalletProvider } from '@farcaster/frame-core';
2
+ declare function getSolanaProvider(): Promise<SolanaWalletProvider | undefined>;
3
+ export { getSolanaProvider };
@@ -0,0 +1,11 @@
1
+ import { createSolanaWalletProvider, } from '@farcaster/frame-core';
2
+ import { frameHost } from './frameHost';
3
+ const solanaProvider = createSolanaWalletProvider(frameHost.solanaProviderRequest);
4
+ async function getSolanaProvider() {
5
+ const capabilities = await frameHost.getCapabilities();
6
+ if (!capabilities.includes('wallet.getSolanaProvider')) {
7
+ return undefined;
8
+ }
9
+ return solanaProvider;
10
+ }
11
+ export { getSolanaProvider };