1.0.1 • Published 7 months ago
@xmtp/frames-client v1.0.1
Frames Client
This package is used by messaging apps to render Open Frames.
Usage
const xmtpClient = await Client.create(wallet);
const framesClient = new FramesClient(xmtpClient);
const frameUrl = "https://www.myframe.xyz";
const framePostUrl = "https://www.myframe.xyz/api/post"; //fc:frame:post_url
// Read data from a frame
const frameMetadata = await framesClient.proxy.readMetadata(frameUrl);
// Get a proxied image URL, which you can use directly in an <image> tag
const imageUrl = framesClient.proxy.mediaUrl(
frameMetadata.metaTags["fc:frame:image"],
);
// Handle a click to button 2 from a conversation with topic "/xmtp/0/123" and participant addresses "abc" and "xyz"
const textInputValue = "Your value";
const payload = await signFrameAction({
frameUrl,
inputText: textInputValue || undefined,
buttonIndex: 2,
conversationTopic: "/xmtp/0/123",
participantAccountAddresses: ["abc", "xyz"],
address: "0x...",
state: frameMetadata?.frameInfo?.state, // Pulled from frame metadata
});
// If the button action type was `post`
const updatedFrameMetadata = await framesClient.proxy.post(
framePostUrl,
payload,
);
// If the button action type was `post_redirect`
const { redirectedTo } = await framesClient.proxy.postRedirect(
framePostUrl,
payload,
);
// If the button action type was `postTransaction`
const transactionInfo = await framesClient.proxy.postTransaction(
framePostUrl,
payload,
);
1.0.1
7 months ago
1.0.0
8 months ago
0.5.5
8 months ago
0.5.4
12 months ago
0.5.3
1 year ago
0.5.2
1 year ago
0.5.1
1 year ago
0.5.0
1 year ago
0.4.3
1 year ago
0.4.1
1 year ago
0.4.2
1 year ago
0.4.0
1 year ago
0.3.2
1 year ago
0.3.1
1 year ago
0.3.0
1 year ago
0.2.2
1 year ago
0.2.1
1 year ago
0.2.0
1 year ago
0.1.4
1 year ago
0.1.3
1 year ago
0.1.2
1 year ago
0.1.1
1 year ago
0.1.0
1 year ago
0.1.0-beta.0
1 year ago