A secure and user-friendly command-line interface for decrypting data stored in the DataEscrow system.
The DataEscrow CLI Decryption Tool provides decryption capabilities for three escrow types:
- DAO Escrow
- Zone Escrow
- Safe Escrow
It offers robust security features, optimized performance, and a straightforward user experience.
- Secure decryption for all escrow types
- Transaction data parsing and validation
- Ephemeral key management
- HMAC verification
- Comprehensive error handling and logging
- Docker container for easy deployment
For DAO Escrow:
bun run decrypt:escrow \
--txHash=0x1234...abcd \
--escrowType=dao \
--escrowPrivateKey=0x1234...abcd \
--network=polygon \
--outputFile=out/dao.jsonFor Safe Escrow (requires ephemeral public key):
bun run decrypt:escrow \
--txHash=0x1234...abcd \
--escrowType=safe \
--escrowPrivateKey=0x1234...abcd \
--network=amoy \
--outputFile=out/safe.json \
--ephemeralPublicKeyX=123...789--txHash: Transaction hash (required)--escrowType: Type of escrow (dao | safe | zone)--escrowPrivateKey: Private key for decryption--network: Network to use (amoy | polygon)--outputFile: Path for the decrypted output--ephemeralPublicKeyX: Required for safe escrow type
The tool follows a secure decryption workflow:
- Parse and validate transaction data
- Extract escrow-specific encrypted messages
- Compute shared keys using ephemeral keys
- Verify HMAC for data integrity
- Decrypt messages and format output
Currently supported transaction types:
- Main transaction
- SwapZAsset transaction
Each escrow type has specific data handling:
- DAO Escrow: Uses derived ephemeral keys
- Zone Escrow: Uses derived ephemeral keys
- Safe Escrow: Uses provided ephemeral public key
- Custom transaction data configuration
- Verbose logging mode
- Data integrity checks
- Progress tracking for long operations
- Core transaction data parsing
- Ephemeral key handling
- HMAC verification
- Basic CLI interface
- reconstruct the transaction data
- Docker support
We welcome contributions! Please check our contribution guidelines before submitting issues or pull requests.
BUSL-1.1 - See LICENSE for details.
Need help?
- Open an issue on our GitLab repository
- Check our documentation