helium/maker-starter-app

Allow Makers to deeplink to Helium to sign transactions

cokes518 opened this issue · 0 comments

For improved security best practices, we should remove the part of the onboarding flow where users enter their 12 words into a maker app, and instead, have the maker app request a helium wallet to sign transactions with the user's private key.

The onboarding flow for the maker app would start with linking a wallet address with the maker app with CTA to link from a supported Helium wallet app, or download a supported Helium wallet app.

Users will be asked to approve/link to the maker app from a Helium wallet app. The two apps are now linked together and can sign transactions on behalf of the maker app.

Transactions we'll support in this starter app:
add_gateway
transfer_hotspot_v2
assert_location

Example flow (once linked):
user adds a Hotspot (maker app) > partial transaction deep linked to Helium app > user confirms transaction on Helium app > passes back partial transaction back to maker app > maker app submits transaction to the blockchain using the maker's desired API endpoint, hitting their desired onboarding server.

user updates a Hotspot location (maker app) > partial transaction deep linked to Helium app > user confirms transaction on Helium app > passes back partial transaction back to maker app > maker app submits transaction to the blockchain using the maker's desired API endpoint

User imitates transfer_hotspot_v2 transaction (maker app) > partial transaction deep linked to Helium app > user confirms transaction on Helium app > passes back partial transaction back to maker app > maker app submits transaction to the blockchain using the maker's desired API endpoint