walletKey
miningAddressKey
coinbaseAbKey
- recoveryKey
+ // recoveryKey
)
// leveldb key prefix
WalletKey = []byte{walletKey}
MiningAddressKey = []byte{miningAddressKey}
CoinbaseAbKey = []byte{coinbaseAbKey}
- RecoveryKey = []byte{recoveryKey}
+ // RecoveryKey = []byte{recoveryKey}
+ RecoveryKey = []byte("RecoveryInfo")
)
const (
}
// SetRecoveryStatus set recovery status
-func (store *WalletStore) SetRecoveryStatus(recoveryKey, rawStatus []byte) {
+func (store *WalletStore) SetRecoveryStatus(recoveryState *wallet.RecoveryState) error {
+ rawStatus, err := json.Marshal(recoveryState)
+ if err != nil {
+ return err
+ }
if store.batch == nil {
- store.walletDB.Set(recoveryKey, rawStatus)
+ store.walletDB.Set(dbm.RecoveryKey, rawStatus)
} else {
- store.batch.Set(recoveryKey, rawStatus)
+ store.batch.Set(dbm.RecoveryKey, rawStatus)
}
+ return nil
}
// SetTransaction set raw transaction by block height and tx position
}
func (m *recoveryManager) commitStatusInfo() error {
- rawStatus, err := json.Marshal(m.state)
- if err != nil {
- return err
- }
+ // rawStatus, err := json.Marshal(m.state)
+ // if err != nil {
+ // return err
+ // }
- m.store.SetRecoveryStatus(recoveryKey, rawStatus)
- return nil
+ // m.store.SetRecoveryStatus(recoveryKey, rawStatus)
+
+ return m.store.SetRecoveryStatus(m.state)
}
func genAcctAlias(xPubs []chainkd.XPub, index uint64) string {
SetAssetDefinition(*bc.AssetID, []byte)
SetContractUTXO(bc.Hash, *acc.UTXO) error
SetGlobalTransactionIndex(string, *bc.Hash, uint64)
- SetRecoveryStatus([]byte, []byte) // recoveryManager.state isn't exported outside
+ SetRecoveryStatus(*RecoveryState) error // recoveryManager.state isn't exported outside
SetTransaction(uint64, *query.AnnotatedTx) error
SetUnconfirmedTransaction(string, *query.AnnotatedTx) error
SetWalletInfo(*StatusInfo) error
}
// SetRecoveryStatus set recovery status
-func (store *MockWalletStore) SetRecoveryStatus(recoveryKey, rawStatus []byte) {
+func (store *MockWalletStore) SetRecoveryStatus(recoveryState *RecoveryState) error {
+ rawStatus, err := json.Marshal(recoveryState)
+ if err != nil {
+ return err
+ }
if store.batch == nil {
- store.walletDB.Set(recoveryKey, rawStatus)
+ store.walletDB.Set(dbm.RecoveryKey, rawStatus)
} else {
- store.batch.Set(recoveryKey, rawStatus)
+ store.batch.Set(dbm.RecoveryKey, rawStatus)
}
+ return nil
}
// SetTransaction set raw transaction by block height and tx position