Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Commit

Permalink
Open-source ready
Browse files Browse the repository at this point in the history
  • Loading branch information
urani-engineering-helper committed Sep 7, 2024
0 parents commit b6cd291
Show file tree
Hide file tree
Showing 113 changed files with 25,529 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
NEXT_PUBLIC_SOLANA_NETWORK=Devnet
HELIUS_API_KEY="0fb64545-0f59-4fe7-b7e4-229284520b08"
PROTOCOL_PROGRAM_ID_PUBLIC_KEY=4wQC2yuVt4rbcPeYLK8WngqbYLg7UAahVjRFrK3NBjP6
NONCE_AUTHORITY_ACCOUNT_SECRET_KEY="80,171,9,58,86,49,226,225,209,239,199,226,234,85,253,225,182,184,8,82,73,153,163,243,55,5,1,50,77,45,240,171,244,151,22,94,196,179,102,82,145,154,83,226,57,88,45,56,113,37,98,101,236,193,99,94,26,184,2,15,8,42,239,157"
NONCE_AUTHORITY_ACCOUNT_PUBLIC_KEY=HTn6qm77YfJzg4j3F6EYWJrfGZYrbenzd5Cc9WkMGuoi
NONCE_ACCOUNT_PUBLIC_KEY=958TEm5Kqkrhais9Aqv6KvoJquZSnCyibX8V4ctSNjNL
NONCE_ACCOUNT_SECRET_KEY=""227,115,75,95,3,210,24,223,172,200,121,94,219,171,115,6,106,226,215,139,17,254,47,201,185,58,190,153,168,192,49,41,119,236,62,188,139,48,2,0,69,81,88,63,148,62,18,146,20,109,187,208,47,53,87,110,104,1,99,130,185,134,203,181"
7 changes: 7 additions & 0 deletions .env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
NEXT_PUBLIC_SOLANA_NETWORK=Devnet
HELIUS_API_KEY=""
PROTOCOL_PROGRAM_ID_PUBLIC_KEY=4wQC2yuVt4rbcPeYLK8WngqbYLg7UAahVjRFrK3NBjP6
NONCE_AUTHORITY_ACCOUNT_SECRET_KEY=""
NONCE_AUTHORITY_ACCOUNT_PUBLIC_KEY=HTn6qm77YfJzg4j3F6EYWJrfGZYrbenzd5Cc9WkMGuoi
NONCE_ACCOUNT_PUBLIC_KEY=958TEm5Kqkrhais9Aqv6KvoJquZSnCyibX8V4ctSNjNL
NONCE_ACCOUNT_SECRET_KEY=""
7 changes: 7 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
NEXT_PUBLIC_SOLANA_NETWORK=Devnet
HELIUS_API_KEY=""
PROTOCOL_PROGRAM_ID_PUBLIC_KEY=4wQC2yuVt4rbcPeYLK8WngqbYLg7UAahVjRFrK3NBjP6
NONCE_AUTHORITY_ACCOUNT_SECRET_KEY=""
NONCE_AUTHORITY_ACCOUNT_PUBLIC_KEY=HTn6qm77YfJzg4j3F6EYWJrfGZYrbenzd5Cc9WkMGuoi
NONCE_ACCOUNT_PUBLIC_KEY=958TEm5Kqkrhais9Aqv6KvoJquZSnCyibX8V4ctSNjNL
NONCE_ACCOUNT_SECRET_KEY=""
7 changes: 7 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
NEXT_PUBLIC_SOLANA_NETWORK=Mainnet
NEXT_PUBLIC_HELIUS_API_KEY=
PROTOCOL_PROGRAM_ID_PUBLIC_KEY=4wQC2yuVt4rbcPeYLK8WngqbYLg7UAahVjRFrK3NBjP6
NONCE_AUTHORITY_ACCOUNT_SECRET_KEY=""
NONCE_AUTHORITY_ACCOUNT_PUBLIC_KEY=HTn6qm77YfJzg4j3F6EYWJrfGZYrbenzd5Cc9WkMGuoi
NONCE_ACCOUNT_PUBLIC_KEY=958TEm5Kqkrhais9Aqv6KvoJquZSnCyibX8V4ctSNjNL
NONCE_ACCOUNT_SECRET_KEY=""
15 changes: 15 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/strict",
"plugin:@typescript-eslint/stylistic",
"next/core-web-vitals",
"prettier"
],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"root": true,
"rules": {
"sort-imports": "warn"
}
}
36 changes: 36 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

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

# 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
1 change: 1 addition & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodejs 21.7.1
63 changes: 63 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
## Urani Swap for Solana

<br>



<p align="center">
<img src="docs/swap.png" width="60%" align="center" style="padding:1px;border:1px solid black;"/>
</p>

<br>


#### 👉🏼 The interface allowing users to submit order intents for consumption by the Urani Protocol on the Solana blockchain.

#### 👉🏼 Documentation on [local developer setup](docs/setup.md).

#### 👉🏼 Documentation on [features and technical decisions](docs/features.md).



<br>

---

### Resources

<br>

#### Tech Stack

- **[Next.js](https://nextjs.org/)**: a React framework that enables server-side rendering and generates static websites for enhanced performance.
- **[TypeScript](https://www.typescriptlang.org/)**: a strongly typed programming language that builds on JavaScript, providing type safety and better developer tooling.
- **[React](https://reactjs.org/)**: a component-based JavaScript library for building user interfaces that uses declarative and functional concepts.
- **[Tailwind CSS](https://tailwindcss.com/)**: a utility-first CSS framework for rapid UI development with a highly customizable design system.
- **[Vercel](https://vercel.com/)**: a platform for frontend frameworks and static sites, providing fast and reliable deployments.
- **[Mantine](https://mantine.dev/)**: a powerful React + Tailwind component library offering many prebuilt components for common use cases. Used in complex cases that require a powerful and flexible component.

<br>

#### External documentation

- **[Token List by Trust Wallet](https://github.com/trustwallet/assets/blob/master/blockchains/solana/tokenlist.json)**: a comprehensive list of tokens used for Solana applications.
- **[Wallet Adapter](https://github.com/anza-xyz/wallet-adapter)**: a modular TypeScript wallet adapters and components for Solana applications.
- **[Jupiter](https://jupiter.ag/)**: used for handling market orders within the Swap platform.
- **[Pyth](https://pyth.network/)**: for Price Feeds on Limit Orders.
- **[Hellius](https://hellius.io/)**: an RPC provider used for reliable and efficient communication with the Solana blockchain in Mainnet. Used for fetching token balances and submiting intents for Market Orders.


<br>

---

### License and Contributing

<br>

This project is distributed under the **[Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0)**.

You are welcome to contribute. See the guidelines **[here](docs/CONTRIBUTING.md)**.

<br>

Empty file added REmoove
Empty file.
17 changes: 17 additions & 0 deletions components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "default",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "tailwind.config.ts",
"css": "src/app/globals.css",
"baseColor": "slate",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils"
}
}
144 changes: 144 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Contributing to Urani's Projects

<br>

Thank you for your interest in contributing to our projects! Your contributions are essential for making our projects better and more efficient. We welcome and appreciate every form of contribution.

<br>

## Code of Conduct

Urani is committed to fostering a welcoming community. As such, we have adopted a Code of Conduct that we expect project participants to adhere to. Please read the Code of Conduct at the bottom of this document.

<br>



## License

This project is distributed under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0). By contributing to our projects, you agree that your contributions will be licensed under the same license.

<br>

## How to Contribute

There are many ways to contribute to our projects, from writing code, reporting bugs, suggesting enhancements, and more:

<br>

### Reporting Bugs

Before creating bug reports, please check the issue tracker to avoid duplicating existing issues. When filing a bug report, please provide as much relevant information as possible to help us reproduce the issue. This might include:

- Your operating system
- Steps to reproduce the bug
- Expected and actual behavior
- Any relevant logs or error messages

<br>

### Suggesting Enhancements

Feature requests are welcome. Before submitting an enhancement suggestion, please check if it's already been proposed. When suggesting enhancements, include as much detail as possible and consider the scope and objectives of our projects.

<br>

### Code Contributions

Not sure where to start? Look for issues tagged with `good-first-issue` or `help-wanted`:

- `good-first-issue` are tasks that should only require a few lines of code and minimal system understanding.
- `help-wanted` are more involved tasks needing a deeper understanding of the system.

<br>

### Pull Request Process

1. Fork the repository and create your branch from `main`.
2. Add or update tests as necessary according to your changes.
3. Ensure all tests pass.
4. Update the `README.md `with details of changes to the interface or significant functionality.
5. Submit your pull request with a comprehensive description of changes.

<br>

## Setting Up Your Development Environment

Please refer to the `README.md` file for instructions on setting up your development environment to start working on our projects.

<br>

## Pull Requests

We actively welcome your pull requests. If you've added code, please ensure it adheres to our project's coding style. Include unit tests for any new functionality and ensure that all tests pass.

<br>

## Additional Guidelines

- Write commit messages that clearly outline what has been accomplished in the commit.
- Document new code based on the project's standard.
- Ensure your code is clean and well-commented.

Thank you for contributing to Urani's projects, where your efforts help shine a light on open-source development!

<br>

---

# Code of Conduct at Urani

<br>

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

<br>

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting


<br>

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

<br>

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

<br>

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting [@urani-engineering](https://github.com/urani-engineering). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

<br>

## Attribution

This Code of Conduct is adapted from the [Lighthouse Contributing File](https://github.com/Jac0xb/lighthouse).
Loading

0 comments on commit b6cd291

Please sign in to comment.