Skip to content
This repository was archived by the owner on Mar 16, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,8 @@
],
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
}
},
"python-envs.defaultEnvManager": "ms-python.python:conda",
"python-envs.defaultPackageManager": "ms-python.python:conda",
"python-envs.pythonProjects": []
}
22 changes: 12 additions & 10 deletions src/components/aidaos/RootDAOPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -527,21 +527,23 @@ export function RootDAOPage({ children, daoName }: RootDAOPageProps) {
<TwitterCard
name="AIBTC"
username="aibtcdev"
tweet={`AIBTC order — recruit dark talent ☕️ 🌎
tweet={`AIBTC order — LA interviews 🌴

quote this post with:
1️⃣ photo of your coffee + workspace
2️⃣ tag a blue-check builder you admire who should build a startup society
3️⃣ thoughtful one-liner on why
hit the streets of LA and record a video asking a stranger:

submit daily, earn btc
@balajis prompt us: what order should be next?
`}
date="Nov 17, 2025"
• "What do you love about LA?"
• "What's one thing you'd fix about LA?"

quote this post with the video and neighborhood you were in

approved entries earn $50 BTC

details in next post`}
date="Nov 25, 2025"
// time="8:14 PM"
avatarUrl="/logos/aibtcdev-avatar-250px.png"
verified={true}
link="https://x.com/aibtcdev/status/1990455534554841152"
// link="https://x.com/aibtcdev/status/1990455534554841152"
title="The Current Order"
/>
</div>
Expand Down
27 changes: 27 additions & 0 deletions src/components/proposals/ProposalSubmission.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,9 @@ export function ProposalSubmission({
const [xUsernameError, setXUsernameError] = useState<string | null>(null);
const [xProfile, setXProfile] = useState<XProfile | null>(null);

// Consent checkbox state
const [consentChecked, setConsentChecked] = useState(false);

const { accessToken, isLoading: isSessionLoading, userId } = useAuth();
const {
needsXLink,
Expand Down Expand Up @@ -811,6 +814,7 @@ export function ProposalSubmission({
if (isSuccess) {
setTxStatusView("confirmed-success");
setTwitterUrl("");
setConsentChecked(false);
// setSelectedAirdropTxHash(null); // Commented out - airdrop feature disabled
} else if (isFailed) setTxStatusView("confirmed-failure");

Expand Down Expand Up @@ -1690,6 +1694,28 @@ export function ProposalSubmission({
</form>
</div>

{/* Consent Checkbox - Outside overlays */}
{hasAccessToken && (
<div className="flex items-start gap-3 rounded-sm">
<input
type="checkbox"
id="consent-checkbox"
checked={consentChecked}
onChange={(e) => setConsentChecked(e.target.checked)}
disabled={isSubmitting || isLoadingExtensions || isLoadingAgents}
className="mt-1 h-4 w-4 rounded border-white/10 bg-background text-primary cursor-pointer"
/>
<label
htmlFor="consent-checkbox"
className="text-sm text-muted-foreground leading-relaxed cursor-pointer select-none"
>
By submitting, you confirm you obtained consent from everyone
identifiable in these photos or videos and authorize AIBTC to
share and repost them.
</label>
</div>
)}

{/* Footer CTA */}
<div className="pt-6">
{!hasAccessToken ? (
Expand All @@ -1701,6 +1727,7 @@ export function ProposalSubmission({
disabled={
!twitterUrl.trim() ||
!isValidTwitterUrl ||
!consentChecked ||
isSubmitting ||
isValidatingXUsername ||
!hasAgentAccount ||
Expand Down
65 changes: 46 additions & 19 deletions src/components/terms-and-condition/TermsOfService.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,34 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {
<div className="space-y-6">
<section>
<h2 className="text-lg font-semibold mb-3">
1. AIBTC Does Not Control Funds or DAOs
1. User-Submitted Content
</h2>
<p>
By submitting any photo, video, audio, or other content, you
confirm you obtained consent from all identifiable individuals and
hold the rights to share it, and you grant AIBTC a worldwide,
perpetual license to use, repost, and distribute it and accept
responsibility for any related claims.
</p>
</section>

<section>
<h2 className="text-lg font-semibold mb-3">
2. Promotion and Rewards
</h2>
<p>
AIBTC may offer BTC rewards for qualifying submissions.
Eligibility, judging criteria, timing, and any geographic or age
limits will be stated in the submission instructions. Not all
submissions will receive rewards, and all payouts are
discretionary, subject to verification, and void where prohibited.
No purchase is necessary.
</p>
</section>

<section>
<h2 className="text-lg font-semibold mb-3">
3. AIBTC Does Not Control Funds or DAOs
</h2>
<p>
AIBTC provides software to assist users more easily interact with
Expand All @@ -69,7 +96,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
2. Users Control All Token and DAO Activities
4. Users Control All Token and DAO Activities
</h2>
<p>
Users initiate and execute all tokens, purchase seats, and launch
Expand All @@ -79,7 +106,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
3. User Responsibility for Funds and DAO Treasuries
5. User Responsibility for Funds and DAO Treasuries
</h2>
<p>
Users are responsible for their own secret keys and control of
Expand All @@ -90,7 +117,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
4. Use of Personal Funds
6. Use of Personal Funds
</h2>
<p>
By using the App, you represent that any funds deployed or tokens
Expand All @@ -100,7 +127,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
5. AI Agent Responsibility
7. AI Agent Responsibility
</h2>
<p>
Users are responsible for all of the action taken by user driven
Expand All @@ -111,7 +138,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
6. Legal Setup and Compliance
8. Legal Setup and Compliance
</h2>
<p>
AIBTC does not make any sort of representation towards the legal
Expand All @@ -125,7 +152,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
7. Professional Advisors
9. Professional Advisors
</h2>
<p>
Any documents, examples, or demos provided by AIBTC only serve
Expand All @@ -137,7 +164,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
8. Compliance with Applicable Laws
10. Compliance with Applicable Laws
</h2>
<p>
By using the App, users agree to comply with all applicable laws
Expand All @@ -150,7 +177,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
9. Sanctions and Restricted Territories
11. Sanctions and Restricted Territories
</h2>
<p className="mb-3">
By using this App, you represent and warrant that:
Expand Down Expand Up @@ -186,7 +213,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
10. VPN and Circumvention Restrictions
12. VPN and Circumvention Restrictions
</h2>
<p>
You do not, and will not, use VPN software or any other privacy or
Expand All @@ -197,7 +224,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
11. Prohibited Activities
13. Prohibited Activities
</h2>
<p>
The use of the App to launder funds, violate third party rights,
Expand All @@ -210,7 +237,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
12. Blockchain Technology Risks
14. Blockchain Technology Risks
</h2>
<p className="mb-3">
You understand the inherent risks associated with cryptographic
Expand Down Expand Up @@ -247,7 +274,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
13. Transaction Finality and Risk Acceptance
15. Transaction Finality and Risk Acceptance
</h2>
<p className="mb-3">
By using this App, you acknowledge and accept that:
Expand Down Expand Up @@ -277,7 +304,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
14. Private Key Responsibility
16. Private Key Responsibility
</h2>
<p>
You alone are responsible for securing any of your private key(s)
Expand All @@ -299,7 +326,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
15. Market Volatility and Token Risks
17. Market Volatility and Token Risks
</h2>
<p>
Crypto markets tend to experience heavy price volatility and the
Expand All @@ -321,7 +348,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
16. AI Compute Services
18. AI Compute Services
</h2>
<p>
AIBTC may, at its sole discretion, provide AI compute services
Expand All @@ -337,7 +364,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
17. Third-Party Bridging Services
19. Third-Party Bridging Services
</h2>
<p>
All bridging activities accessible via the App is carried out by a
Expand All @@ -352,7 +379,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
18. Limitation of Liability
20. Limitation of Liability
</h2>
<p>
Under no circumstances shall AIBTC be liable for indirect,
Expand All @@ -363,7 +390,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

<section>
<h2 className="text-lg font-semibold mb-3">
19. Agreement Acknowledgment
21. Agreement Acknowledgment
</h2>
<p>
By continuing to use AIBTC, you confirm that you have read,
Expand Down
2 changes: 1 addition & 1 deletion src/config/features.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// when enabled will show only a single DAO throughout the app
export const enableSingleDaoMode = true;
// only required when single DAO mode is enabled
export const singleDaoName = "AIBTC-NS1";
export const singleDaoName = "AIBTC-LAX";

// Reward configuration
// Reward amount in USD for each passed proposal
Expand Down