Skip to content

Commit d67fe0b

Browse files
Initial commit
0 parents  commit d67fe0b

File tree

160 files changed

+20888
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+20888
-0
lines changed

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# Dependencies
4+
node_modules
5+
.pnp
6+
.pnp.js
7+
8+
# Local env files
9+
.env
10+
.env.local
11+
.env.development.local
12+
.env.test.local
13+
.env.production.local
14+
15+
# Testing
16+
coverage
17+
18+
# Turbo
19+
.turbo
20+
21+
# Vercel
22+
.vercel
23+
24+
# Build Outputs
25+
.next/
26+
out/
27+
build
28+
dist
29+
30+
31+
# Debug
32+
npm-debug.log*
33+
yarn-debug.log*
34+
yarn-error.log*
35+
36+
# Misc
37+
.DS_Store
38+
*.pem

.npmrc

Whitespace-only changes.

.tool-versions

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node 22.14.0
2+
pnpm 10.6.5

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"eslint.workingDirectories": [{ "mode": "auto" }]
3+
}

README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Petra Vault
2+
3+
Petra Vault is a multisig wallet solution for the Aptos blockchain, developed by Aptos Labs. It provides a secure way to manage digital assets with multi-signature authorization requirements.
4+
5+
## Features
6+
7+
- **Multisig Wallet Management**: Create and manage multisig vaults on Aptos
8+
- **Proposal System**: Create, review, and execute transaction proposals
9+
- **Vault Settings**: Customize vault configuration and user permissions
10+
- **Web-Based Interface**: Modern, responsive UI built with Next.js
11+
12+
## Getting Started
13+
14+
### Prerequisites
15+
16+
- Node.js (v22.14.0 or higher)
17+
- pnpm (v10.6.5 or higher)
18+
19+
You can install these runtimes using [mise](https://mise.jdx.dev/).
20+
21+
### Installation
22+
23+
1. Clone the repository:
24+
25+
```bash
26+
git clone https://github.com/aptos-labs/petra-vault.git
27+
cd petra-vault
28+
```
29+
30+
2. Install dependencies:
31+
32+
```bash
33+
pnpm install
34+
```
35+
36+
3. Start the development server:
37+
38+
```bash
39+
pnpm dev
40+
```
41+
42+
4. Open [http://localhost:3000](http://localhost:3000) in your browser to see the application.
43+
44+
## Project Structure
45+
46+
- `/apps/web`: Main web application
47+
- `/packages`: Shared configurations and utilities
48+
49+
## Development
50+
51+
```bash
52+
# Run development server
53+
pnpm dev
54+
55+
# Build for production
56+
pnpm build
57+
58+
# Run linting
59+
pnpm lint
60+
61+
# Check types
62+
pnpm check-types
63+
```

apps/web/.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
NEXT_PUBLIC_ENABLE_REACT_SCAN=1
2+
NEXT_PUBLIC_APTOS_MAINNET_API_KEY=<api_key>
3+
NEXT_PUBLIC_APTOS_TESTNET_API_KEY=<api_key>

apps/web/.gitignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
.yarn/install-state.gz
8+
9+
# testing
10+
/coverage
11+
12+
# next.js
13+
/.next/
14+
/out/
15+
16+
# production
17+
/build
18+
19+
# misc
20+
.DS_Store
21+
*.pem
22+
23+
# debug
24+
npm-debug.log*
25+
yarn-debug.log*
26+
yarn-error.log*
27+
28+
# env files (can opt-in for commiting if needed)
29+
.env
30+
.env.local
31+
.env.development
32+
.env.production
33+
34+
# vercel
35+
.vercel
36+
37+
# typescript
38+
*.tsbuildinfo
39+
next-env.d.ts

apps/web/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/create-next-app).
2+
3+
## Getting Started
4+
5+
First, run the development server:
6+
7+
```bash
8+
npm run dev
9+
# or
10+
yarn dev
11+
# or
12+
pnpm dev
13+
# or
14+
bun dev
15+
```
16+
17+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
18+
19+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
20+
21+
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load Inter, a custom Google Font.
22+
23+
## Learn More
24+
25+
To learn more about Next.js, take a look at the following resources:
26+
27+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
29+
30+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
31+
32+
## Deploy on Vercel
33+
34+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
35+
36+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { PropsWithChildren } from "react";
2+
import AuthenticationGuard from "@/components/AuthenticationGuard";
3+
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
4+
import { AppSidebar } from "@/components/AppSidebar";
5+
import { SiteHeader } from "@/components/SiteHeader";
6+
7+
export default function AuthenticatedLayout({ children }: PropsWithChildren) {
8+
return (
9+
<AuthenticationGuard>
10+
<div className="[--header-height:calc(theme(spacing.14))] bg-secondary">
11+
<SidebarProvider className="flex flex-col h-screen overflow-y-hidden">
12+
<SiteHeader />
13+
<div className="flex flex-1 h-full overflow-hidden">
14+
<AppSidebar />
15+
<SidebarInset className="h-full">
16+
<div className="bg-secondary py-2 pl-1 pr-2 w-full h-full">
17+
<div className="w-full h-full bg-background rounded-md overflow-y-scroll">
18+
{children}
19+
</div>
20+
</div>
21+
</SidebarInset>
22+
</div>
23+
</SidebarProvider>
24+
</div>
25+
</AuthenticationGuard>
26+
);
27+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { OnboardingProvider } from "@/context/OnboardingProvider";
2+
3+
export default function OnboardingLayout({
4+
children,
5+
}: {
6+
children: React.ReactNode;
7+
}) {
8+
return <OnboardingProvider>{children}</OnboardingProvider>;
9+
}

0 commit comments

Comments
 (0)