Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
21d77cf
feat(platform-wallet): register limited keys as version 1 keys in cre…
PastaPastaPasta Sep 18, 2026
bc5d0e7
feat(platform-wallet): derive DashPay Connect keys at the DIP-13 sub-…
PastaPastaPasta Sep 18, 2026
7661ae7
feat(platform-wallet-ffi)!: decode any state transition kind in parse…
PastaPastaPasta Sep 18, 2026
97f51a2
feat(sdk)!: DashPay Connect key derivation and decode-any-kind parsin…
PastaPastaPasta Sep 19, 2026
f45002f
refactor(platform-wallet)!: summarize dApp state transitions in platf…
PastaPastaPasta Sep 23, 2026
e188565
test(kotlin-sdk): build the unknown-kind parse blob with the u32 name…
PastaPastaPasta Sep 23, 2026
d3fadae
fix(kotlin-sdk): keep parsed state transition amounts unsigned
PastaPastaPasta Sep 23, 2026
388d374
fix(platform-wallet): show a contract create's group declarations in …
PastaPastaPasta Sep 23, 2026
5aca65e
fix(platform-wallet): escape and bound the details of a state transit…
PastaPastaPasta Sep 23, 2026
e40901d
fix(platform-wallet): leave summary details as the escaped Debug output
PastaPastaPasta Sep 23, 2026
de593e1
refactor(platform-wallet): derive connect keys with key-wallet's DIP-…
PastaPastaPasta Sep 23, 2026
a7ca5c8
docs(platform-wallet): state which connect key sub-feature and purpos…
PastaPastaPasta Sep 23, 2026
16d550a
fix(platform-wallet): charge every detail byte to the budget and repo…
PastaPastaPasta Oct 5, 2026
9f7e9f2
test(platform-wallet-ffi): refuse trailing bytes through the public p…
PastaPastaPasta Oct 5, 2026
db1d112
fix(platform-wallet): summarize v5.0-dev's shielded-pool token rows a…
PastaPastaPasta Oct 5, 2026
eaa08f9
fix(platform-wallet): refuse invalid document-type bounds on an ident…
PastaPastaPasta Oct 14, 2026
7d8a1e4
fix(kotlin-sdk): report an unreadable parsed state transition blob as…
PastaPastaPasta Oct 14, 2026
814c53d
fix(platform-wallet-ffi): refuse invalid document-type bounds in the …
PastaPastaPasta Oct 14, 2026
0657111
refactor(platform-wallet): list every transition kind when deciding w…
PastaPastaPasta Oct 14, 2026
ed34e9e
fix(unified-sdk-jni): overwrite the JVM copy of a connect key when ma…
PastaPastaPasta Oct 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,31 @@ internal object IdentityNative {
keyIndex: Int,
): Array<ByteArray>

/**
* DashPay Connect key derivation at the DIP-13 sub-feature paths
* `m/9'/coin'/5'/<subFeature>'/0'/identityId'/leaf'[/purpose']`
* (dashpay/dips#191). Bridges `dash_sdk_derive_connect_key_with_resolver`,
* a pure resolver-keyed derive like the slot derives above.
*
* @param subFeature 6 (session authentication; [leaf] is the request
* id) or 7 (app encryption; [leaf] is the bound contract's id).
* @param identityId the identity's 32-byte id (a DIP-14 hardened child).
* @param leaf the 32-byte leaf (a DIP-14 hardened child).
* @param purpose 0 with sub-feature 6 (no purpose level), or the half
* of an encryption pair with sub-feature 7: 1 ENCRYPTION,
* 2 DECRYPTION. Any other combination throws.
* @return `[privateKey(32), publicKey(33)]`.
*/
external fun deriveConnectKeyWithResolver(
networkOrd: Int,
walletId: ByteArray,
resolverHandle: Long,
subFeature: Int,
identityId: ByteArray,
leaf: ByteArray,
purpose: Int,
): Array<ByteArray>

/**
* Register a new identity funded from the wallet's Core balance. The
* single FFI entry point the registration coordinator's body invokes.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ package org.dashfoundation.dashsdk.ffi
*/
internal object TransactionsNative {

/**
* Decode any DPP state transition (a `dash-st:` payload or a DashPay
* Connect `sign` request) into the packed big-endian blob documented
* in `rs-unified-sdk-jni/src/parse_state_transition.rs`, decoded by
* [org.dashfoundation.dashsdk.identity.StateTransitionParser.parseBlob].
* Bridges `platform_wallet_parse_state_transition`. Accepts tagged and
* Yappr's tagless framing; never signs or broadcasts. Throws
* [DashSDKException] on undecodable bytes.
*/
external fun parseStateTransition(transitionBytes: ByteArray): ByteArray

/**
* Add public keys and/or disable existing key ids on an identity,
* signing the resulting `IdentityUpdateTransition` via [signerHandle]
Expand Down
Loading
Loading