From b8e55e0f956b9158ad0edd417088393db86dcba2 Mon Sep 17 00:00:00 2001 From: Anthony Kelani Date: Thu, 15 Jan 2026 21:16:11 +0000 Subject: [PATCH] Add Apache 2.0 License headers to all files and update README for clarity --- LICENSE | 175 ++++++++++++++++++ README.md | 98 +--------- SECURITY.md | 4 + app/api/deposit/route.test.ts | 18 ++ app/api/deposit/route.ts | 18 ++ app/api/gateway/balance/route.ts | 18 ++ app/api/gateway/deposit/route.ts | 18 ++ app/api/gateway/info/route.ts | 18 ++ app/api/gateway/transfer/route.ts | 18 ++ app/api/transactions/route.ts | 18 ++ app/api/wallet-set/route.ts | 18 ++ app/api/wallet/route.ts | 18 ++ app/auth/error/page.tsx | 18 ++ app/auth/login/page.tsx | 18 ++ app/auth/sign-up/page.tsx | 18 ++ app/auth/update-password/page.tsx | 18 ++ app/dashboard/history/page.tsx | 18 ++ app/dashboard/layout.tsx | 18 ++ app/dashboard/page.tsx | 18 ++ app/globals.css | 18 ++ app/layout.tsx | 18 ++ app/page.tsx | 18 ++ components/auth-button.tsx | 18 ++ components/connect-wallet-dialog.tsx | 18 ++ components/connect-wallet.tsx | 18 ++ components/dashboard-skeleton.tsx | 18 ++ components/deposit-form.tsx | 18 ++ components/env-var-warning.tsx | 18 ++ components/hero.tsx | 18 ++ components/login-form.tsx | 18 ++ components/logout-button.tsx | 18 ++ components/sign-up-form.tsx | 18 ++ components/theme-switcher.tsx | 18 ++ components/transaction-history.tsx | 18 ++ components/transfer-form.tsx | 18 ++ components/ui/alert.tsx | 18 ++ components/ui/badge.tsx | 18 ++ components/ui/button.tsx | 18 ++ components/ui/card.tsx | 18 ++ components/ui/checkbox.tsx | 18 ++ components/ui/dialog.tsx | 18 ++ components/ui/dropdown-menu.tsx | 18 ++ components/ui/input.tsx | 18 ++ components/ui/label.tsx | 18 ++ components/ui/select.tsx | 18 ++ components/ui/separator.tsx | 18 ++ components/ui/skeleton.tsx | 18 ++ components/ui/sonner.tsx | 18 ++ components/ui/switch.tsx | 18 ++ components/ui/table.tsx | 18 ++ components/ui/tabs.tsx | 18 ++ components/ui/tooltip.tsx | 18 ++ components/update-password-form.tsx | 18 ++ components/wagmi-provider.tsx | 18 ++ components/wallet-dashboard.tsx | 18 ++ eslint.config.mjs | 18 ++ lib/chain-config.ts | 18 ++ lib/circle/gateway-sdk.ts | 18 ++ lib/circle/permit.ts | 18 ++ lib/circle/sdk.ts | 18 ++ lib/deposit.ts | 18 ++ lib/supabase/client.ts | 18 ++ lib/supabase/middleware.ts | 18 ++ lib/supabase/server-client.ts | 18 ++ lib/supabase/server.ts | 18 ++ lib/utils.ts | 18 ++ lib/wagmi/usdcAddresses.ts | 18 ++ next.config.ts | 18 ++ postcss.config.mjs | 18 ++ proxy.ts | 18 ++ supabase/config.toml | 16 ++ ...94506_create_transaction_history_table.sql | 16 ++ .../20251106165045_create_wallets_table.sql | 16 ++ ...51113000000_add_status_to_transactions.sql | 16 ++ types/environment.d.ts | 18 ++ 75 files changed, 1470 insertions(+), 95 deletions(-) create mode 100644 LICENSE create mode 100644 SECURITY.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..19dc35b --- /dev/null +++ b/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/README.md b/README.md index b7c1244..e63ee33 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,8 @@ # Circle Gateway Multichain USDC -A Next.js application demonstrating Circle's Gateway integration for unified USDC balances across multiple blockchains with cross-chain transfer capabilities. +This sample app demonstrates how to integrate USDC as a payment method for purchasing credits on Arc. -## Features - -- **Unified Balance**: View and manage USDC across multiple chains from a single interface -- **Multi-Wallet Support**: Connect via Circle wallets -- **Deposits**: Deposit USDC to Gateway Wallet on any supported testnet chain -- **Cross-Chain Transfers**: Transfer USDC between chains using Circle's CCTP technology -- **Transaction History**: Track all deposits and transfers - -## Supported Chains (Testnet) - -- Ethereum Sepolia -- Base Sepolia -- Avalanche Fuji - -## Quick Start - -### Prerequisites - -- Node.js 18+ installed -- Testnet wallet with private key -- Testnet USDC from [Circle Faucet](https://faucet.circle.com/) -- Native tokens (ETH/AVAX) for gas fees - -### Installation +### Install dependencies ```bash # Install dependencies @@ -78,53 +55,7 @@ When you deposit USDC to the Gateway Wallet, it becomes part of your unified bal 1. Create and sign burn intent (EIP-712) 2. Submit to Gateway API for attestation 3. Call `gatewayMint()` on destination chain -4. USDC minted on destination (typically 1-3 minutes) - -## API Endpoints - -| Endpoint | Method | Description | -|----------|--------|-------------| -| `/api/gateway/balance` | POST | Fetch Gateway and wallet balances | -| `/api/gateway/deposit` | POST | Deposit USDC to Gateway | -| `/api/gateway/transfer` | POST | Cross-chain USDC transfer | -| `/api/gateway/delegate/add` | POST | Add delegate for authorized transfers | -| `/api/gateway/delegate/remove` | POST | Remove delegate | -| `/api/gateway/info` | GET | Fetch Gateway configuration | - -## Key Contract Addresses (Testnet) - -**Gateway Contracts (same on all chains):** - -- Gateway Wallet: `0x0077777d7EBA4688BDeF3E311b846F25870A19B9` -- Gateway Minter: `0x0022222ABE238Cc2C7Bb1f21003F0a260052475B` - -**USDC Contracts:** - -- Sepolia: `0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238` -- Base Sepolia: `0x036CbD53842c5426634e7929541eC2318f3dCF7e` -- Avalanche Fuji: `0x5425890298aed601595a70ab815c96711a31bc65` - -## Testing - -### Basic Flow - -1. Connect wallet at `/wallet` -2. Enter testnet private key (never use mainnet keys) -3. Deposit USDC on any chain -4. Transfer between chains - -### Example: Cross-Chain Transfer - -```bash -curl -X POST http://localhost:3000/api/gateway/transfer \ - -H "Content-Type: application/json" \ - -d '{ - "privateKey": "your_private_key", - "sourceChain": "sepolia", - "destinationChain": "baseSepolia", - "amount": "10.00" - }' -``` +4. USDC minted on destination ## Security Notes @@ -134,31 +65,8 @@ curl -X POST http://localhost:3000/api/gateway/transfer \ - Always use HTTPS in production - Consider hardware wallet integration for production use -## Troubleshooting - -**Balance not updating**: Wait 30-60 seconds for block finality, then refresh - -**Transaction fails**: Ensure sufficient native tokens for gas and correct chain selection - -**Transfer stuck**: Gateway attestation can take 5-10 minutes. Check Circle's status page - -**Insufficient balance**: Verify you have enough USDC on the source chain - -## Technology Stack - -- **Frontend**: Next.js 15, React 18, TailwindCSS, shadcn/ui -- **Authentication**: Circle Wallets (wallet connection) -- **Database**: Supabase (transaction history) -- **Blockchain**: viem, wagmi (Ethereum interactions) -- **Gateway**: Circle SDK, Gateway API - ## Resources - [Circle Gateway Documentation](https://developers.circle.com/gateway) - [Unified Balance Guide](https://developers.circle.com/gateway/howtos/create-unified-usdc-balance) - [Circle Faucet](https://faucet.circle.com/) -- [Gateway API Testnet](https://gateway-api-testnet.circle.com) - -## License - -This is a demonstration project for educational purposes. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..4097fd2 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,4 @@ +# Security Policy + +## Reporting a Vulnerability +Please do not file public issues on Github for security vulnerabilities. All security vulnerabilities should be reported to Circle privately, through Circle's [Bug Bounty Program](https://hackerone.com/circle-bbp). Please read through the program policy before submitting a report. \ No newline at end of file diff --git a/app/api/deposit/route.test.ts b/app/api/deposit/route.test.ts index 6275690..c123c39 100644 --- a/app/api/deposit/route.test.ts +++ b/app/api/deposit/route.test.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { handleDeposit } from '@/lib/deposit'; describe('handleDeposit', () => { diff --git a/app/api/deposit/route.ts b/app/api/deposit/route.ts index dcc4acb..d2d0b76 100644 --- a/app/api/deposit/route.ts +++ b/app/api/deposit/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from 'next/server'; import { handleDeposit } from '@/lib/deposit'; diff --git a/app/api/gateway/balance/route.ts b/app/api/gateway/balance/route.ts index b56f760..792b24d 100644 --- a/app/api/gateway/balance/route.ts +++ b/app/api/gateway/balance/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { fetchGatewayBalance, getUsdcBalance, CHAIN_BY_DOMAIN, type SupportedChain } from "@/lib/circle/gateway-sdk"; import { createClient } from "@/lib/supabase/server"; diff --git a/app/api/gateway/deposit/route.ts b/app/api/gateway/deposit/route.ts index 61cb1aa..1d3f45c 100644 --- a/app/api/gateway/deposit/route.ts +++ b/app/api/gateway/deposit/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { initiateDepositFromCustodialWallet, diff --git a/app/api/gateway/info/route.ts b/app/api/gateway/info/route.ts index 92b68d1..9f2699f 100644 --- a/app/api/gateway/info/route.ts +++ b/app/api/gateway/info/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { fetchGatewayInfo } from "@/lib/circle/gateway-sdk"; import { createClient } from "@/lib/supabase/server"; diff --git a/app/api/gateway/transfer/route.ts b/app/api/gateway/transfer/route.ts index 5639c7b..d2a9389 100644 --- a/app/api/gateway/transfer/route.ts +++ b/app/api/gateway/transfer/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { transferUnifiedBalanceCircle, diff --git a/app/api/transactions/route.ts b/app/api/transactions/route.ts index 8ba3ef4..2c24ecb 100644 --- a/app/api/transactions/route.ts +++ b/app/api/transactions/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { createClient } from "@/lib/supabase/server"; diff --git a/app/api/wallet-set/route.ts b/app/api/wallet-set/route.ts index 975feb9..773ecaa 100644 --- a/app/api/wallet-set/route.ts +++ b/app/api/wallet-set/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { circleDeveloperSdk } from "@/lib/circle/sdk"; diff --git a/app/api/wallet/route.ts b/app/api/wallet/route.ts index 8816966..ff5928c 100644 --- a/app/api/wallet/route.ts +++ b/app/api/wallet/route.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { NextRequest, NextResponse } from "next/server"; import { circleDeveloperSdk } from "@/lib/circle/sdk"; diff --git a/app/auth/error/page.tsx b/app/auth/error/page.tsx index 8bd2864..49af973 100644 --- a/app/auth/error/page.tsx +++ b/app/auth/error/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; export default async function Page({ diff --git a/app/auth/login/page.tsx b/app/auth/login/page.tsx index 5efe679..0015d30 100644 --- a/app/auth/login/page.tsx +++ b/app/auth/login/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { LoginForm } from "@/components/login-form"; export default function Page() { diff --git a/app/auth/sign-up/page.tsx b/app/auth/sign-up/page.tsx index d5dca78..ef3256f 100644 --- a/app/auth/sign-up/page.tsx +++ b/app/auth/sign-up/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { SignUpForm } from "@/components/sign-up-form"; export default function Page() { diff --git a/app/auth/update-password/page.tsx b/app/auth/update-password/page.tsx index ff4d176..be23d6a 100644 --- a/app/auth/update-password/page.tsx +++ b/app/auth/update-password/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { UpdatePasswordForm } from "@/components/update-password-form"; export default function Page() { diff --git a/app/dashboard/history/page.tsx b/app/dashboard/history/page.tsx index 766d9a0..e6cdb7a 100644 --- a/app/dashboard/history/page.tsx +++ b/app/dashboard/history/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { redirect } from "next/navigation"; import { createClient } from "@/lib/supabase/server"; import { TransactionHistory } from "@/components/transaction-history"; diff --git a/app/dashboard/layout.tsx b/app/dashboard/layout.tsx index dd18f2f..5d4035d 100644 --- a/app/dashboard/layout.tsx +++ b/app/dashboard/layout.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import Link from "next/link"; import { EnvVarWarning } from "@/components/env-var-warning"; import { AuthButton } from "@/components/auth-button"; diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 1efd014..10854b5 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { redirect } from "next/navigation"; import { createClient } from "@/lib/supabase/server"; diff --git a/app/globals.css b/app/globals.css index 06b594b..795685a 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + @import "tailwindcss"; @plugin "tailwindcss-animate"; diff --git a/app/layout.tsx b/app/layout.tsx index 0c9e44d..eeaedc2 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import type { Metadata } from "next"; import { ThemeProvider } from "next-themes"; import { WagmiProvider } from "@/components/wagmi-provider"; diff --git a/app/page.tsx b/app/page.tsx index 73211ac..d45abec 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { EnvVarWarning } from "@/components/env-var-warning"; import { AuthButton } from "@/components/auth-button"; import { ThemeSwitcher } from "@/components/theme-switcher"; diff --git a/components/auth-button.tsx b/components/auth-button.tsx index 5749558..96f6a53 100644 --- a/components/auth-button.tsx +++ b/components/auth-button.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import Link from "next/link"; import { Button } from "@/components/ui/button"; import { createClient } from "@/lib/supabase/server"; diff --git a/components/connect-wallet-dialog.tsx b/components/connect-wallet-dialog.tsx index 3540d8c..a764bb3 100644 --- a/components/connect-wallet-dialog.tsx +++ b/components/connect-wallet-dialog.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import React, { useState } from "react"; diff --git a/components/connect-wallet.tsx b/components/connect-wallet.tsx index 7609ce9..9d5b1f3 100644 --- a/components/connect-wallet.tsx +++ b/components/connect-wallet.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { useState, useEffect } from "react"; diff --git a/components/dashboard-skeleton.tsx b/components/dashboard-skeleton.tsx index 914474a..97fddde 100644 --- a/components/dashboard-skeleton.tsx +++ b/components/dashboard-skeleton.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { Card, CardContent, diff --git a/components/deposit-form.tsx b/components/deposit-form.tsx index ee40328..9d808e2 100644 --- a/components/deposit-form.tsx +++ b/components/deposit-form.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; diff --git a/components/env-var-warning.tsx b/components/env-var-warning.tsx index c881f47..0ef4ff3 100644 --- a/components/env-var-warning.tsx +++ b/components/env-var-warning.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; diff --git a/components/hero.tsx b/components/hero.tsx index 82bd312..2143d9a 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + export function Hero() { return (
diff --git a/components/login-form.tsx b/components/login-form.tsx index 3906ccf..9ac9b16 100644 --- a/components/login-form.tsx +++ b/components/login-form.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { cn } from "@/lib/utils"; diff --git a/components/logout-button.tsx b/components/logout-button.tsx index 6ec0abe..79bcf69 100644 --- a/components/logout-button.tsx +++ b/components/logout-button.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { createClient } from "@/lib/supabase/client"; diff --git a/components/sign-up-form.tsx b/components/sign-up-form.tsx index 3633f48..8c090a8 100644 --- a/components/sign-up-form.tsx +++ b/components/sign-up-form.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { cn } from "@/lib/utils"; diff --git a/components/theme-switcher.tsx b/components/theme-switcher.tsx index d838e40..32071a2 100644 --- a/components/theme-switcher.tsx +++ b/components/theme-switcher.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { Button } from "@/components/ui/button"; diff --git a/components/transaction-history.tsx b/components/transaction-history.tsx index f5d38ce..47ae07b 100644 --- a/components/transaction-history.tsx +++ b/components/transaction-history.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { useEffect, useState, useMemo } from "react"; diff --git a/components/transfer-form.tsx b/components/transfer-form.tsx index 831d7ab..ab69f67 100644 --- a/components/transfer-form.tsx +++ b/components/transfer-form.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; diff --git a/components/ui/alert.tsx b/components/ui/alert.tsx index 394b59d..d41c854 100644 --- a/components/ui/alert.tsx +++ b/components/ui/alert.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import * as React from "react" import { cva, type VariantProps } from "class-variance-authority" diff --git a/components/ui/badge.tsx b/components/ui/badge.tsx index 152542f..b06ec50 100644 --- a/components/ui/badge.tsx +++ b/components/ui/badge.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority"; diff --git a/components/ui/button.tsx b/components/ui/button.tsx index 224a2af..5079b10 100644 --- a/components/ui/button.tsx +++ b/components/ui/button.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import * as React from "react"; import { Slot } from "@radix-ui/react-slot"; import { cva, type VariantProps } from "class-variance-authority"; diff --git a/components/ui/card.tsx b/components/ui/card.tsx index c265510..66ba49f 100644 --- a/components/ui/card.tsx +++ b/components/ui/card.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import * as React from "react"; import { cn } from "@/lib/utils"; diff --git a/components/ui/checkbox.tsx b/components/ui/checkbox.tsx index 50933fc..56f1104 100644 --- a/components/ui/checkbox.tsx +++ b/components/ui/checkbox.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import * as React from "react"; diff --git a/components/ui/dialog.tsx b/components/ui/dialog.tsx index d9ccec9..63b8515 100644 --- a/components/ui/dialog.tsx +++ b/components/ui/dialog.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/ui/dropdown-menu.tsx b/components/ui/dropdown-menu.tsx index e2d91e2..0994fb7 100644 --- a/components/ui/dropdown-menu.tsx +++ b/components/ui/dropdown-menu.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import * as React from "react"; diff --git a/components/ui/input.tsx b/components/ui/input.tsx index dca4fd6..c46a680 100644 --- a/components/ui/input.tsx +++ b/components/ui/input.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import * as React from "react"; import { cn } from "@/lib/utils"; diff --git a/components/ui/label.tsx b/components/ui/label.tsx index 84f8b0c..b4564f5 100644 --- a/components/ui/label.tsx +++ b/components/ui/label.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import * as React from "react"; diff --git a/components/ui/select.tsx b/components/ui/select.tsx index 25e5439..ac042f1 100644 --- a/components/ui/select.tsx +++ b/components/ui/select.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/ui/separator.tsx b/components/ui/separator.tsx index 275381c..b38eee7 100644 --- a/components/ui/separator.tsx +++ b/components/ui/separator.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/ui/skeleton.tsx b/components/ui/skeleton.tsx index 32ea0ef..37a8af0 100644 --- a/components/ui/skeleton.tsx +++ b/components/ui/skeleton.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { cn } from "@/lib/utils" function Skeleton({ className, ...props }: React.ComponentProps<"div">) { diff --git a/components/ui/sonner.tsx b/components/ui/sonner.tsx index 9b20afe..99025c0 100644 --- a/components/ui/sonner.tsx +++ b/components/ui/sonner.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import { diff --git a/components/ui/switch.tsx b/components/ui/switch.tsx index a42ea05..47adc87 100644 --- a/components/ui/switch.tsx +++ b/components/ui/switch.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/ui/table.tsx b/components/ui/table.tsx index 51b74dd..3b8333b 100644 --- a/components/ui/table.tsx +++ b/components/ui/table.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/ui/tabs.tsx b/components/ui/tabs.tsx index 497ba5e..09ff99c 100644 --- a/components/ui/tabs.tsx +++ b/components/ui/tabs.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/ui/tooltip.tsx b/components/ui/tooltip.tsx index a4e90d4..7c039b9 100644 --- a/components/ui/tooltip.tsx +++ b/components/ui/tooltip.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client" import * as React from "react" diff --git a/components/update-password-form.tsx b/components/update-password-form.tsx index bbc48f2..15ebccf 100644 --- a/components/update-password-form.tsx +++ b/components/update-password-form.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { cn } from "@/lib/utils"; diff --git a/components/wagmi-provider.tsx b/components/wagmi-provider.tsx index 2313a64..6f486a4 100644 --- a/components/wagmi-provider.tsx +++ b/components/wagmi-provider.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { WagmiConfig, createConfig } from "wagmi"; import { http } from '@wagmi/core' diff --git a/components/wallet-dashboard.tsx b/components/wallet-dashboard.tsx index 84ffeda..2dff6ff 100644 --- a/components/wallet-dashboard.tsx +++ b/components/wallet-dashboard.tsx @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + "use client"; import { Button } from "@/components/ui/button"; diff --git a/eslint.config.mjs b/eslint.config.mjs index c85fb67..ea29349 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { dirname } from "path"; import { fileURLToPath } from "url"; import { FlatCompat } from "@eslint/eslintrc"; diff --git a/lib/chain-config.ts b/lib/chain-config.ts index f451865..b5de204 100644 --- a/lib/chain-config.ts +++ b/lib/chain-config.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + export type SupportedChain = | "arcTestnet" | "baseSepolia" diff --git a/lib/circle/gateway-sdk.ts b/lib/circle/gateway-sdk.ts index 3a4124b..25bfe4f 100644 --- a/lib/circle/gateway-sdk.ts +++ b/lib/circle/gateway-sdk.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { randomBytes } from "crypto"; import { http, diff --git a/lib/circle/permit.ts b/lib/circle/permit.ts index d3bd038..d462bb5 100644 --- a/lib/circle/permit.ts +++ b/lib/circle/permit.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { maxUint256, erc20Abi, diff --git a/lib/circle/sdk.ts b/lib/circle/sdk.ts index 75928d9..fae8bac 100644 --- a/lib/circle/sdk.ts +++ b/lib/circle/sdk.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { initiateDeveloperControlledWalletsClient } from "@circle-fin/developer-controlled-wallets"; // Initialize Circle client diff --git a/lib/deposit.ts b/lib/deposit.ts index 8b884b0..4d69ab7 100644 --- a/lib/deposit.ts +++ b/lib/deposit.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + // lib/deposit.ts import { createClient } from '@/lib/supabase/server'; diff --git a/lib/supabase/client.ts b/lib/supabase/client.ts index e50bdf6..b787d67 100644 --- a/lib/supabase/client.ts +++ b/lib/supabase/client.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { createBrowserClient } from "@supabase/ssr"; export function createClient() { diff --git a/lib/supabase/middleware.ts b/lib/supabase/middleware.ts index febf861..e97b85c 100644 --- a/lib/supabase/middleware.ts +++ b/lib/supabase/middleware.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { createServerClient } from "@supabase/ssr"; import { NextResponse, type NextRequest } from "next/server"; import { hasEnvVars } from "@/lib/utils"; diff --git a/lib/supabase/server-client.ts b/lib/supabase/server-client.ts index 5738e27..78a051c 100644 --- a/lib/supabase/server-client.ts +++ b/lib/supabase/server-client.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { type NextRequest, type NextResponse } from "next/server"; import { createServerClient } from "@supabase/ssr"; diff --git a/lib/supabase/server.ts b/lib/supabase/server.ts index fc71fdd..75e1504 100644 --- a/lib/supabase/server.ts +++ b/lib/supabase/server.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { createServerClient } from "@supabase/ssr"; import { cookies } from "next/headers"; diff --git a/lib/utils.ts b/lib/utils.ts index 8173d37..47242cb 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { clsx, type ClassValue } from "clsx"; import { twMerge } from "tailwind-merge"; diff --git a/lib/wagmi/usdcAddresses.ts b/lib/wagmi/usdcAddresses.ts index b951248..9bc97d8 100644 --- a/lib/wagmi/usdcAddresses.ts +++ b/lib/wagmi/usdcAddresses.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { arbitrum, arbitrumSepolia, diff --git a/next.config.ts b/next.config.ts index e9ffa30..b13f638 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import type { NextConfig } from "next"; const nextConfig: NextConfig = { diff --git a/postcss.config.mjs b/postcss.config.mjs index 5d6d845..89701b0 100644 --- a/postcss.config.mjs +++ b/postcss.config.mjs @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + /** @type {import('postcss-load-config').Config} */ const config = { plugins: { diff --git a/proxy.ts b/proxy.ts index ea47135..4b36611 100644 --- a/proxy.ts +++ b/proxy.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + import { type NextRequest, NextResponse } from "next/server"; import { createSupabaseReqResClient } from "@/lib/supabase/server-client"; diff --git a/supabase/config.toml b/supabase/config.toml index 47ce8a0..18f8609 100644 --- a/supabase/config.toml +++ b/supabase/config.toml @@ -1,3 +1,19 @@ +# Copyright 2026 Circle Internet Group, Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + # For detailed configuration reference documentation, visit: # https://supabase.com/docs/guides/local-development/cli/config # A string used to distinguish different Supabase projects on the same host. Defaults to the diff --git a/supabase/migrations/20251027194506_create_transaction_history_table.sql b/supabase/migrations/20251027194506_create_transaction_history_table.sql index fedfe09..804cb01 100644 --- a/supabase/migrations/20251027194506_create_transaction_history_table.sql +++ b/supabase/migrations/20251027194506_create_transaction_history_table.sql @@ -1,3 +1,19 @@ +-- Copyright 2026 Circle Internet Group, Inc. All rights reserved. +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- SPDX-License-Identifier: Apache-2.0 + -- Supabase Transaction History Table Schema CREATE TABLE transaction_history ( diff --git a/supabase/migrations/20251106165045_create_wallets_table.sql b/supabase/migrations/20251106165045_create_wallets_table.sql index c016323..260cd00 100644 --- a/supabase/migrations/20251106165045_create_wallets_table.sql +++ b/supabase/migrations/20251106165045_create_wallets_table.sql @@ -1,3 +1,19 @@ +-- Copyright 2026 Circle Internet Group, Inc. All rights reserved. +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- SPDX-License-Identifier: Apache-2.0 + -- Create the wallets table with a UUID primary key CREATE TABLE public.wallets ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, diff --git a/supabase/migrations/20251113000000_add_status_to_transactions.sql b/supabase/migrations/20251113000000_add_status_to_transactions.sql index bec6665..11101a7 100644 --- a/supabase/migrations/20251113000000_add_status_to_transactions.sql +++ b/supabase/migrations/20251113000000_add_status_to_transactions.sql @@ -1,3 +1,19 @@ +-- Copyright 2026 Circle Internet Group, Inc. All rights reserved. +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- SPDX-License-Identifier: Apache-2.0 + -- Add status and reason columns to transaction_history table ALTER TABLE transaction_history diff --git a/types/environment.d.ts b/types/environment.d.ts index 3187297..6b3ddac 100644 --- a/types/environment.d.ts +++ b/types/environment.d.ts @@ -1,3 +1,21 @@ +/** + * Copyright 2026 Circle Internet Group, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + namespace NodeJS { interface ProcessEnv { // Supabase