Commit e37459a
committed
Moor — a USD₮ wallet with no account to be locked out of
Two stacks that have not been combined in public before, running in one Bare
worklet on a phone, from one twelve-word recovery phrase: WDK moves the
money, Holepunch moves everything else. Your money, your contact list and
your ability to be reached are all derived from those twelve words rather
than stored on somebody's server.
What works, measured rather than asserted:
- An account holding zero wei of ETH sends USD₮0 on Arbitrum One, fee paid
in USD₮ through an ERC-4337 bundler and a paymaster in token mode. On
chain, from the app, three times.
- Contacts sync between an iPhone and an Android emulator on the same seed,
through a blind peer that cannot read a byte of them.
- A laptop peer the phone had never met asked it for 25 USD₮; the phone
showed it in about a second and a half. A stranger is refused before the
Noise handshake completes — the contact list is the firewall.
- Two people introduce themselves with a QR carrying an address and a
HyperDHT peer key. The card renders on a phone and decodes off the screen
at 126 characters.
What does not:
- An account's FIRST send fails with AA20. WDK prices a transfer before it
signs the EIP-7702 authorization, and the pricing call omits it, so the
bundler simulates an EOA with no code. Upstream, SPEC finding 16.
- The camera capture path has never been run — the Simulator has no camera.
- Payment requests are verified on iOS only.
Eleven tests in lab/ establish every architectural claim before the app
relies on it; six run in CI. Nineteen findings, nine filed across three WDK
repos. infra/blind-peer publishes the mirror we operate, key included, so
the sync half works for anyone who clones this — including apps that are not
Moor.
Not audited. It holds real money. SECURITY.md says exactly what is at risk.0 parents commit e37459a
63 files changed
Lines changed: 24137 additions & 0 deletions
File tree
- .github/workflows
- app
- modules/pay-requests
- src
- screens
- wdk
- docs/screens
- infra/blind-peer
- lab
- upstream
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
0 commit comments