Pull the Moonfish repo (this one) and the following repos containing Swift Packages in the same parent directory (E.g. Developer):
Place all repos in a shared directory like so:
Developer
|- Moonfish
|- MFShared
|- Wallet
|- Ethereum
|- MimeParser
Open Moonfish.xcodeproj and the MFShared, Wallet, Ethereum, and MimeParser packages should automatically appear as a local dependency in the Moonfish Xcode project. Edit the packages in the Moonfish Xcode project. You shouldn't be able to open MFShared separately when Moonfish.xcodeproj is open.
Moonfishis the main repo. The idea is to limit the code in this repo to UI related code as much as possible, as merging.xcodeprojfiles is a PITA. Moonfish contains the app extensions, such as the Safari Extension and the Mail Extension.MFSharedcontains non-crypto code shared by the containing app and the extensions.Walletcontains the keystore and BIP32 related code that is shared by all blockchainsEthereumcontains all Ethereum specific code.MimeParsercontains all Mime parsing code.
The containing app provides basic wallet services for coins, tokens and NFTs.
Signed and/or encrypted messages are wrapped in a RFC 3156 compliant MIME format. The signature and encrypted data are stored in armor format as described in RFC 4880. Note that RFC 4880 doesn't support Ethereum signed or encrypted messages. The way Moonfish stores data in the armor is not final yet. Relevant code can be found in package Wallet.
Signing is conform EIP 712. Relevant code can be found in package Ethereum.
As defined by login.xyz and EIP 4361
Source
This finder extension makes using IPFS as easy as Dropbox of iCloud Drive.
Source
Create new keys, add new blockchains to your wallet. Long term goal: to get Moonfish in the Internet Account Settings pane in Settings.