@farcaster/frame-sdk 0.0.41 → 0.0.43

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/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AddMiniApp, ComposeCast, Context, FrameNotificationDetails, GetCapabilities, Ready, SendToken, SetPrimaryButtonOptions, SignIn, SolanaWalletProvider, SwapToken, ViewProfile, ViewToken } from '@farcaster/frame-core';
1
+ import type { AddMiniApp, ComposeCast, Context, FrameNotificationDetails, GetCapabilities, GetChains, Ready, SendToken, SetPrimaryButtonOptions, SignIn, SolanaWalletProvider, SwapToken, ViewProfile, ViewToken } from '@farcaster/frame-core';
2
2
  import type { EventEmitter } from 'eventemitter3';
3
3
  import type * as Provider from 'ox/Provider';
4
4
  declare global {
@@ -30,6 +30,7 @@ export type Emitter = Compute<EventEmitter<EventMap>>;
30
30
  type SetPrimaryButton = (options: SetPrimaryButtonOptions) => Promise<void>;
31
31
  export type FrameSDK = {
32
32
  getCapabilities: GetCapabilities;
33
+ getChains: GetChains;
33
34
  isInMiniApp: () => Promise<boolean>;
34
35
  context: Promise<Context.FrameContext>;
35
36
  actions: {
@@ -51,7 +52,7 @@ export type FrameSDK = {
51
52
  };
52
53
  wallet: {
53
54
  ethProvider: Provider.Provider;
54
- getEvmProvider: () => Promise<Provider.Provider | undefined>;
55
+ getEthereumProvider: () => Promise<Provider.Provider | undefined>;
55
56
  };
56
57
  } & Emitter;
57
58
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farcaster/frame-sdk",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,7 @@
22
22
  "comlink": "^4.4.2",
23
23
  "eventemitter3": "^5.0.1",
24
24
  "ox": "^0.4.4",
25
- "@farcaster/frame-core": "0.0.36"
25
+ "@farcaster/frame-core": "0.0.38"
26
26
  },
27
27
  "scripts": {
28
28
  "clean": "rm -rf dist",
@@ -45,7 +45,7 @@ function toProviderRpcError({
45
45
  }
46
46
  }
47
47
 
48
- export const evmProvider: Provider.Provider = Provider.from({
48
+ export const ethereumProvider: Provider.Provider = Provider.from({
49
49
  ...emitter,
50
50
  async request(args) {
51
51
  // @ts-expect-error
@@ -84,17 +84,24 @@ export const evmProvider: Provider.Provider = Provider.from({
84
84
  },
85
85
  })
86
86
 
87
- export async function getEvmProvider(): Promise<Provider.Provider | undefined> {
87
+ export async function getEthereumProvider(): Promise<
88
+ Provider.Provider | undefined
89
+ > {
88
90
  try {
89
91
  const capabilities = await frameHost.getCapabilities()
90
- if (!capabilities.includes('wallet.getEvmProvider')) {
92
+ if (
93
+ !capabilities.includes('wallet.getEthereumProvider') &&
94
+ !capabilities.includes('wallet.getEvmProvider' as MiniAppHostCapability)
95
+ ) {
96
+ // We used getEvmProvider for a short period before getEthereumProvider.
97
+ // In case we're talking to an old host, we check the old key.
91
98
  return undefined
92
99
  }
93
- return evmProvider
100
+ return ethereumProvider
94
101
  } catch {
95
102
  // If this is an old frame host that doesn't support getCapabilities,
96
- // getEvmProvider will assume that it's supported
97
- return evmProvider
103
+ // getEthereumProvider will assume that it's supported
104
+ return ethereumProvider
98
105
  }
99
106
  }
100
107
 
@@ -135,7 +142,7 @@ if (typeof document !== 'undefined') {
135
142
  if (frameEvent.event === 'eip6963:announceProvider') {
136
143
  announceEvmProvider({
137
144
  info: frameEvent.info,
138
- provider: evmProvider as EIP1193Provider,
145
+ provider: ethereumProvider as EIP1193Provider,
139
146
  })
140
147
  }
141
148
  }
@@ -167,7 +174,7 @@ if (typeof window !== 'undefined') {
167
174
  if (frameEvent.event === 'eip6963:announceProvider') {
168
175
  announceEvmProvider({
169
176
  info: frameEvent.info,
170
- provider: evmProvider as EIP1193Provider,
177
+ provider: ethereumProvider as EIP1193Provider,
171
178
  })
172
179
  }
173
180
  }
package/src/sdk.ts CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  createSolanaWalletProvider,
7
7
  } from '@farcaster/frame-core'
8
8
  import { EventEmitter } from 'eventemitter3'
9
- import { evmProvider, getEvmProvider } from './evmProvider'
9
+ import { ethereumProvider, getEthereumProvider } from './ethereumProvider'
10
10
  import { frameHost } from './frameHost'
11
11
  import { getSolanaProvider } from './solanaProvider'
12
12
  import type { Emitter, EventMap, FrameSDK } from './types'
@@ -98,6 +98,7 @@ const addMiniApp = async () => {
98
98
  export const sdk: FrameSDK = {
99
99
  ...emitter,
100
100
  getCapabilities: frameHost.getCapabilities,
101
+ getChains: frameHost.getChains,
101
102
  isInMiniApp,
102
103
  context: frameHost.context,
103
104
  actions: {
@@ -134,8 +135,8 @@ export const sdk: FrameSDK = {
134
135
  getSolanaProvider,
135
136
  },
136
137
  wallet: {
137
- ethProvider: evmProvider,
138
- getEvmProvider: getEvmProvider,
138
+ ethProvider: ethereumProvider,
139
+ getEthereumProvider,
139
140
  },
140
141
  }
141
142
 
package/src/types.ts CHANGED
@@ -4,6 +4,7 @@ import type {
4
4
  Context,
5
5
  FrameNotificationDetails,
6
6
  GetCapabilities,
7
+ GetChains,
7
8
  Ready,
8
9
  SendToken,
9
10
  SetPrimaryButtonOptions,
@@ -54,6 +55,7 @@ type SetPrimaryButton = (options: SetPrimaryButtonOptions) => Promise<void>
54
55
 
55
56
  export type FrameSDK = {
56
57
  getCapabilities: GetCapabilities
58
+ getChains: GetChains
57
59
  isInMiniApp: () => Promise<boolean>
58
60
  context: Promise<Context.FrameContext>
59
61
  actions: {
@@ -77,8 +79,8 @@ export type FrameSDK = {
77
79
  getSolanaProvider: () => Promise<SolanaWalletProvider | undefined>
78
80
  }
79
81
  wallet: {
80
- // Deprecated in favor of getEvmProvider
82
+ // Deprecated in favor of getEthereumProvider
81
83
  ethProvider: Provider.Provider
82
- getEvmProvider: () => Promise<Provider.Provider | undefined>
84
+ getEthereumProvider: () => Promise<Provider.Provider | undefined>
83
85
  }
84
86
  } & Emitter
@@ -1,3 +0,0 @@
1
- import * as Provider from 'ox/Provider';
2
- export declare const evmProvider: Provider.Provider;
3
- export declare function getEvmProvider(): Promise<Provider.Provider | undefined>;