Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
westonnelson committed Oct 14, 2024
0 parents commit 1484993
Show file tree
Hide file tree
Showing 64 changed files with 8,034 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .bolt/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"template": "bolt-vite-react-ts"
}
8 changes: 8 additions & 0 deletions .bolt/prompt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
For all designs I ask you to make, have them be beautiful, not cookie cutter. Make webpages that are fully featured and worthy for production.

By default, this template supports JSX syntax with Tailwind CSS classes, React hooks, and Lucide React for icons. Do not install other packages for UI themes, icons, etc unless absolutely necessary or I request them.

Use icons from lucide-react for logos.

Use stock photos from unsplash where appropriate, only valid URLs you know exist. Do not download the images, only link to them in image tags.

31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Build
run: npm run build
- name: Deploy to Vercel
if: success() && github.ref == 'refs/heads/main'
run: npx vercel --token ${VERCEL_TOKEN} --prod
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
27 changes: 27 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# Environment variables
.env
114 changes: 114 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# OmniLaunch

OmniLaunch is a Web3 full-stack application designed to simplify the process of deploying or migrating to the OFT (Omnichain Fungible Token) standard by LayerZero. Our mission is to empower users, protocols, and DAOs with the tools they need to seamlessly transition to an Omnichain structure.

![OmniLaunch Logo](public/omnilaunch-icon.png)

## Features

- Deploy new OFT tokens across multiple chains
- Migrate existing tokens to the OFT standard
- Manage and monitor your Omnichain deployments
- Access educational resources about LayerZero and OFT
- User-friendly interface for token deployment and management
- Real-time crypto ticker with popular token prices
- Dark mode support for comfortable viewing

## Tech Stack

- React
- TypeScript
- Vite
- Tailwind CSS
- Ethers.js
- Web3React
- React Router

## Getting Started

### Prerequisites

- Node.js (v14 or later)
- npm or yarn

### Installation

1. Clone the repository:
```
git clone https://github.com/your-username/omnilaunch.git
cd omnilaunch
```

2. Install dependencies:
```
npm install
```
or
```
yarn install
```

3. Create a `.env` file in the root directory and add your environment variables:
```
VITE_ALCHEMY_API_KEY=your_alchemy_api_key
```

4. Start the development server:
```
npm run dev
```
or
```
yarn dev
```

5. Open your browser and navigate to `http://localhost:5173` to view the app.

## Building for Production

To create a production build, run:

```
npm run build
```
or
```
yarn build
```

The built files will be in the `dist` directory.

## Deployment

This project can be easily deployed to platforms like Vercel, Netlify, or GitHub Pages. Make sure to set up your environment variables in your deployment platform's settings.

## Contributing

We welcome contributions to OmniLaunch! Please feel free to submit issues, create pull requests, or fork the repository to make your own changes.

1. Fork the repository
2. Create your feature branch: `git checkout -b feature/AmazingFeature`
3. Commit your changes: `git commit -m 'Add some AmazingFeature'`
4. Push to the branch: `git push origin feature/AmazingFeature`
5. Open a pull request

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For any inquiries or support, please contact us at:

- Email: support@omnilaunch.com
- Twitter: [@OmniLaunch](https://twitter.com/OmniLaunch)
- Discord: [OmniLaunch Community](https://discord.gg/omnilaunch)

## Acknowledgements

- [LayerZero](https://layerzero.network/)
- [React](https://reactjs.org/)
- [Vite](https://vitejs.dev/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Ethers.js](https://docs.ethers.io/)
- [Web3React](https://github.com/NoahZinsmeister/web3-react)
15 changes: 15 additions & 0 deletions create-placeholders.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const fs = require('fs');
const path = require('path');

const images = [
'btc.png', 'eth.png', 'sol.png', 'avax.png', 'ton.png', 'zro.png',
'omnilaunch-icon.png', 'layerzero-icon.png',
'background.png', 'favicon.ico'
];

images.forEach(image => {
const filePath = path.join(__dirname, 'public', image);
fs.writeFileSync(filePath, `Placeholder for ${image}`);
});

console.log('Placeholder files created successfully.');
28 changes: 28 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import js from '@eslint/js';
import globals from 'globals';
import reactHooks from 'eslint-plugin-react-hooks';
import reactRefresh from 'eslint-plugin-react-refresh';
import tseslint from 'typescript-eslint';

export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}
);
13 changes: 13 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OmniLaunch - OFT Deployment Tool</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Loading

0 comments on commit 1484993

Please sign in to comment.