Skip to content

Commit 351b635

Browse files
committed
feat: add .npmignore, CHANGELOG.md, and SECURITY.md; update package.json with metadata and keywords
1 parent fdd31f4 commit 351b635

File tree

4 files changed

+432
-1
lines changed

4 files changed

+432
-1
lines changed

.npmignore

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Source files
2+
src/
3+
test/
4+
tests/
5+
6+
# Development files
7+
.env
8+
.env.*
9+
*.env
10+
.envrc
11+
12+
# Build and development tools
13+
rollup.config.js
14+
jest.config.js
15+
tsconfig.json
16+
.eslintrc.json
17+
.prettierrc.json
18+
.lintstagedrc.json
19+
20+
# Documentation source
21+
docs/
22+
*.md
23+
!README.md
24+
!LICENSE
25+
26+
# Examples and demos
27+
examples/
28+
29+
# Git and CI
30+
.git/
31+
.github/
32+
.gitignore
33+
.gitattributes
34+
35+
# IDE and editor files
36+
.idea/
37+
.vscode/
38+
*.swp
39+
*.swo
40+
*~
41+
42+
# OS generated files
43+
.DS_Store
44+
.DS_Store?
45+
._*
46+
.Spotlight-V100
47+
.Trashes
48+
ehthumbs.db
49+
Thumbs.db
50+
51+
# Dependencies
52+
node_modules/
53+
54+
# Logs
55+
logs/
56+
*.log
57+
npm-debug.log*
58+
yarn-debug.log*
59+
yarn-error.log*
60+
lerna-debug.log*
61+
62+
# Coverage and test results
63+
coverage/
64+
.nyc_output/
65+
junit.xml
66+
67+
# Temporary files
68+
tmp/
69+
temp/
70+
.tmp/
71+
72+
# Package managers
73+
yarn.lock
74+
package-lock.json
75+
pnpm-lock.yaml
76+
77+
# Development scripts
78+
scripts/
79+
tools/
80+
81+
# Backup files
82+
*.bak
83+
*.backup
84+
*.old
85+
86+
# Local configuration
87+
.env.local
88+
.env.development.local
89+
.env.test.local
90+
.env.production.local

CHANGELOG.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# Changelog
2+
3+
All notable changes to the Vocdoni DaVinci SDK will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Initial public release preparation
12+
- Complete TypeScript SDK for Vocdoni DaVinci protocol
13+
- Support for both MerkleTree and CSP census types
14+
- Comprehensive examples (script and UI)
15+
- Full test coverage with unit and integration tests
16+
17+
## [0.0.1] - 2024-12-01
18+
19+
### Added
20+
- **Core SDK Features**
21+
- Complete DaVinci SDK implementation with TypeScript support
22+
- Process creation and management capabilities
23+
- Vote submission with homomorphic encryption
24+
- Census creation and management (MerkleTree and CSP)
25+
- Smart contract integration for Ethereum networks
26+
- Support for Sepolia testnet and Ethereum mainnet
27+
28+
- **API Services**
29+
- Sequencer API client for vote processing
30+
- Census API client for participant management
31+
- Base API service with error handling and retries
32+
- Comprehensive type definitions
33+
34+
- **Cryptographic Features**
35+
- Homomorphic encryption for vote privacy
36+
- zk-SNARK proof generation and verification
37+
- Circom circuit integration
38+
- CSP (Census Service Provider) signature support
39+
40+
- **Developer Experience**
41+
- Complete TypeScript definitions
42+
- ESM and CommonJS module support
43+
- Browser and Node.js compatibility
44+
- Comprehensive JSDoc documentation
45+
- Multiple bundle formats (UMD, ES modules, CommonJS)
46+
47+
- **Examples and Documentation**
48+
- Script example with complete voting workflow
49+
- React UI example with wallet integration
50+
- Comprehensive README with usage examples
51+
- API reference documentation
52+
- Contributing guidelines
53+
54+
- **Testing Infrastructure**
55+
- Unit tests for all core functionality
56+
- Integration tests with real network interactions
57+
- Jest test framework setup
58+
- Test utilities and helpers
59+
60+
- **Build and Development**
61+
- Rollup build configuration for multiple formats
62+
- TypeScript compilation with strict mode
63+
- ESLint and Prettier configuration
64+
- Automated formatting and linting
65+
- Git hooks for code quality
66+
67+
- **Quality Assurance**
68+
- Comprehensive error handling
69+
- Input validation and sanitization
70+
- Network timeout and retry logic
71+
- Memory-efficient proof generation
72+
73+
### Technical Details
74+
- **Dependencies**
75+
- ethers.js v6 for Ethereum interactions
76+
- axios for HTTP requests
77+
- snarkjs for zk-SNARK operations
78+
- @vocdoni/davinci-contracts for smart contract ABIs
79+
80+
- **Supported Networks**
81+
- Ethereum Sepolia testnet
82+
- Ethereum mainnet
83+
- Custom network configuration support
84+
85+
- **Supported Environments**
86+
- Node.js 16+
87+
- Modern browsers (Chrome, Firefox, Safari, Edge)
88+
- React applications
89+
- Vue.js applications
90+
- Vanilla JavaScript/TypeScript projects
91+
92+
### Known Issues
93+
- None at initial release
94+
95+
---
96+
97+
## Release Notes
98+
99+
### Version 0.0.1 - Initial Release
100+
101+
This is the first public release of the Vocdoni DaVinci SDK, providing a complete TypeScript interface for building decentralized voting applications on the Vocdoni DaVinci protocol.
102+
103+
**Key Features:**
104+
- 🔒 **Privacy-First**: Homomorphic encryption ensures vote privacy
105+
- 🛡️ **Secure**: Built on battle-tested cryptographic primitives
106+
-**Easy Integration**: Simple, intuitive API for developers
107+
- 🌐 **Decentralized**: No central authority controls the voting process
108+
- 📱 **Cross-Platform**: Works in browsers, Node.js, and mobile apps
109+
- 🔧 **TypeScript**: Full type safety and excellent developer experience
110+
111+
**Getting Started:**
112+
```bash
113+
npm install @vocdoni/davinci-sdk ethers
114+
```
115+
116+
See the [README](README.md) for complete usage examples and API documentation.
117+
118+
**Breaking Changes:** N/A (initial release)
119+
120+
**Migration Guide:** N/A (initial release)
121+
122+
---
123+
124+
## Contributing
125+
126+
When contributing to this project, please:
127+
128+
1. Follow the [Contributing Guidelines](CONTRIBUTING.md)
129+
2. Update this CHANGELOG with your changes
130+
3. Use the format described in [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
131+
4. Group changes by type: Added, Changed, Deprecated, Removed, Fixed, Security
132+
133+
## Links
134+
135+
- [GitHub Repository](https://github.com/vocdoni/davinci-sdk)
136+
- [npm Package](https://www.npmjs.com/package/@vocdoni/davinci-sdk)
137+
- [Documentation](https://docs.vocdoni.io)
138+
- [Issue Tracker](https://github.com/vocdoni/davinci-sdk/issues)

0 commit comments

Comments
 (0)