Skip to content

Commit

Permalink
added frames.js
Browse files Browse the repository at this point in the history
  • Loading branch information
Oba-One committed Mar 22, 2024
1 parent 52965c5 commit ff27ffd
Show file tree
Hide file tree
Showing 45 changed files with 2,569 additions and 0 deletions.
Binary file added .DS_Store
Binary file not shown.
Binary file added contracts/.DS_Store
Binary file not shown.
Binary file added contracts/lib/.DS_Store
Binary file not shown.
19 changes: 19 additions & 0 deletions frame/.env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Example: FARCASTER_DEVELOPER_MNEMONIC="candy gibraltar foxtrot kilo barnacles foxes ..."
# (OPTIONAL) Needed for the debugger to create a real Farcaster signer. Get this by exporting your seed phrase from the Warpcast app. Don't share that seed phrase with anyone.
FARCASTER_DEVELOPER_MNEMONIC=
# (OPTIONAL) Only needed for the debugger to create a real Farcaster signer. Get this by visiting your Warpccast profile, pressing the kebab (three dots) menu and then "About" and then your fid should be there.
# Example: FARCASTER_DEVELOPER_FID=1214
FARCASTER_DEVELOPER_FID=
# (OPTIONAL) Hub URL to use for the debugger. If not set, the debugger will use the default hub URL.
DEBUG_HUB_HTTP_URL=

# OPTIONAL EXAMPLE KEYS
# Optional, if you use this example
KV_REST_API_URL=""
KV_REST_API_TOKEN=""
# Optional
DEBUGGER_URL=""

AIRSTACK_API_KEY=
PINATA_API_KEY=
PINATA_GATEWAY_URL=
5 changes: 5 additions & 0 deletions frame/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/** @type {import("eslint").Linter.Config} */
module.exports = {
root: true,
extends: ["next"],
};
39 changes: 39 additions & 0 deletions frame/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

.env
# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

mocks.json
172 changes: 172 additions & 0 deletions frame/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
# framesjs-starter

## 0.2.4

### Patch Changes

- 0faa11e: fix: only use mock hub url in development
- Updated dependencies [4fc8fef]
- Updated dependencies [6c9b09d]
- Updated dependencies [faa44a5]
- Updated dependencies [5a609e3]
- [email protected]

## 0.2.3

### Patch Changes

- 2b57a1c: feat: only followers can mint example
- Updated dependencies [40e99b3]
- [email protected]

## 0.2.2

### Patch Changes

- 72e6617: feat: tx support
- Updated dependencies [72e6617]
- Updated dependencies [7ccc562]
- [email protected]

## 0.2.1

### Patch Changes

- Updated dependencies [01fc5fe]
- Updated dependencies [60c6e56]
- Updated dependencies [e335829]
- Updated dependencies [eee74a9]
- [email protected]

## 0.2.0

### Minor Changes

- 845b30c: refactor: make frame validation errors arbitraty, remove unnecessary validateFrame function

### Patch Changes

- Updated dependencies [845b30c]
- Updated dependencies [ce1cec6]
- Updated dependencies [845b30c]
- [email protected]

## 0.1.12

### Patch Changes

- 99b998f: fix: debugger build
- 108280c: feat: add mock hub state to debugger
- 1707ea4: feat: `DEBUG_HUB_HTTP_URL` env var
- Updated dependencies [18c887d]
- Updated dependencies [0ba4b88]
- Updated dependencies [f9d4356]
- [email protected]

## 0.1.11

### Patch Changes

- 157ec44: chore: update fallback neynar hub api url
- 548a9c3: feat: multi-page example
- 426d5eb: feat: validate frame image data uri length in debugger
- 8317894: fix: reset input state on submit, waiting state buttons styling
- Updated dependencies [157ec44]
- Updated dependencies [426d5eb]
- Updated dependencies [70a0ff6]
- Updated dependencies [d1596ac]
- Updated dependencies [62be50d]
- [email protected]

## 0.1.10

### Patch Changes

- Updated dependencies [40d2662]
- [email protected]

## 0.1.9

### Patch Changes

- d861fb9: fix: url validation and smoother navigation
- Updated dependencies [e54b9ad]
- Updated dependencies [a09c555]
- [email protected]

## 0.1.8

### Patch Changes

- 2150e11: chore(debugger): remove mint spec warning
- Updated dependencies [ccb8317]
- [email protected]

## 0.1.7

### Patch Changes

- 8112f6f: fix: use neynar hubs as fallback
- Updated dependencies [800d887]
- Updated dependencies [8112f6f]
- Updated dependencies [fd70614]
- Updated dependencies [b71f05b]
- Updated dependencies [8112f6f]
- [email protected]

## 0.1.6

### Patch Changes

- ccd3302: feat: JSX-based frame image rendering
- Updated dependencies [ccd3302]
- [email protected]

## 0.1.5

### Patch Changes

- 03d041e: feat: mint action
- Updated dependencies [03d041e]
- [email protected]

## 0.1.4

### Patch Changes

- 3ed2cef: fix: generate correct image data in `generateImage` example
- Updated dependencies [0d9cfaf]
- [email protected]

## 0.1.3

### Patch Changes

- Updated dependencies [608bac9]
- [email protected]

## 0.1.2

### Patch Changes

- 40d0ad7: feat: Add `getFrameMessage`, which parse frame action payloads and optionally fetches additional context from hubs.

feat(debugger): Forward unmocked hub requests to an actual hub.

- Updated dependencies [40d0ad7]
- Updated dependencies [57649be]
- Updated dependencies [518ada3]
- [email protected]

## 0.1.1

### Patch Changes

- 05af691: feat: adds an option to impersonate an FID as an alternative to creating a new onchain signer
- fb3cfaa: fix(debug): untrusted data url now uses original frame url
- 99536fb: fix: frame action message creation to not include inputText if inputText was not requested by the frame
- Updated dependencies [1a73918]
- Updated dependencies [99536fb]
- Updated dependencies [501861d]
- Updated dependencies [1598cb6]
- [email protected]
40 changes: 40 additions & 0 deletions frame/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Frames.js Starter Kit

This is a boilerplate repo to get started quickly with `frames.js`

## Quickstart

If running from the frames.js repository itself:

- Run `yarn` from the repository root
- Run `cd examples/framesjs-starter`

1. Install dependencies `yarn install`

2. Run the dev server `yarn dev`

3. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

4. Edit `app/page.tsx`

5. Visit [http://localhost:3000/debug](http://localhost:3000/debug) to debug your frame.

6. (Optional) To use a real signer (costs warps), copy `.env.sample` to `.env` and fill in the env variables following the comments provided

## Docs, Questions and Help

- [Frames.js Documentation](https://framesjs.org)
- [Awesome frames](https://github.com/davidfurlong/awesome-frames?tab=readme-ov-file)
- Join the [/frames-dev](https://warpcast.com/~/channel/frames-devs) channel on Farcaster to ask questions

## If you get stuck or have feedback, [Message @df please!](https://warpcast.com/df)

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!

## Deploy

```bash
vercel
```

more deployment links coming soon, PRs welcome!
15 changes: 15 additions & 0 deletions frame/app/debug.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const DEFAULT_DEBUGGER_URL =
process.env.DEBUGGER_URL ?? "http://localhost:3010/";

export const DEFAULT_DEBUGGER_HUB_URL =
process.env.NODE_ENV === "development"
? new URL("/hub", DEFAULT_DEBUGGER_URL).toString()
: undefined;

export function createDebugUrl(frameURL: string | URL): string {
const url = new URL("/", DEFAULT_DEBUGGER_URL);

url.searchParams.set("url", frameURL.toString());

return url.toString();
}
1 change: 1 addition & 0 deletions frame/app/examples/custom-hub/frames/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { POST } from "frames.js/next/server";
Loading

0 comments on commit ff27ffd

Please sign in to comment.