@farcaster/frame-sdk 0.0.39 → 0.0.40

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.
@@ -0,0 +1,3 @@
1
+ import * as Provider from 'ox/Provider';
2
+ export declare const evmProvider: Provider.Provider;
3
+ export declare function getEvmProvider(): Promise<Provider.Provider | undefined>;
@@ -20,7 +20,7 @@ function toProviderRpcError({ code, details, }) {
20
20
  return new Provider.ProviderRpcError(code, details ?? 'Unknown provider RPC error');
21
21
  }
22
22
  }
23
- export const provider = Provider.from({
23
+ export const evmProvider = Provider.from({
24
24
  ...emitter,
25
25
  async request(args) {
26
26
  // @ts-expect-error
@@ -50,7 +50,14 @@ export const provider = Provider.from({
50
50
  }
51
51
  },
52
52
  });
53
- function announceProvider(detail) {
53
+ export async function getEvmProvider() {
54
+ const capabilities = await frameHost.getCapabilities();
55
+ if (!capabilities.includes('wallet.getEvmProvider')) {
56
+ return undefined;
57
+ }
58
+ return evmProvider;
59
+ }
60
+ function announceEvmProvider(detail) {
54
61
  const event = new CustomEvent('eip6963:announceProvider', { detail: Object.freeze(detail) });
55
62
  window.dispatchEvent(event);
56
63
  const handler = () => window.dispatchEvent(event);
@@ -75,9 +82,9 @@ if (typeof document !== 'undefined') {
75
82
  if (event instanceof MessageEvent) {
76
83
  const frameEvent = event.data;
77
84
  if (frameEvent.event === 'eip6963:announceProvider') {
78
- announceProvider({
85
+ announceEvmProvider({
79
86
  info: frameEvent.info,
80
- provider: provider,
87
+ provider: evmProvider,
81
88
  });
82
89
  }
83
90
  }
@@ -104,9 +111,9 @@ if (typeof window !== 'undefined') {
104
111
  if (event.data.type === 'frameEvent') {
105
112
  const frameEvent = event.data.event;
106
113
  if (frameEvent.event === 'eip6963:announceProvider') {
107
- announceProvider({
114
+ announceEvmProvider({
108
115
  info: frameEvent.info,
109
- provider: provider,
116
+ provider: evmProvider,
110
117
  });
111
118
  }
112
119
  }