Releases: dashpay/platform
Dash Platform v2.1.0-dev.8
⚠ BREAKING CHANGES
- platform: creator id and improved verification of document uniqueness before insertion (#2790)
Features
- platform: creator id and improved verification of document uniqueness before insertion (#2790)
- sdk: expose data contract from json (#2791)
Bug Fixes
- dashmate: consensus params in dashmate different than on testnet (#2682)
- sdk: wasm is not initialized for some methods (#2792)
Miscellaneous Chores
- script to backup and restore state
Dash Platform v2.1.0-dev.7
Bug Fixes
- sdk: wasm sdk is not initialized for static methods (#2788)
Dash Platform v2.1.0-dev.6
Dash Platform v2.1.0-dev.5
Dash Platform v2.1.0-dev.4
⚠ BREAKING CHANGES
- wasm-sdk: handle identity create transition signing for all types of keys (#2754)
- wasm-sdk: remove unused key_id parameters from state transitions (#2759)
- sdk: provide all getStatus info (#2729)
Features
- add tests for new token transitions
- evo sdk (#2771)
- sdk: epic: rs-sdk-ffi and ios support (#2756)
- sdk: provide all getStatus info (#2729)
- wasm-sdk: implement four missing token transitions
- wasm-sdk: remove unused key_id parameters from state transitions (#2759)
Bug Fixes
- sdk: fix generate docs (#2730)
- sdk: js sdk audit warnings by adding crypto-related dependencies to package.json (#2757)
- wasm-sdk: handle identity create transition signing for all types of keys (#2754)
- wasm-sdk: address compiler warnings (#2734)
- wasm-sdk: connect where and orderBy clause functionality for getDocuments (#2753)
- wasm-sdk: enable proofs for getContestedResourceVotersForIdentity (#2732)
- wasm-sdk: fix nft transitions (#2751)
- wasm-sdk: resolve CI test failures and build issues (#2765)
- wasm-sdk: resolve test failures and optimize CI workflow (#2735)
- wasm-sdk: use identity contract nonce for data contract updates (#2738)
Tests
- sdk: expand wasm-sdk page UI testing (#2720)
- wasm-sdk: add ui tests for almost all state transitions (#2739)
Miscellaneous Chores
- add wasm-sdk as scope for pr linting (#2731)
- clean dpp clippy (#2764)
- drive: fix drive linting (#2763)
- sdk clippy issues (#2767)
- update yarn cache with new dependencies (#2758)
- wasm-sdk: apply cargo fmt and cleanup (#2766)
Code Refactoring
- sdk: wasm-sdk doc generation refactor (#2726)
- swift sdk fixes (#2772)
- wasm-sdk: improve documentation generation maintainability (#2773)
Continuous Integration
Build System
Dash Platform v2.1.0-dev.3
This release includes rs-dapi with build issues fixed.
Dash Platform v2.1.0-dev.2
Development release with rs-dapi
Dash Platform v2.1.0-dev.1
What's Changed
Full Changelog: v2.0.1...v2.1.0-dev.1
Dash Platform v2.0.1
Emergency Upgrade Patch
We’ve identified a critical issue in v2.0.0 involving duplicate contract IDs across two system data contracts. This is a serious integrity issue that could lead to data corruption and contract collisions, but not a chain stall, as evidenced by Testnet. While fixing this later on could be technically possible it would be very time consuming and would lead to a degraded mobile experience until 2.1. We have decided instead to patch this issue and release an emergency upgrade to v2.0.1
What's Changed
- fix(platform)!: update keyword search contract ID and owner ID bytes by @QuantumExplorer in #2693
Full Changelog: v2.0.0...v2.0.1
Dash Platform v2.0.0
Dash Platform 2.0 Product Brief
Executive Summary
Dash Platform 2.0 represents a transformative release that introduces comprehensive token infrastructure to the decentralized application ecosystem. This major update enables developers to create, manage, and distribute custom tokens on the Dash network while maintaining the platform's commitment to security, decentralization, and performance. With support for multiple tokens per contract and advanced distribution mechanisms, Platform 2.0 opens new possibilities for DeFi applications, loyalty programs, governance tokens, and digital asset management.
Key Features and Capabilities
1. Comprehensive Token System
Platform 2.0 introduces a full-featured token system that rivals established blockchain platforms:
-
Multi-Token Support: Each data contract can define many unique tokens, enabling complex multi-asset applications
-
Flexible Configuration: Tokens support customizable properties including:
- Supply management (base supply and maximum supply limits)
- Transferability controls
- Localization support with singular/plural naming conventions
- Decimal precision configuration
- Optional transaction history tracking
-
Advanced State Transitions: Comprehensive token operations including:
- Minting and burning mechanisms
- Secure transfers with optional encrypted notes
- Account freezing/unfreezing capabilities
- Emergency pause/resume controls
- Direct purchase functionality with configurable pricing
2. Token Distribution Systems
Platform 2.0 offers sophisticated token distribution mechanisms for various use cases:
- Pre-Programmed Distribution: Schedule token releases based on time intervals or specific conditions
- Perpetual Distribution: Ongoing distribution models with mathematical functions:
- Linear distribution for steady release rates
- Logarithmic distribution for front-loaded releases
- Reciprocal distribution for decreasing release rates
- Flexible Recipients: Distribute to contract owners, specific identities, or masternodes based on participation
3. Enhanced Security and Control
Security remains paramount with multiple layers of protection:
- Multi-Level Permissions: Fine-grained control over who can perform token operations.
- Emergency Controls: Pause/resume capabilities for handling security incidents. Data contracts can decide to include this feature or not.
- Frozen Funds Management: Complete lifecycle management for compromised accounts. Data contracts can decide to include this feature or not.
- Cryptographic Proofs: All token balances and operations are verifiable through cryptographic proofs.
4. Developer Experience Improvements
Platform 2.0 significantly enhances the developer experience:
- Comprehensive APIs: New gRPC endpoints for all token operations
- SDK Enhancements: Simplified interfaces for token creation and management
- Rich Query Capabilities: Advanced querying for token statuses, balances, and distribution information
Use Cases and Applications
Platform 2.0's token infrastructure enables a wide range of applications. While Dash Platform doesn't currently support smart contracts, the robust token system and client-side logic can power many use cases:
- Basic DeFi Applications: Create simple token swaps and distribution mechanisms (more complex DeFi protocols would require smart contract support)
- Loyalty Programs: Issue and manage reward tokens for customer engagement with distribution rules
- Governance Tokens: Implement basic voting mechanisms through token ownership (complex DAO logic would need client-side implementation)
- Gaming Assets: Create in-game currencies and tradeable items with transfer controls
- Real-World Asset Tokenization: Represent physical assets as digital tokens with transfer restrictions
- Social Tokens: Enable creator economies and community tokens with distribution schedules
Future Roadmap
While Platform 2.0 delivers comprehensive token infrastructure, the foundation is set for targeted enhancements:
Version 2.1 - SDK Enhancement Focus
- Expanded SDK Capabilities: Comprehensive tooling for all token operations
- Improved Developer Experience: Streamlined interfaces and better documentation
- Enhanced Client Libraries: Support for more programming languages and frameworks
- Advanced Query Patterns: Sophisticated data retrieval and filtering options
Version 2.2 - Marketplace Features
- Full Token Marketplace: Complete trading functionality with order books and matching
- Advanced Trading Features: Limit orders, market orders, and trading history
- Cross-Contract Token Swaps: Direct token-to-token exchanges
- Liquidity Pools: Basic automated market maker functionality
Beyond 2.2
- Smart Contract Support: Enable complex DeFi protocols and automated logic
- Layer 2 Scaling Solutions: Improved throughput for high-volume applications
- Advanced DeFi Primitives: Building blocks for lending, borrowing, and yield generation
Final words
Dash Platform 2.0 represents a major leap forward in decentralized application capabilities. By introducing a comprehensive token system with advanced distribution mechanisms, robust security features, and developer-friendly tools, Platform 2.0 positions Dash as a competitive platform for building the next generation of decentralized applications. Whether creating simple loyalty tokens or complex DeFi protocols, developers now have the tools they need to bring their vision to life on Dash Platform.
What's Changed
- build!: optimize for x86-64-v3 cpu microarchitecture (Haswell+) by @lklimek in #2374
- feat(platform)!: token base support by @QuantumExplorer in #2383
- fix(dpp)!: wrapping overflow issue by @QuantumExplorer in #2430
- feat(platform): proof verification for many queries and a few more queries by @QuantumExplorer in #2431
- feat: group queries by @QuantumExplorer in #2432
- feat: get proofs for tokens by @QuantumExplorer in #2433
- feat(platform)!: improved token validation and token config update transition by @QuantumExplorer in #2435
- chore: dapi grpc queries by @QuantumExplorer in #2437
- feat(platform)!: enhance token configuration and validation mechanisms by @QuantumExplorer in #2439
- chore: ignore deprecated
lodash.get
by @shumkov in #2441 - chore(platform): make bls sig compatibility an optional feature by @QuantumExplorer in #2440
- feat(dpp): extra methods for state transitions in wasm by @pshenmic in #2401
- feat: add token transitions to SDK and DAPI by @shumkov in #2434
- feat(dpp): token distribution model by @QuantumExplorer in #2447
- fix(dpp): invalid feature flag instructions by @shumkov in #2448
- feat(platform): token distribution part two by @QuantumExplorer in #2450
- fix: proof result error for credit transfers in sdk by @pauldelucia in #2451
- ci: use github-hosted arm runner for release workflow by @shumkov in #2452
- build: bump Alpine version to 3.21 by @lklimek in #2074
- fix: wrong order of parameters in UnauthorizedTokenActionError by @pauldelucia in #2456
- feat(sdk): add option to request all keys by @pshenmic in #2445
- feat(platform)!: token support [WIP] by @QuantumExplorer in #2428
- fix: check if token is paused on token transfers by @pauldelucia in #2458
- fix(dpp): invalid imports and tests by @shumkov in #2459
- test: fix
fetchProofForStateTransition
tests and warnings by @shumkov in #2460 - chore(platform): npm audit fix by @pshenmic in #2463
- feat(dpp): extra methods for state transitions in wasm by @pshenmic in #2462
- fix(sdk)!: bigint for uint64 values by @pshenmic in #2443
- fix: xss vulnerability in mocha by @shumkov in #2469
- test: fix token history contract tests by @shumkov in #2470
- feat(sdk): return state transition execution error by @shumkov in #2454
- fix: destroy frozen funds used wrong identity and proof verification by @pauldelucia in #2467
- fix(dpp): invalid feature flag usage by @shumkov in #2477
- test: fix slowdown of JS SDK unit tests by @shumkov in #2475
- fix: token already paused unpaused and frozen validation by @pauldelucia in #2466
- feat: wasm sdk build proof-of-concept by @lklimek in #2405
- build: bump rust version to 1.85 by @pshenmic in #2480
- chore: merge master and resolve conflict...