# Card No 11. 優化及調整項目
## API readTransaction 調整
- [ ] Done
```
readTransaction(blockchain: .ethereum, address: addressEth, type: .normal, provider: providerFVApiService) // #1
readTransaction(blockchain: .ethereum, address: addressEth, type: .token, provider: providerFVApiService) // #2
readTransaction(blockchain: .tron, address: addressTron, type: .normal, provider: providerFVApiService) // #3
readTransaction(blockchain: .tron, address: addressTron, type: .token, provider: providerFVApiService) // #4
```
**將FVApiService 區分 normal 和 token:**
readTransaction
readTokenTransaction
**參數調整成:**
case readTransaction(blockchain: Blockchain, address: String)
case readTokenTransaction(blockchain: Blockchain, address: String, contractAddress:String)
**TargetType 裡面**
1. readTransaction,path 的路徑,直接寫入 normal or token,TransactionType 請移除 (考量後續會有更多擴充幣種,這隻 api 對於 TransactionType 變種很多。方便之後記憶與呼叫,不同的 TransactionType 就分開 case 即可)
3. readTokenTransaction,path 加上 query string,帶入 contract address
**回傳結構請對應 api 文件列的四種,以下截圖:**
(Examples 那裡可以下拉選則)
Eth normal:

Eth token:

Tron normal:

Tron token:

## API readPendingNonce 調整
- [ ] Done
address 是 query string , 要帶入
## 生物辨識調整
- [ ] Done
當用戶辨識錯誤或是按下輸入安全密碼,退回到輸入密碼畫面,此時不驗證並返回手機首頁
再次回到 app 時,打開生物辨識
**這兩個參數用來確認是否show 在前景,不是很適合:**
showSecuredPassCode
isSecuredPassCodeShown
**-> 討論後確定在didFinishLaunchingWithOptions 統一回覆成 false ,方便實作**
### 額外說明
isAppPassCodeCreated -> 用於判斷用戶有否『第一次』設定 pass code
applyAppPassCodeCreated -> 用戶設置好 pass code , 無條件都引用它
applyBiometricScreenLock(bool) -> 對應 switch 有無打開生物辨識
isUsedBiometricScreenLock -> 判斷有無打開生物辨識
applyScreenLock(bool) -> 對應 switch 有無打開螢幕鎖定
isUsedScreenLock -> 判斷有無打開螢幕鎖定
## Pass Code TextField keyboard type 優化
- [ ] Done
1. 調整成 number pad
2. number pad 無 return 按鍵,點擊空白處消失鍵盤
3. 進入設置時,看是否可以自動彈出鍵盤
4. 呈上,第二次確認 pass code 時,也試試看