File tree 3 files changed +10
-2
lines changed 3 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ mod hrp_sm {
77
77
} else if [ 'm' , 'u' , 'n' , 'p' ] . contains ( & read_symbol) {
78
78
Ok ( States :: ParseAmountSiPrefix )
79
79
} else {
80
- Err ( super :: ParseError :: MalformedHRP )
80
+ Err ( super :: ParseError :: UnknownSiPrefix )
81
81
}
82
82
} ,
83
83
States :: ParseAmountSiPrefix => Err ( super :: ParseError :: MalformedHRP ) ,
Original file line number Diff line number Diff line change @@ -1059,7 +1059,9 @@ impl Invoice {
1059
1059
match self . signed_invoice . recover_payee_pub_key ( ) {
1060
1060
Err ( secp256k1:: Error :: InvalidRecoveryId ) =>
1061
1061
return Err ( SemanticError :: InvalidRecoveryId ) ,
1062
- Err ( _) => panic ! ( "no other error may occur" ) ,
1062
+ Err ( secp256k1:: Error :: InvalidSignature ) =>
1063
+ return Err ( SemanticError :: InvalidSignature ) ,
1064
+ Err ( e) => panic ! ( "no other error may occur, got {:?}" , e) ,
1063
1065
Ok ( _) => { } ,
1064
1066
}
1065
1067
Original file line number Diff line number Diff line change @@ -163,7 +163,13 @@ fn test_bolt_invaoid_invoices() {
163
163
assert_eq ! ( Invoice :: from_str(
164
164
"LNBC2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny"
165
165
) , Err ( ParseOrSemanticError :: ParseError ( ParseError :: Bech32Error ( bech32:: Error :: MixedCase ) ) ) ) ;
166
+ assert_eq ! ( Invoice :: from_str(
167
+ "lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpuaxtrnwngzn3kdzw5hydlzf03qdgm2hdq27cqv3agm2awhz5se903vruatfhq77w3ls4evs3ch9zw97j25emudupq63nyw24cg27h2rspk28uwq"
168
+ ) , Err ( ParseOrSemanticError :: SemanticError ( SemanticError :: InvalidSignature ) ) ) ;
166
169
assert_eq ! ( Invoice :: from_str(
167
170
"lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6na6hlh"
168
171
) , Err ( ParseOrSemanticError :: ParseError ( ParseError :: TooShortDataPart ) ) ) ;
172
+ assert_eq ! ( Invoice :: from_str(
173
+ "lnbc2500x1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpujr6jxr9gq9pv6g46y7d20jfkegkg4gljz2ea2a3m9lmvvr95tq2s0kvu70u3axgelz3kyvtp2ywwt0y8hkx2869zq5dll9nelr83zzqqpgl2zg"
174
+ ) , Err ( ParseOrSemanticError :: ParseError ( ParseError :: UnknownSiPrefix ) ) ) ;
169
175
}
You can’t perform that action at this time.
0 commit comments