Unified Address support #8

Merged
pitmutt merged 61 commits from dev18 into master 2023-10-28 12:24:28 +00:00
3 changed files with 24 additions and 20 deletions
Showing only changes of commit a2654a6f01 - Show all commits

View file

@ -1176,8 +1176,9 @@ routes pipe config = do
case cast' . Doc =<< u of case cast' . Doc =<< u of
Nothing -> status unauthorized401 Nothing -> status unauthorized401
Just u' -> do Just u' -> do
if isValidSaplingViewingKey qBytes if isValidSaplingViewingKey $ C.pack q
then if matchSaplingAddress then do
if matchSaplingAddress
qBytes qBytes
(bytes . decodeBech32 . C.pack . T.unpack $ uaddress u') (bytes . decodeBech32 . C.pack . T.unpack $ uaddress u')
then do then do

View file

@ -157,7 +157,7 @@ pMsg = do
pMemo :: Parser MemoToken pMemo :: Parser MemoToken
pMemo = do pMemo = do
optional $ some spaceChar optional $ some spaceChar
t <- pSession <|> pSaplingAddress <|> pMsg t <- pSession <|> pSaplingAddress <|> pUnifiedAddress <|> pMsg
optional $ some spaceChar optional $ some spaceChar
return t return t

View file

@ -101,8 +101,9 @@ main = do
case m of case m of
Left e -> putStrLn $ errorBundlePretty e Left e -> putStrLn $ errorBundlePretty e
Right m' -> Right m' ->
m_session m' `shouldBe` m_address m' `shouldBe`
U.fromString "5d3d4494-51c0-432d-8495-050419957aea" Just
"u17n7hpwaujyq7ux8f9jpyymtnk5urw7pyrf60smp5mawy7jgz325hfvz3jn3zsfya8yxryf9q7ldk8nu8df0emra5wne28zq9d9nm2pu4x6qwjha565av9aze0xgujgslz74ufkj0c0cylqwjyrh9msjfh7jzal6d3qzrnhkkqy3pqm8j63y07jxj7txqeac982778rmt64f32aum94x"
it "parse YWallet memo - Orchard" $ do it "parse YWallet memo - Orchard" $ do
let m = let m =
runParser runParser
@ -112,8 +113,9 @@ main = do
case m of case m of
Left e -> putStrLn $ errorBundlePretty e Left e -> putStrLn $ errorBundlePretty e
Right m' -> Right m' ->
m_session m' `shouldBe` m_address m' `shouldBe`
U.fromString "ad8477d3-4fdd-4c97-90b2-76630b5f77e1" Just
"u17n7hpwaujyq7ux8f9jpyymtnk5urw7pyrf60smp5mawy7jgz325hfvz3jn3zsfya8yxryf9q7ldk8nu8df0emra5wne28zq9d9nm2pu4x6qwjha565av9aze0xgujgslz74ufkj0c0cylqwjyrh9msjfh7jzal6d3qzrnhkkqy3pqm8j63y07jxj7txqeac982778rmt64f32aum94x"
it "parse Zingo memo - Orchard" $ do it "parse Zingo memo - Orchard" $ do
let m = let m =
runParser runParser
@ -123,8 +125,9 @@ main = do
case m of case m of
Left e -> putStrLn $ errorBundlePretty e Left e -> putStrLn $ errorBundlePretty e
Right m' -> Right m' ->
m_session m' `shouldBe` m_address m' `shouldBe`
U.fromString "5d3d4494-51c0-432d-8495-050419957aea" Just
"u17n7hpwaujyq7ux8f9jpyymtnk5urw7pyrf60smp5mawy7jgz325hfvz3jn3zsfya8yxryf9q7ldk8nu8df0emra5wne28zq9d9nm2pu4x6qwjha565av9aze0xgujgslz74ufkj0c0cylqwjyrh9msjfh7jzal6d3qzrnhkkqy3pqm8j63y07jxj7txqeac982778rmt64f32aum94x"
describe "PIN generator" $ do describe "PIN generator" $ do
it "should give a 7 digit" $ do it "should give a 7 digit" $ do
pin <- generatePin pin <- generatePin