also for keyvalue
This commit is contained in:
parent
9aa90a45e9
commit
0052703c0a
|
@ -83,6 +83,10 @@ impl KeyValueDatabase for MemoryDatabase {
|
||||||
KeyValue::TransactionMeta(key, value) => { db.transaction_meta.insert(key, KeyState::Insert(value)); },
|
KeyValue::TransactionMeta(key, value) => { db.transaction_meta.insert(key, KeyState::Insert(value)); },
|
||||||
KeyValue::BlockNumber(key, value) => { db.block_number.insert(key, KeyState::Insert(value)); },
|
KeyValue::BlockNumber(key, value) => { db.block_number.insert(key, KeyState::Insert(value)); },
|
||||||
KeyValue::Configuration(key, value) => { db.configuration.insert(key, KeyState::Insert(value)); },
|
KeyValue::Configuration(key, value) => { db.configuration.insert(key, KeyState::Insert(value)); },
|
||||||
|
KeyValue::Nullifier(key) => match key.tag() {
|
||||||
|
NullifierTag::Sprout => { db.sprout_nullifiers.insert(*key.hash(), KeyState::Insert(())); },
|
||||||
|
NullifierTag::Sapling => { db.sapling_nullifiers.insert(*key.hash(), KeyState::Insert(())); },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Operation::Delete(delete) => match delete {
|
Operation::Delete(delete) => match delete {
|
||||||
Key::Meta(key) => { db.meta.insert(key, KeyState::Delete); }
|
Key::Meta(key) => { db.meta.insert(key, KeyState::Delete); }
|
||||||
|
@ -97,7 +101,7 @@ impl KeyValueDatabase for MemoryDatabase {
|
||||||
NullifierTag::Sprout => { db.sprout_nullifiers.insert(*key.hash(), KeyState::Delete); },
|
NullifierTag::Sprout => { db.sprout_nullifiers.insert(*key.hash(), KeyState::Delete); },
|
||||||
NullifierTag::Sapling => { db.sapling_nullifiers.insert(*key.hash(), KeyState::Delete); },
|
NullifierTag::Sapling => { db.sapling_nullifiers.insert(*key.hash(), KeyState::Delete); },
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
@ -32,6 +32,7 @@ pub enum KeyValue {
|
||||||
TransactionMeta(H256, TransactionMeta),
|
TransactionMeta(H256, TransactionMeta),
|
||||||
BlockNumber(H256, u32),
|
BlockNumber(H256, u32),
|
||||||
Configuration(&'static str, Bytes),
|
Configuration(&'static str, Bytes),
|
||||||
|
Nullifier(Nullifier),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
@ -232,6 +233,10 @@ impl<'a> From<&'a KeyValue> for RawKeyValue {
|
||||||
KeyValue::BlockTransactions(ref key, ref value) => (COL_BLOCK_TRANSACTIONS, serialize(key), serialize(value)),
|
KeyValue::BlockTransactions(ref key, ref value) => (COL_BLOCK_TRANSACTIONS, serialize(key), serialize(value)),
|
||||||
KeyValue::Transaction(ref key, ref value) => (COL_TRANSACTIONS, serialize(key), serialize(value)),
|
KeyValue::Transaction(ref key, ref value) => (COL_TRANSACTIONS, serialize(key), serialize(value)),
|
||||||
KeyValue::TransactionMeta(ref key, ref value) => (COL_TRANSACTIONS_META, serialize(key), serialize(value)),
|
KeyValue::TransactionMeta(ref key, ref value) => (COL_TRANSACTIONS_META, serialize(key), serialize(value)),
|
||||||
|
KeyValue::Nullifier(ref key) => match key.tag() {
|
||||||
|
NullifierTag::Sprout => (COL_SPROUT_NULLIFIERS, serialize(key.hash()), Bytes::new()),
|
||||||
|
NullifierTag::Sapling => (COL_SAPLING_NULLIFIERS, serialize(key.hash()), Bytes::new()),
|
||||||
|
},
|
||||||
KeyValue::BlockNumber(ref key, ref value) => (COL_BLOCK_NUMBERS, serialize(key), serialize(value)),
|
KeyValue::BlockNumber(ref key, ref value) => (COL_BLOCK_NUMBERS, serialize(key), serialize(value)),
|
||||||
KeyValue::Configuration(ref key, ref value) => (COL_CONFIGURATION, serialize(key), serialize(value)),
|
KeyValue::Configuration(ref key, ref value) => (COL_CONFIGURATION, serialize(key), serialize(value)),
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue