@farcaster/frame-sdk 0.0.0-canary-20250513184040 → 0.0.0-canary-20250515203543
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} +8 -8
- package/dist/index.min.js +5 -5
- package/dist/index.min.js.map +4 -4
- package/dist/sdk.js +4 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +3 -2
- package/package.json +2 -2
- package/src/{evmProvider.ts → ethereumProvider.ts} +10 -8
- package/src/sdk.ts +4 -3
- package/src/types.ts +4 -2
- package/dist/evmProvider.d.ts +0 -3
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
|
-
|
|
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.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20250515203543",
|
|
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.
|
|
25
|
+
"@farcaster/frame-core": "0.0.0-canary-20250515203543"
|
|
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,19 @@ 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 (!capabilities.includes('wallet.
|
|
92
|
+
if (!capabilities.includes('wallet.getEthereumProvider')) {
|
|
91
93
|
return undefined
|
|
92
94
|
}
|
|
93
|
-
return
|
|
95
|
+
return ethereumProvider
|
|
94
96
|
} catch {
|
|
95
97
|
// If this is an old frame host that doesn't support getCapabilities,
|
|
96
|
-
//
|
|
97
|
-
return
|
|
98
|
+
// getEthereumProvider will assume that it's supported
|
|
99
|
+
return ethereumProvider
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
|
|
@@ -135,7 +137,7 @@ if (typeof document !== 'undefined') {
|
|
|
135
137
|
if (frameEvent.event === 'eip6963:announceProvider') {
|
|
136
138
|
announceEvmProvider({
|
|
137
139
|
info: frameEvent.info,
|
|
138
|
-
provider:
|
|
140
|
+
provider: ethereumProvider as EIP1193Provider,
|
|
139
141
|
})
|
|
140
142
|
}
|
|
141
143
|
}
|
|
@@ -167,7 +169,7 @@ if (typeof window !== 'undefined') {
|
|
|
167
169
|
if (frameEvent.event === 'eip6963:announceProvider') {
|
|
168
170
|
announceEvmProvider({
|
|
169
171
|
info: frameEvent.info,
|
|
170
|
-
provider:
|
|
172
|
+
provider: ethereumProvider as EIP1193Provider,
|
|
171
173
|
})
|
|
172
174
|
}
|
|
173
175
|
}
|
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'
|
|
@@ -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:
|
|
138
|
-
|
|
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
|
|
82
|
+
// Deprecated in favor of getEthereumProvider
|
|
81
83
|
ethProvider: Provider.Provider
|
|
82
|
-
|
|
84
|
+
getEthereumProvider: () => Promise<Provider.Provider | undefined>
|
|
83
85
|
}
|
|
84
86
|
} & Emitter
|
package/dist/evmProvider.d.ts
DELETED