11//! Module that contains known test keys.
22
3- // TODO: Should be derived from seeds once implemented in the Rust version.
4-
53/// Define an ed25519 test key.
64macro_rules! test_key_ed25519 {
7- ( $doc: expr, $name: ident, $pk : expr) => {
5+ ( $doc: expr, $name: ident, $seed : expr) => {
86 #[ doc = " Test key " ]
97 #[ doc=$doc]
108 #[ doc = "." ]
119 pub mod $name {
1210 use crate :: {
13- crypto:: signature:: { ed25519, PublicKey } ,
11+ core:: common:: crypto:: hash:: Hash ,
12+ crypto:: signature:: { ed25519, PublicKey , Signer } ,
1413 types:: address:: { Address , SignatureAddressSpec } ,
1514 } ;
1615
16+ #[ doc = " Test Ed25519 signer " ]
17+ #[ doc=$doc]
18+ #[ doc = "." ]
19+ pub fn signer( ) -> ed25519:: MemorySigner {
20+ let seed = Hash :: digest_bytes( $seed. as_bytes( ) ) ;
21+ ed25519:: MemorySigner :: new_from_seed( seed. as_ref( ) ) . unwrap( )
22+ }
23+
1724 #[ doc = " Test public key " ]
1825 #[ doc=$doc]
1926 #[ doc = "." ]
2027 pub fn pk( ) -> PublicKey {
21- PublicKey :: Ed25519 ( pk_ed25519 ( ) )
28+ signer ( ) . public_key ( )
2229 }
2330
2431 #[ doc = " Test Ed25519 public key " ]
2532 #[ doc=$doc]
2633 #[ doc = "." ]
2734 pub fn pk_ed25519( ) -> ed25519:: PublicKey {
28- $pk. into( )
35+ if let PublicKey :: Ed25519 ( pk) = pk( ) {
36+ pk
37+ } else {
38+ unreachable!( )
39+ }
2940 }
3041
3142 #[ doc = " Test address derivation information " ]
@@ -47,28 +58,41 @@ macro_rules! test_key_ed25519 {
4758
4859/// Define a secp256k1 test key.
4960macro_rules! test_key_secp256k1 {
50- ( $doc: expr, $name: ident, $pk : expr) => {
61+ ( $doc: expr, $name: ident, $seed : expr) => {
5162 #[ doc = " Test key " ]
5263 #[ doc=$doc]
5364 #[ doc = "." ]
5465 pub mod $name {
5566 use crate :: {
56- crypto:: signature:: { secp256k1, PublicKey } ,
67+ core:: common:: crypto:: hash:: Hash ,
68+ crypto:: signature:: { secp256k1, PublicKey , Signer } ,
5769 types:: address:: { Address , SignatureAddressSpec } ,
5870 } ;
5971
72+ #[ doc = " Test Secp256k1 signer " ]
73+ #[ doc=$doc]
74+ #[ doc = "." ]
75+ pub fn signer( ) -> secp256k1:: MemorySigner {
76+ let seed = Hash :: digest_bytes( $seed. as_bytes( ) ) ;
77+ secp256k1:: MemorySigner :: new_from_seed( seed. as_ref( ) ) . unwrap( )
78+ }
79+
6080 #[ doc = " Test public key " ]
6181 #[ doc=$doc]
6282 #[ doc = "." ]
6383 pub fn pk( ) -> PublicKey {
64- PublicKey :: Secp256k1 ( pk_secp256k1 ( ) )
84+ signer ( ) . public_key ( )
6585 }
6686
6787 #[ doc = " Test Secp256k1 public key " ]
6888 #[ doc=$doc]
6989 #[ doc = "." ]
7090 pub fn pk_secp256k1( ) -> secp256k1:: PublicKey {
71- $pk. into( )
91+ if let PublicKey :: Secp256k1 ( pk) = pk( ) {
92+ pk
93+ } else {
94+ unreachable!( )
95+ }
7296 }
7397
7498 #[ doc = " Test address derivation information " ]
@@ -90,28 +114,41 @@ macro_rules! test_key_secp256k1 {
90114
91115/// Define an sr25519 test key.
92116macro_rules! test_key_sr25519 {
93- ( $doc: expr, $name: ident, $pk : expr) => {
117+ ( $doc: expr, $name: ident, $seed : expr) => {
94118 #[ doc = " Test key " ]
95119 #[ doc=$doc]
96120 #[ doc = "." ]
97121 pub mod $name {
98122 use crate :: {
99- crypto:: signature:: { sr25519, PublicKey } ,
123+ core:: common:: crypto:: hash:: Hash ,
124+ crypto:: signature:: { sr25519, PublicKey , Signer } ,
100125 types:: address:: { Address , SignatureAddressSpec } ,
101126 } ;
102127
128+ #[ doc = " Test Sr25519 signer " ]
129+ #[ doc=$doc]
130+ #[ doc = "." ]
131+ pub fn signer( ) -> sr25519:: MemorySigner {
132+ let seed = Hash :: digest_bytes( $seed. as_bytes( ) ) ;
133+ sr25519:: MemorySigner :: new_from_seed( seed. as_ref( ) ) . unwrap( )
134+ }
135+
103136 #[ doc = " Test public key " ]
104137 #[ doc=$doc]
105138 #[ doc = "." ]
106139 pub fn pk( ) -> PublicKey {
107- PublicKey :: Sr25519 ( pk_sr25519 ( ) )
140+ signer ( ) . public_key ( )
108141 }
109142
110143 #[ doc = " Test Sr25519 public key " ]
111144 #[ doc=$doc]
112145 #[ doc = "." ]
113146 pub fn pk_sr25519( ) -> sr25519:: PublicKey {
114- $pk. into( )
147+ if let PublicKey :: Sr25519 ( pk) = pk( ) {
148+ pk
149+ } else {
150+ unreachable!( )
151+ }
115152 }
116153
117154 #[ doc = " Test address derivation information " ]
@@ -131,10 +168,10 @@ macro_rules! test_key_sr25519 {
131168 } ;
132169}
133170
134- test_key_ed25519 ! ( "A" , alice, "NcPzNW3YU2T+ugNUtUWtoQnRvbOL9dYSaBfbjHLP1pE= " ) ;
135- test_key_ed25519 ! ( "B" , bob, "YgkEiVSR4SMQdfXw+ppuFYlqH0seutnCKk8KG8PyAx0= " ) ;
136- test_key_ed25519 ! ( "C" , charlie, "8l1AQE+ETOPLckiNJ7NOD+AfZdaPw6wguir/vSF11YI= " ) ;
137- test_key_secp256k1 ! ( "D" , dave, "AwF6GNjbybMzhi3XRj5R1oTiMMkO1nAwB7NZAlH1X4BE " ) ;
138- test_key_secp256k1 ! ( "E" , erin, "A9i0oSK+5sLSONbMYGmaFUA+Fb8zzqYEMUMspacIgO09 " ) ;
139- test_key_sr25519 ! ( "F" , frank, "ljm9ZwdAldhlyWM2B4C+3gQZis+ceaxnt6QA4rOcP0k= " ) ;
140- test_key_sr25519 ! ( "G" , grace, "0MHrNhjVTOFWmsOgpWcC3L8jIX3ZatKr0/yxMPtwckc= " ) ;
171+ test_key_ed25519 ! ( "A" , alice, "oasis-runtime-sdk/test-keys: alice " ) ;
172+ test_key_ed25519 ! ( "B" , bob, "oasis-runtime-sdk/test-keys: bob " ) ;
173+ test_key_ed25519 ! ( "C" , charlie, "oasis-runtime-sdk/test-keys: charlie " ) ;
174+ test_key_secp256k1 ! ( "D" , dave, "oasis-runtime-sdk/test-keys: dave " ) ;
175+ test_key_secp256k1 ! ( "E" , erin, "oasis-runtime-sdk/test-keys: erin " ) ;
176+ test_key_sr25519 ! ( "F" , frank, "oasis-runtime-sdk/test-keys: frank " ) ;
177+ test_key_sr25519 ! ( "G" , grace, "oasis-runtime-sdk/test-keys: grace " ) ;
0 commit comments