Skip to content

Write-Stellar-testnet-and-mainnet-deployment-scripts-for-all-AssetsUp-contracts#1015

Merged
yusuftomilola merged 1 commit into
DistinctCodes:mainfrom
favour-GL:feat/Write-Stellar-testnet-and-mainnet-deployment-scripts-for-all-AssetsUp-contracts
Jun 26, 2026
Merged

Write-Stellar-testnet-and-mainnet-deployment-scripts-for-all-AssetsUp-contracts#1015
yusuftomilola merged 1 commit into
DistinctCodes:mainfrom
favour-GL:feat/Write-Stellar-testnet-and-mainnet-deployment-scripts-for-all-AssetsUp-contracts

Conversation

@favour-GL

Copy link
Copy Markdown
Contributor

feat: Soroban deployment scripts, contract ABI docs, assetsup contract scaffold, and auth redirect

This PR closes and three related issues across the contracts and frontend layers.
Deployment scripts (contracts/scripts/) — three bash scripts handle the full contract lifecycle: deploy-testnet.sh auto-generates a keypair, hits Friendbot, builds both contracts, deploys them, calls initialize(admin), and writes contract IDs to contracts/.env.testnet; deploy-mainnet.sh does the same for mainnet but requires STELLAR_DEPLOYER_SECRET to be pre-set and gates execution behind an explicit confirmation prompt; upgrade-contract.sh accepts a contract name and network, uploads the new WASM, and calls upgrade(new_wasm_hash) on the live contract. contracts/README.md is updated with full usage instructions.

Contract interface documentation (contracts/INTERFACE.md, contracts/EVENTS.md, contracts/types/) — INTERFACE.md documents every public function in both contracts with Soroban XDR types, TypeScript equivalents, access control notes, and complete Node.js signing examples using @stellar/stellar-sdk v14.5.0. EVENTS.md covers every emitted event with field types and ready-to-use indexer handler snippets. contracts/types/assetsup.ts and multisig_transfer.ts provide type-safe client classes the NestJS backend (BE-60 – BE-64) can import directly.

contracts/assetsup/ contract — recreates the deleted contracts/opsce/ contract as a complete Soroban workspace member with modules for asset registry, tokenization and detokenization voting, transfer restrictions (whitelist/blacklist/region), dividend distribution, governance proposals, lease management, insurance records, and KYC lifecycle. All functions emit events and enforce owner/admin access control. Unit tests for each module live in src/test.rs.

Home page auth redirect (frontend/app/page.tsx) — on mount, calls loadUser() from the Zustand auth store, shows a loading spinner while the session is being resolved, then redirects to /dashboard if authenticated or /login if not, using router.replace so the transition leaves no history entry and the raw HomePage never flashes.

Closes #938
Closes #992
Closes #993
Closes #990

@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

@favour-GL is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 25, 2026

Copy link
Copy Markdown

@favour-GL Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@yusuftomilola yusuftomilola merged commit a4307b9 into DistinctCodes:main Jun 26, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment