From 7c2bda09d9c597c491fb7b48af859c4939cdb5de Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 16:39:59 +0100 Subject: [PATCH 01/29] refactor(config): update default contract name to v3 --- frontend/src/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/config.ts b/frontend/src/config.ts index f7caf690..b5ffba82 100644 --- a/frontend/src/config.ts +++ b/frontend/src/config.ts @@ -2,7 +2,7 @@ export const NETWORK = (process.env.NEXT_PUBLIC_NETWORK || 'mainnet') as 'mainnet' | 'testnet'; export const CONTRACT_ADDRESS = process.env.NEXT_PUBLIC_CONTRACT_ADDRESS || 'SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T'; -export const CONTRACT_NAME = process.env.NEXT_PUBLIC_CONTRACT_NAME || 'sprintfund-core'; +export const CONTRACT_NAME = process.env.NEXT_PUBLIC_CONTRACT_NAME || 'sprintfund-core-v3'; export const CONTRACT_PRINCIPAL = `${CONTRACT_ADDRESS}.${CONTRACT_NAME}`; /* ── API ──────────────────────────────────────── */ From 6618d362b3783a1f321eda3344e50c8c90104aa1 Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 16:41:01 +0100 Subject: [PATCH 02/29] chore(k8s): align configmap with v3 contract deployment --- frontend/k8s/configmap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/k8s/configmap.yaml b/frontend/k8s/configmap.yaml index d8ab7ac1..1d49057e 100644 --- a/frontend/k8s/configmap.yaml +++ b/frontend/k8s/configmap.yaml @@ -6,5 +6,5 @@ metadata: app: sprintfund-frontend data: network: "mainnet" - contract-address: "SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T.sprintfund-core" + contract-address: "SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T.sprintfund-core-v3" stacks-api-url: "https://stacks-node-api.mainnet.stacks.co" From c1f0331c672bb390b6d08614203439b425a8c55f Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 16:42:21 +0100 Subject: [PATCH 03/29] docs: update contract principal in frontend README --- frontend/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/README.md b/frontend/README.md index 99c248e0..60723606 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -49,7 +49,7 @@ Available environment variables: |----------|-------------|---------| | `NEXT_PUBLIC_NETWORK` | Stacks network (mainnet/testnet) | mainnet | | `NEXT_PUBLIC_CONTRACT_ADDRESS` | Contract deployer address | SP31PKQ... | -| `NEXT_PUBLIC_CONTRACT_NAME` | Contract name | sprintfund-core | +| `NEXT_PUBLIC_CONTRACT_NAME` | Contract name | sprintfund-core-v3 | For mainnet deployment, no environment changes are typically needed. @@ -111,7 +111,7 @@ frontend/ The frontend interacts with the deployed contract: -**Contract**: `SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T.sprintfund-core` +**Contract**: `SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T.sprintfund-core-v3` ### Read-Only Functions - `get-proposal-count()` - Fetch total proposals From 02c3b23fcc2244895f7942aa8364ad23d528fe32 Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 16:42:49 +0100 Subject: [PATCH 04/29] refactor(env): update default contract name in .env.example --- frontend/.env.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/.env.example b/frontend/.env.example index 5b078648..8a335de9 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -11,8 +11,8 @@ NEXT_PUBLIC_NETWORK=mainnet # Deployed contract address NEXT_PUBLIC_CONTRACT_ADDRESS=SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T -# Contract name (optional, defaults to sprintfund-core) -NEXT_PUBLIC_CONTRACT_NAME=sprintfund-core +# Contract name (optional, defaults to sprintfund-core-v3) +NEXT_PUBLIC_CONTRACT_NAME=sprintfund-core-v3 # Stacks API base URL (optional, auto-selected based on network) NEXT_PUBLIC_STACKS_API_URL=https://stacks-node-api.mainnet.stacks.co From 620b8227baa868d1c406befe9ba3e9cebc56f8cf Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 16:43:01 +0100 Subject: [PATCH 05/29] refactor(scripts): update contract name to v3 in stake.js --- scripts/stake.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/stake.js b/scripts/stake.js index 78d54562..c73caf1e 100644 --- a/scripts/stake.js +++ b/scripts/stake.js @@ -38,7 +38,7 @@ async function stakeSTX() { const privateKey = keyResult.key; const contractAddress = 'SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T'; - const contractName = 'sprintfund-core'; + const contractName = 'sprintfund-core-v3'; const stakeAmount = 10000000; console.log('============================================'); From fa686b4819317a556142b59906237ea1b0b64b1e Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 16:43:13 +0100 Subject: [PATCH 06/29] refactor(scripts): update contract name to v3 in create-proposal.js --- scripts/create-proposal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create-proposal.js b/scripts/create-proposal.js index 37baf27d..dd20286f 100644 --- a/scripts/create-proposal.js +++ b/scripts/create-proposal.js @@ -45,7 +45,7 @@ async function createProposal() { const privateKey = keyResult.key; const contractAddress = 'SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T'; - const contractName = 'sprintfund-core'; + const contractName = 'sprintfund-core-v3'; const amount = 50000000; const title = 'Test Proposal 1'; const description = 'Testing SprintFund proposal creation for Builder Rewards program'; From 2cfbc8c2108b09686a392edf9258ab305e3f0e5e Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 17:02:27 +0100 Subject: [PATCH 07/29] refactor(scripts): update contract name to v3 in README examples --- scripts/README.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/scripts/README.md b/scripts/README.md index 4b41404d..ed5263d4 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -193,18 +193,11 @@ Transaction confirmations typically take 10-30 minutes on mainnet. Check your stake balance: ```bash # Using Stacks API -curl "https://api.mainnet.hiro.so/v2/contracts/call-read/SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T/sprintfund-core/get-stake" \ +curl "https://api.mainnet.hiro.so/v2/contracts/call-read/SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T/sprintfund-core-v3/get-stake" \ -H "Content-Type: application/json" \ -d '{"sender":"YOUR_ADDRESS","arguments":["YOUR_ADDRESS_CV"]}' ``` -Or view on explorer: https://explorer.hiro.so/txid/SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T.sprintfund-core''''''''''''''''''''''''''''''''''''''''''''''''''''''''/']' - - - - - - @@ -243,3 +236,4 @@ Or view on explorer: https://explorer.hiro.so/txid/SP31PKQVQZVZCK3FM3NH67CGD6G1F +Or view on explorer: https://explorer.hiro.so/txid/SP31PKQVQZVZCK3FM3NH67CGD6G1FMR17VQVS2W5T.sprintfund-core-v3 From 0f41c8c5c562e77bbc986cf4a60e1651ba5cf0d4 Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Sat, 25 Apr 2026 17:03:48 +0100 Subject: [PATCH 08/29] feat(ui): display active contract version in footer --- frontend/src/components/Footer.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx index 93c69a09..dda6ce3f 100644 --- a/frontend/src/components/Footer.tsx +++ b/frontend/src/components/Footer.tsx @@ -1,3 +1,5 @@ +import { CONTRACT_NAME } from '@/config'; + export function Footer() { return (