Split address_from_seed to expose ExtendedFullViewingKey
This commit is contained in:
parent
a4bfd8b282
commit
fc6c3c6b2b
|
@ -4,9 +4,9 @@ extern crate zip32;
|
||||||
use zcash_client_backend::{
|
use zcash_client_backend::{
|
||||||
address::encode_payment_address, constants::HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST,
|
address::encode_payment_address, constants::HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST,
|
||||||
};
|
};
|
||||||
use zip32::{ChildIndex, ExtendedSpendingKey};
|
use zip32::{ChildIndex, ExtendedFullViewingKey, ExtendedSpendingKey};
|
||||||
|
|
||||||
fn address_from_seed(seed: &[u8]) -> String {
|
fn extfvk_from_seed(seed: &[u8]) -> ExtendedFullViewingKey {
|
||||||
let master = ExtendedSpendingKey::master(seed);
|
let master = ExtendedSpendingKey::master(seed);
|
||||||
let extsk = ExtendedSpendingKey::from_path(
|
let extsk = ExtendedSpendingKey::from_path(
|
||||||
&master,
|
&master,
|
||||||
|
@ -16,7 +16,11 @@ fn address_from_seed(seed: &[u8]) -> String {
|
||||||
ChildIndex::Hardened(0),
|
ChildIndex::Hardened(0),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
let addr = extsk.default_address().unwrap().1;
|
ExtendedFullViewingKey::from(&extsk)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn address_from_extfvk(extfvk: &ExtendedFullViewingKey) -> String {
|
||||||
|
let addr = extfvk.default_address().unwrap().1;
|
||||||
encode_payment_address(HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST, &addr)
|
encode_payment_address(HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST, &addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +34,7 @@ pub mod android {
|
||||||
use self::jni::sys::{jbyteArray, jstring};
|
use self::jni::sys::{jbyteArray, jstring};
|
||||||
use self::jni::JNIEnv;
|
use self::jni::JNIEnv;
|
||||||
|
|
||||||
use super::address_from_seed;
|
use super::{address_from_extfvk, extfvk_from_seed};
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub unsafe extern "C" fn Java_cash_z_wallet_sdk_jni_JniConverter_getAddress(
|
pub unsafe extern "C" fn Java_cash_z_wallet_sdk_jni_JniConverter_getAddress(
|
||||||
|
@ -40,7 +44,7 @@ pub mod android {
|
||||||
) -> jstring {
|
) -> jstring {
|
||||||
let seed = env.convert_byte_array(seed).unwrap();
|
let seed = env.convert_byte_array(seed).unwrap();
|
||||||
|
|
||||||
let addr = address_from_seed(&seed);
|
let addr = address_from_extfvk(&extfvk_from_seed(&seed));
|
||||||
|
|
||||||
let output = env.new_string(addr).expect("Couldn't create Java string!");
|
let output = env.new_string(addr).expect("Couldn't create Java string!");
|
||||||
output.into_inner()
|
output.into_inner()
|
||||||
|
|
Loading…
Reference in New Issue