StarkPulse is a cutting-edge, decentralized crypto news aggregator and portfolio management platform built on the StarkNet ecosystem. This repository contains the smart contract code that powers the StarkPulse platform.
The StarkPulse contract provides the backbone for secure user authentication, portfolio tracking, transaction monitoring, and decentralized data management. Built with Cairo, it leverages StarkNet's scalability and security to deliver a robust foundation for the StarkPulse ecosystem.
- Secure User Authentication 🔐: Robust user management with password hashing and session control
- Portfolio Tracking System 📊: Track and manage crypto assets with real-time updates
- Transaction Monitoring 🔍: Comprehensive transaction history and status tracking
- Notification Management 📱: Real-time alerts for important portfolio events
- Access Control System 🛡️: Fine-grained permissions and security controls
- Contract Interaction Utilities 🔄: Seamless integration with other StarkNet contracts
- Cairo 2.x: StarkNet's secure smart contract language
- Scarb: Package manager for Cairo projects
- StarkNet: Layer 2 scaling solution for Ethereum
contracts/
├── src/
│ ├── auth/ - User authentication and session management
│ ├── portfolio/ - Portfolio tracking and asset management
│ ├── transactions/ - Transaction monitoring and notifications
│ ├── utils/ - Utility functions and access control
│ └── interfaces/ - Contract interfaces
├── tests/ - Test files for all modules
├── scripts/ - Deployment and verification scripts
├── deployments/ - Deployment addresses for different networks
├── abis/ - Contract ABIs
├── Scarb.toml - Project configuration
└── README.md - Project documentation
- Scarb - Cairo package manager
- StarkNet CLI - For deploying contracts
- Clone the repository:
git clone https://github.com/Pulsefy/starkpulse-contract.git
cd starkpulse-contract- Build the contracts:
scarb build- Run tests:
scarb testUse the deployment scripts in the scripts/ directory:
./scripts/deploy.shThis contract repository powers the StarkPulse frontend application. See the frontend repository for integration details and setup instructions.
We welcome contributions to StarkPulse! Please follow these steps:
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Divineifed1 👨💻
- Cedarich 👨💻
Built with ❤️ by the StarkPulse Team
The StarkPulse contract suite includes advanced simulation tools for pre-deployment testing and contract interaction analysis. These utilities are located in contracts/src/simulation/ and provide:
- Transaction Simulation: Emulate contract calls and predict outcomes before actual execution.
- State Manipulation: Take and restore contract state snapshots, or set state for testing.
- Scenario Orchestration: Define and run sequences of contract interactions to validate complex workflows.
- Result Analysis & Reporting: Capture events, estimate gas, and generate detailed simulation reports.
-
Simulate a Transaction
- Use
simulate_transaction_fullfromtransaction_simulator.cairoto emulate a contract call and get a detailed report.
- Use
-
Manipulate State
- Use
state_manipulator.cairoto snapshot, restore, or set contract state for comprehensive scenario coverage.
- Use
-
Run a Scenario
- Use
scenario_runner.cairoto define a sequence of contract calls and analyze the results for all steps.
- Use
-
View Reports
- Simulation reports include transaction results, events, and gas usage for easy debugging and optimization.
See the contracts/src/simulation/ directory and test files for more detailed examples and integration patterns.