# Technical specification ## General specification 1. Product name: Fire-exit ## Technical specification - [ ] Programming language: Swift 5.5 - [ ] Platforms support: - [ ] iOS 13.0 - [ ] macOS 10.15 - [ ] watchOS 7.0 - [ ] Сhain support: - [ ] Ethereum - [ ] Polygon - [ ] Binance Smart Chain - [ ] Arbitrum - [ ] TRON - [ ] Solana - [ ] Optimism - [ ] Allowed third-party dependencies (all but Apple): - [ ] Web3Swift - [ ] BigUInt - [ ] CryptoSwift ## Functional specification Utility should provide follow features: 1. [ ] Private key, mnemonics import from pasteboard. 2. [ ] Action to search and prompt to a user all assets on chains in the list above, reachable within given private key. 3. [ ] Action to move all reachable assets to a new address given by a user with accordance to chain specific (optional, there's a possibility that there's no way to implement such for all chains above without having access to private key of a destination wallet). ## UX specification 1. [ ] Utility should have simple yet complete graphic user interface. 2. [ ] Utility should have two separate screens 1. [ ] Screen that incapsulates functional specification p. 1, 2. 2. [ ] Screen that incapsulates functional specification p. 3. 3. [ ] There should be implemented ability to move reset state of an utility to it's default state. ## Security specification 1. [ ] Private key must not left user device in any way (plain, encrypted, split) except as being mapped to a public key. 2. [ ] Information about reachable assets should not be either stored or accumulated on any third-party server rather a service. 3. [ ] On assets transfer utility should guarantee that given new address is exist and do not differ from appropriate user input.