@farcaster/frame-sdk 0.0.0-canary-20250515200421 → 0.0.0-canary-20250516031050
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/ethereumProvider.d.ts +3 -0
- package/dist/{evmProvider.js → ethereumProvider.js} +11 -8
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/sdk.js +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +2 -2
- package/src/{evmProvider.ts → ethereumProvider.ts} +15 -8
- package/src/sdk.ts +3 -3
- package/src/types.ts +2 -2
- package/dist/evmProvider.d.ts +0 -3
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farcaster/frame-sdk",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20250516031050",
|
|
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.0-canary-
|
|
25
|
+
"@farcaster/frame-core": "0.0.0-canary-20250516031050"
|
|
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
|
|
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
|
|
87
|
+
export async function getEthereumProvider(): Promise<
|
|
88
|
+
Provider.Provider | undefined
|
|
89
|
+
> {
|
|
88
90
|
try {
|
|
89
91
|
const capabilities = await frameHost.getCapabilities()
|
|
90
|
-
if (
|
|
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
|
|
100
|
+
return ethereumProvider
|
|
94
101
|
} catch {
|
|
95
102
|
// If this is an old frame host that doesn't support getCapabilities,
|
|
96
|
-
//
|
|
97
|
-
return
|
|
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:
|
|
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:
|
|
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 {
|
|
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'
|
|
@@ -135,8 +135,8 @@ export const sdk: FrameSDK = {
|
|
|
135
135
|
getSolanaProvider,
|
|
136
136
|
},
|
|
137
137
|
wallet: {
|
|
138
|
-
ethProvider:
|
|
139
|
-
|
|
138
|
+
ethProvider: ethereumProvider,
|
|
139
|
+
getEthereumProvider,
|
|
140
140
|
},
|
|
141
141
|
}
|
|
142
142
|
|
package/src/types.ts
CHANGED
|
@@ -79,8 +79,8 @@ export type FrameSDK = {
|
|
|
79
79
|
getSolanaProvider: () => Promise<SolanaWalletProvider | undefined>
|
|
80
80
|
}
|
|
81
81
|
wallet: {
|
|
82
|
-
// Deprecated in favor of
|
|
82
|
+
// Deprecated in favor of getEthereumProvider
|
|
83
83
|
ethProvider: Provider.Provider
|
|
84
|
-
|
|
84
|
+
getEthereumProvider: () => Promise<Provider.Provider | undefined>
|
|
85
85
|
}
|
|
86
86
|
} & Emitter
|
package/dist/evmProvider.d.ts
DELETED