Skip to content

Commit 1e9caa5

Browse files
authored
Merge pull request #669 from kdmukai/verify_p2tr_addresses_v2
[New Feature] Enable basic p2tr address verification
2 parents 8679461 + b541112 commit 1e9caa5

File tree

2 files changed

+22
-17
lines changed

2 files changed

+22
-17
lines changed

src/seedsigner/views/seed_views.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1722,8 +1722,8 @@ def run(self):
17221722
destination = Destination(SeedSelectSeedView, view_args=dict(flow=Controller.FLOW__VERIFY_SINGLESIG_ADDR), skip_current_view=True)
17231723

17241724
elif self.controller.unverified_address["script_type"] == SettingsConstants.TAPROOT:
1725-
# TODO: add Taproot support
1726-
return Destination(NotYetImplementedView)
1725+
sig_type = SettingsConstants.SINGLE_SIG
1726+
destination = Destination(SeedSelectSeedView, view_args=dict(flow=Controller.FLOW__VERIFY_SINGLESIG_ADDR), skip_current_view=True)
17271727

17281728
derivation_path = embit_utils.get_standard_derivation_path(
17291729
network=self.controller.unverified_address["network"],
@@ -1816,10 +1816,6 @@ def __init__(self, seed_num: int = None):
18161816
self.sig_type = self.controller.unverified_address["sig_type"]
18171817
self.network = self.controller.unverified_address["network"]
18181818

1819-
if self.script_type == SettingsConstants.TAPROOT:
1820-
# TODO: Taproot addr verification
1821-
return Destination(NotYetImplementedView)
1822-
18231819
# TODO: This should be in `Seed` or `PSBT` utility class
18241820
embit_network = SettingsConstants.map_network_to_embit(self.network)
18251821

tests/test_flows_tools.py

+20-11
Original file line numberDiff line numberDiff line change
@@ -257,16 +257,25 @@ def test__verify_address__singlesig__flow(self):
257257
settings = controller.settings
258258
settings.set_value(SettingsConstants.SETTING__NETWORK, SettingsConstants.REGTEST)
259259

260-
def load_address_into_decoder(view: scan_views.ScanView):
260+
addrs = [
261261
# Native segwit regtest receive addr @ index 6
262-
view.decoder.add_data("bcrt1q4e9q5taxnsvc6m0uxv6h75mkzvnkxeqk6l90u2")
262+
"bcrt1q4e9q5taxnsvc6m0uxv6h75mkzvnkxeqk6l90u2",
263263

264-
self.run_sequence([
265-
FlowStep(MainMenuView, button_data_selection=MainMenuView.TOOLS),
266-
FlowStep(tools_views.ToolsMenuView, button_data_selection=tools_views.ToolsMenuView.VERIFY_ADDRESS),
267-
FlowStep(scan_views.ScanAddressView, before_run=load_address_into_decoder), # simulate read address QR
268-
FlowStep(seed_views.AddressVerificationStartView, is_redirect=True),
269-
FlowStep(seed_views.SeedSelectSeedView, screen_return_value=0),
270-
FlowStep(seed_views.SeedAddressVerificationView),
271-
FlowStep(seed_views.SeedAddressVerificationSuccessView),
272-
])
264+
# Taproot regtest change addr @ index 48
265+
"bcrt1pj5v8ean2hc5lh2djsgfx4j9uc0n67942ngv6q9r49qv88ex5mrwsn3u4f7",
266+
]
267+
268+
for test_addr in addrs:
269+
def load_address_into_decoder(view: scan_views.ScanView):
270+
# Native segwit regtest receive addr @ index 6
271+
view.decoder.add_data(test_addr)
272+
273+
self.run_sequence([
274+
FlowStep(MainMenuView, button_data_selection=MainMenuView.TOOLS),
275+
FlowStep(tools_views.ToolsMenuView, button_data_selection=tools_views.ToolsMenuView.VERIFY_ADDRESS),
276+
FlowStep(scan_views.ScanAddressView, before_run=load_address_into_decoder), # simulate read address QR
277+
FlowStep(seed_views.AddressVerificationStartView, is_redirect=True),
278+
FlowStep(seed_views.SeedSelectSeedView, screen_return_value=0),
279+
FlowStep(seed_views.SeedAddressVerificationView),
280+
FlowStep(seed_views.SeedAddressVerificationSuccessView),
281+
])

0 commit comments

Comments
 (0)