Releases: dashpay/platform
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...
Dash Platform v2.0.0-rc.18
What's Changed
- chore: remove unused token meta schema and references by @thephez in #2677
- chore: update js dependencies to latest versions by @QuantumExplorer in #2678
- fix(platform)!: properly use withdrawal system data contract. by @QuantumExplorer in #2675
- feat: replace diskusage with diskusage-ng for improved functionality by @QuantumExplorer in #2680
Full Changelog: v2.0.0-rc.16...v2.0.0-rc.18
Dash Platform v2.0.0-rc.17
What's Changed
- chore(platform): remove dash devs discord from readme by @pshenmic in #2668
- feat(sdk): fetch token contract info by @pauldelucia in #2670
- ci: add gRPC coverage check and cache management by @QuantumExplorer in #2667
- chore: update minimatch to version 9.0.5 and brace-expansion to version 2.0.2 by @QuantumExplorer in #2672
- feat(dpp): add detailed interval evaluation explanation functionality by @QuantumExplorer in #2662
- fix(drive-abci): fixed issue with adding a key with contract bounds by @QuantumExplorer in #2673
Full Changelog: v2.0.0-rc.16...v2.0.0-rc.17
Dash Platform v2.0.0-rc.16
What's Changed
- feat(platform): add finalized epoch infos query and proof functionality by @QuantumExplorer in #2665
Full Changelog: v2.0.0-rc.15...v2.0.0-rc.16
Dash Platform v2.0.0-rc.15
What's Changed
- feat(dpp)!: add marketplace rules accessor to token configuration by @QuantumExplorer in #2651
- docs: add CLAUDE.md for development guidance by @QuantumExplorer in #2652
- fix(platform): npm audit security for tar-fs by @pshenmic in #2656
- fix: fixes issue #2653 Cannot decode DataContractCreateV1 with WASM-DPP by @QuantumExplorer in #2654
- feat(dpp): export more token transition fields by @pshenmic in #2655
- feat(sdk)!: make document state transition entropy optional, will do a replace if revision is not 1. by @QuantumExplorer in #2658
- feat(sdk): add sdk wrappers for easily pushing document transitions for create, delete, purchase, replace, set price, and transfer to platform by @QuantumExplorer in #2659
- feat(sdk): improve token state transition functionalities in rs-sdk by @QuantumExplorer in #2657
- fix(platform): resolve direct purchase from self issue causing chain stall by @QuantumExplorer in #2663
Full Changelog: v2.0.0-rc.14...v2.0.0-rc.15
Dash Platform v2.0.0-rc.14
What's Changed
- feat(dpp): add validation for minimum group member count by @QuantumExplorer in #2646
- feat(dpp)!: set minimum intervals for perpetual distribution by @QuantumExplorer in #2622
- feat(dpp): don't require a destination identity to be set if you can never mint by @QuantumExplorer in #2647
- test(drive): add test for invalid owner on document delete by @pauldelucia in #2643
- feat(sdk): add DataContractMismatch enum for detailed contract comparison by @QuantumExplorer in #2648
Full Changelog: v2.0.0-rc.13...v2.0.0-rc.14
Dash Platform v2.0.0-rc.13
What's Changed
- feat(platform): add token contract info and query by @QuantumExplorer in #2641
- fix(drive): proved identity update was giving error by @QuantumExplorer in #2642
- fix(dpp): unclear error message for missing document types if no tokens defined by @pauldelucia in #2639
- fix(platform)!: load data contracts in their respective versions by @QuantumExplorer in #2644
Full Changelog: v2.0.0-rc.12...v2.0.0-rc.13
Dash Platform v2.0.0-rc.12
What's Changed
- fix(dpp): missing tags on Groups needed for deserialization by @pauldelucia in #2624
- fix(platform): fix evonode distribution for token perpetual distribution (part 1) by @QuantumExplorer in #2623
- test(drive-abci): add tests for epoch-based token distribution for evonodes by @QuantumExplorer in #2626
- fix(dashmate): sync max-tx-bytes between tenderdash and drive by @lklimek in #2625
- feat(dpp)!: disable changes to perpetual distribution in token configuration by @QuantumExplorer in #2627
- fix(dpp): allow changing main control group for token configuration by @QuantumExplorer in #2628
- fix(platform): resolved grovedb error during signing group action finalization on check tx by @QuantumExplorer in #2629
- feat(sdk): add token payment info to put_document by @pauldelucia in #2630
- fix(platform): ensure document types only target valid tokens for token payments by @QuantumExplorer in #2631
- fix(platform): paying for a document action with tokens where tokens would be transferred to yourself as contract owner was breaking by @QuantumExplorer in #2633
- fix(drive): ignore time based update fields in proof verification of data contract updates by @QuantumExplorer in #2634
- feat(dpp): add marketplace rules to token configuration by @QuantumExplorer in #2635
- fix(dpp): correct stepwise distribution logic in evaluate.rs by @QuantumExplorer in #2636
Full Changelog: v2.0.0-rc.11...v2.0.0-rc.12