mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
new db
new database fift/func bugfixes
This commit is contained in:
parent
950e292264
commit
e30d98eb30
110 changed files with 6102 additions and 2075 deletions
|
@ -32,8 +32,8 @@ struct BlockHandleInterface {
|
|||
public:
|
||||
virtual BlockIdExt id() const = 0;
|
||||
virtual bool received() const = 0;
|
||||
virtual bool moved_to_storage() const = 0;
|
||||
virtual bool moved_to_archive() const = 0;
|
||||
virtual bool handle_moved_to_archive() const = 0;
|
||||
virtual bool deleted() const = 0;
|
||||
virtual bool inited_next_left() const = 0;
|
||||
virtual bool inited_next_right() const = 0;
|
||||
|
@ -49,6 +49,7 @@ struct BlockHandleInterface {
|
|||
virtual bool inited_split_after() const = 0;
|
||||
virtual bool inited_merge_before() const = 0;
|
||||
virtual bool inited_is_key_block() const = 0;
|
||||
virtual bool inited_masterchain_ref_block() const = 0;
|
||||
virtual bool split_after() const = 0;
|
||||
virtual bool merge_before() const = 0;
|
||||
virtual bool is_key_block() const = 0;
|
||||
|
@ -60,6 +61,7 @@ struct BlockHandleInterface {
|
|||
virtual bool is_zero() const = 0;
|
||||
virtual bool is_archived() const = 0;
|
||||
virtual bool is_applied() const = 0;
|
||||
virtual BlockSeqno masterchain_ref_block() const = 0;
|
||||
virtual std::vector<BlockIdExt> prev() const = 0;
|
||||
virtual BlockIdExt one_prev(bool left) const = 0;
|
||||
virtual std::vector<BlockIdExt> next() const = 0;
|
||||
|
@ -83,8 +85,8 @@ struct BlockHandleInterface {
|
|||
virtual void set_next(BlockIdExt next) = 0;
|
||||
virtual void set_prev(BlockIdExt prev) = 0;
|
||||
virtual void set_received() = 0;
|
||||
virtual void set_moved_to_storage() = 0;
|
||||
virtual void set_moved_to_archive() = 0;
|
||||
virtual void set_handle_moved_to_archive() = 0;
|
||||
virtual void set_deleted() = 0;
|
||||
virtual void set_split(bool value) = 0;
|
||||
virtual void set_merge(bool value) = 0;
|
||||
|
@ -94,6 +96,7 @@ struct BlockHandleInterface {
|
|||
virtual void set_deleted_state_boc() = 0;
|
||||
virtual void set_archived() = 0;
|
||||
virtual void set_applied() = 0;
|
||||
virtual void set_masterchain_ref_block(BlockSeqno seqno) = 0;
|
||||
|
||||
virtual void unsafe_clear_applied() = 0;
|
||||
virtual void unsafe_clear_next() = 0;
|
||||
|
|
|
@ -72,9 +72,9 @@ class Db : public td::actor::Actor {
|
|||
virtual void get_block_handle(BlockIdExt id, td::Promise<BlockHandle> promise) = 0;
|
||||
|
||||
virtual void apply_block(BlockHandle handle, td::Promise<td::Unit> promise) = 0;
|
||||
virtual void get_block_by_lt(AccountIdPrefixFull account, LogicalTime lt, td::Promise<BlockIdExt> promise) = 0;
|
||||
virtual void get_block_by_unix_time(AccountIdPrefixFull account, UnixTime ts, td::Promise<BlockIdExt> promise) = 0;
|
||||
virtual void get_block_by_seqno(AccountIdPrefixFull account, BlockSeqno seqno, td::Promise<BlockIdExt> promise) = 0;
|
||||
virtual void get_block_by_lt(AccountIdPrefixFull account, LogicalTime lt, td::Promise<BlockHandle> promise) = 0;
|
||||
virtual void get_block_by_unix_time(AccountIdPrefixFull account, UnixTime ts, td::Promise<BlockHandle> promise) = 0;
|
||||
virtual void get_block_by_seqno(AccountIdPrefixFull account, BlockSeqno seqno, td::Promise<BlockHandle> promise) = 0;
|
||||
|
||||
virtual void update_init_masterchain_block(BlockIdExt block, td::Promise<td::Unit> promise) = 0;
|
||||
virtual void get_init_masterchain_block(td::Promise<BlockIdExt> promise) = 0;
|
||||
|
@ -95,11 +95,25 @@ class Db : public td::actor::Actor {
|
|||
virtual void update_hardforks(std::vector<BlockIdExt> blocks, td::Promise<td::Unit> promise) = 0;
|
||||
virtual void get_hardforks(td::Promise<std::vector<BlockIdExt>> promise) = 0;
|
||||
|
||||
virtual void archive(BlockIdExt block_id, td::Promise<td::Unit> promise) = 0;
|
||||
virtual void archive(BlockHandle handle, td::Promise<td::Unit> promise) = 0;
|
||||
|
||||
virtual void prepare_stats(td::Promise<std::vector<std::pair<std::string, std::string>>> promise) = 0;
|
||||
|
||||
virtual void truncate(td::Ref<MasterchainState> state, td::Promise<td::Unit> promise) = 0;
|
||||
|
||||
virtual void add_key_block_proof(td::Ref<Proof> proof, td::Promise<td::Unit> promise) = 0;
|
||||
virtual void add_key_block_proof_link(td::Ref<ProofLink> proof_link, td::Promise<td::Unit> promise) = 0;
|
||||
virtual void get_key_block_proof(BlockIdExt block_id, td::Promise<td::Ref<Proof>> promise) = 0;
|
||||
virtual void get_key_block_proof_link(BlockIdExt block_id, td::Promise<td::Ref<ProofLink>> promise) = 0;
|
||||
virtual void check_key_block_proof_exists(BlockIdExt block_id, td::Promise<bool> promise) = 0;
|
||||
virtual void check_key_block_proof_link_exists(BlockIdExt block_id, td::Promise<bool> promise) = 0;
|
||||
|
||||
virtual void get_archive_id(BlockSeqno masterchain_seqno, td::Promise<td::uint64> promise) = 0;
|
||||
virtual void get_archive_slice(td::uint64 archive_id, td::uint64 offset, td::uint32 limit,
|
||||
td::Promise<td::BufferSlice> promise) = 0;
|
||||
virtual void set_async_mode(bool mode, td::Promise<td::Unit> promise) = 0;
|
||||
|
||||
virtual void run_gc(UnixTime ts) = 0;
|
||||
};
|
||||
|
||||
} // namespace validator
|
||||
|
|
|
@ -29,6 +29,7 @@ class ProofLink : public td::CntObject {
|
|||
public:
|
||||
struct BasicHeaderInfo {
|
||||
UnixTime utime;
|
||||
LogicalTime end_lt;
|
||||
CatchainSeqno cc_seqno;
|
||||
td::uint32 validator_set_hash;
|
||||
BlockSeqno prev_key_mc_seqno;
|
||||
|
|
|
@ -147,6 +147,8 @@ class ValidatorManager : public ValidatorManagerInterface {
|
|||
virtual void allow_block_candidate_gc(BlockIdExt block_id, td::Promise<bool> promise) = 0;
|
||||
virtual void allow_block_info_gc(BlockIdExt block_id, td::Promise<bool> promise) = 0;
|
||||
|
||||
virtual void archive(BlockHandle handle, td::Promise<td::Unit> promise) = 0;
|
||||
|
||||
virtual void check_is_hardfork(BlockIdExt block_id, td::Promise<bool> promise) = 0;
|
||||
virtual void get_vertical_seqno(BlockSeqno seqno, td::Promise<td::uint32> promise) = 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue