Skip to content
This repository was archived by the owner on May 6, 2024. It is now read-only.

Commit d1037bb

Browse files
authored
Seed password protected (#114)
* Support password for key_derive; * Fix serde default * FFI build fix * Fix json rpc test * Update documentation * Added wasm tests and native tests; * Fix FFI examples
1 parent 7e5117c commit d1037bb

File tree

19 files changed

+123
-25
lines changed

19 files changed

+123
-25
lines changed

docs/jsonrpc/api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Derive a child key from a mnemonic following a [BIP44 path](https://github.com/b
4040
Arguments :
4141
* **mnemonic**: a string containing the words;
4242
* **path**: a BIP44 path;
43+
* **password (optional)**: for encrypted seed;
4344

4445
```javascript
4546
const axios = require("axios");

docs/native/api.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Derive a child key from a mnemonic following a [BIP44 path](https://github.com/b
2020
Arguments :
2121
* **mnemonic**: a string containing the words;
2222
* **path**: a BIP44 path;
23+
* **password**: for encrypted seed if none use an empty string (e.g "")
2324

2425
```rust
2526
use signer::key_derive;
@@ -28,7 +29,7 @@ use bip39::{Mnemonic, MnemonicType, Language};
2829
let mnemonic = Mnemonic::new(MnemonicType::Words12, Language::English);
2930
let path = "m/44'/461'/0/0/1";
3031

31-
let extended_key = key_derive(mnemonic.phrase(), path).unwrap();
32+
let extended_key = key_derive(mnemonic.phrase(), path, "").unwrap();
3233

3334
println!("{:?}", extended_key);
3435
```

docs/wasm/api.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Derive a child key from a mnemonic following a [BIP44 path](https://github.com/b
2525
Arguments :
2626
* **mnemonic**: a string containing the words;
2727
* **path**: a BIP44 path;
28+
* **password**: for encrypted seed if none use an empty string (e.g "")
2829

2930
```javascript
3031
const signer_wasm = require('@zondax/filecoin-signer-wasm');
@@ -35,7 +36,7 @@ const mnemonic = "equip will roof matter pink blind book anxiety banner elbow su
3536

3637
const path = "m/44'/461'/0/0/1";
3738

38-
const keypair = signer_wasm.key_derive(mnemonic, path);
39+
const keypair = signer_wasm.key_derive(mnemonic, path, "");
3940

4041
console.log(keypair);
4142
```

examples/ffi/c++/main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ int main(int argc, char *argv[]) {
99
ExtendedKey *extended_key = filecoin_signer_key_derive(
1010
"equip will roof matter pink blind book anxiety banner elbow sun young",
1111
"m/44'/461'/0/0/0",
12+
"",
1213
error
1314
);
1415

@@ -23,4 +24,4 @@ int main(int argc, char *argv[]) {
2324

2425
filecoin_signer_extended_key_free(extended_key);
2526
filecoin_signer_error_free(error);
26-
}
27+
}

examples/ffi/c/main.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ int main(int argc, char *argv[]) {
99
ExtendedKey *extended_key = filecoin_signer_key_derive(
1010
"equip will roof matter pink blind book anxiety banner elbow sun young",
1111
"m/44'/461'/0/0/0",
12+
"",
1213
error
1314
);
1415

@@ -23,4 +24,4 @@ int main(int argc, char *argv[]) {
2324

2425
filecoin_signer_extended_key_free(extended_key);
2526
filecoin_signer_error_free(error);
26-
}
27+
}

examples/ffi/go/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ func main() {
1313
extended_key := C.filecoin_signer_key_derive(
1414
C.CString("equip will roof matter pink blind book anxiety banner elbow sun young"),
1515
C.CString("m/44'/461'/0/0/0"),
16+
C.CString(""),
1617
error,
1718
);
1819

@@ -29,4 +30,4 @@ func main() {
2930

3031
C.filecoin_signer_extended_key_free(extended_key);
3132
C.filecoin_signer_error_free(error);
32-
}
33+
}

examples/ffi/java/Main.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public static void main(String[] args) {
66
long extendedKey = FilecoinSigner.keyDerive(
77
"equip will roof matter pink blind book anxiety banner elbow sun young",
88
"m/44'/461'/0/0/0",
9+
"",
910
error
1011
);
1112

@@ -20,4 +21,4 @@ public static void main(String[] args) {
2021
FilecoinSigner.extendedKeyFree(extendedKey);
2122
FilecoinSigner.errorFree(error);
2223
}
23-
}
24+
}

examples/ffi/kotlin/Main.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ fun main() {
55
var extendedKey = FilecoinSigner.keyDerive(
66
"equip will roof matter pink blind book anxiety banner elbow sun young",
77
"m/44'/461'/0/0/0",
8+
"",
89
error
910
)
1011

@@ -18,4 +19,4 @@ fun main() {
1819

1920
FilecoinSigner.extendedKeyFree(extendedKey)
2021
FilecoinSigner.errorFree(error)
21-
}
22+
}

examples/ffi/objective-c/main.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ int main(int argc, char *argv[]) {
99
ExtendedKey *extended_key = filecoin_signer_key_derive(
1010
"equip will roof matter pink blind book anxiety banner elbow sun young",
1111
"m/44'/461'/0/0/0",
12+
"",
1213
error
1314
);
1415

@@ -26,4 +27,4 @@ int main(int argc, char *argv[]) {
2627

2728
[pool drain];
2829
return 0;
29-
}
30+
}

examples/ffi/swift/main.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ let error = filecoin_signer_error_new();
22
let extended_key = filecoin_signer_key_derive(
33
"equip will roof matter pink blind book anxiety banner elbow sun young",
44
"m/44'/461'/0/0/0",
5+
"",
56
error
67
);
78

@@ -16,4 +17,4 @@ else {
1617
}
1718

1819
filecoin_signer_extended_key_free(extended_key);
19-
filecoin_signer_error_free(error);
20+
filecoin_signer_error_free(error);

0 commit comments

Comments
 (0)