Skip to content

Commit d462098

Browse files
authored
Merge pull request #1 from nullPointerEnjoyer/initial-sdk
Initial Mintlayer Rust SDK
2 parents 4387941 + 9f9dfc5 commit d462098

67 files changed

Lines changed: 16145 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Changelog
2+
3+
All notable changes to the Mintlayer Rust SDK are documented here.
4+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5+
6+
## [0.1.0] - 2026-09-17
7+
8+
### Added
9+
10+
- `node` sub-client: JSON-RPC 2.0 client for the node daemon with the full
11+
chainstate, mempool, node and P2P surface (including
12+
`p2p_submit_transaction` broadcast).
13+
- `indexer` sub-client: REST client for api-web-server covering chain,
14+
block, transaction, address, pool, delegation, token, NFT, order and
15+
statistics endpoints.
16+
- `wallet` sub-client: JSON-RPC 2.0 client for the wallet daemon covering
17+
management, transactions, staking, tokens and DEX orders.
18+
- `crypto` module: native cryptography and transaction building backed by
19+
mintlayer-core — BIP39/BIP32 key derivation, addresses, timelocks, fees,
20+
id derivation, all input/output constructors, stake pool data, witness
21+
production (standard, HTLC spend/refund single-sig and multisig),
22+
partially signed transactions, size estimation, HTLC secret extraction
23+
and signed transaction intents.
24+
- Umbrella `Client` with a builder that wires the remote sub-clients
25+
together and a `prelude` of shared type re-exports.
26+
- Examples: `send-coins` (native signing flow) and `issue-token` (wallet
27+
daemon flow).
28+
- Wire-format integration tests for every sub-client, and consensus-vector
29+
tests for the crypto module (BIP39 legacy derivations, transaction ids,
30+
fees, timelocks).
31+
32+
### Security
33+
34+
- Basic-auth credentials and mnemonics/passphrases are redacted from `Debug`
35+
output across all client and builder types.
36+
- Daemon response bodies are capped at 64 MiB; HTTP error bodies are
37+
additionally truncated and stripped of control characters.
38+
- JSON-RPC responses must echo the request id.
39+
- Indexer path segments are validated against a safe charset before being
40+
interpolated into request paths.
41+
- The BIP39 seed and passphrase are zeroized on drop.

0 commit comments

Comments
 (0)